Complexité de la communication

La complexité de la communication ou complexité de communication est une notion étudiée en informatique théorique. Le dispositif abstrait classique est le suivant : Alice et Bob ont chacun un message, et ils veulent calculer un nouveau message à partir de leurs messages, en se transmettant un minimum d'information. Par exemple, Alice et Bob reçoivent un mot chacun, et ils doivent décider s'ils ont reçu le même mot ; ils peuvent bien sûr s'envoyer leur mot l'un à l'autre et comparer, mais la question est de minimiser le nombre de messages.

Utiliser une ressources en communication est le fait d'envoyer une information à l'autre. Alice peut ainsi envoyer la première lettre de son mot à bob, ceci a un coût de 1.

La théorie de la complexité de communication a donc pour but de calculer quelles sont les ressources en communication nécessaires pour effectuer certaines tâches dans un contexte de calcul distribué. Contrairement à la théorie de la complexité classique, on ne compte pas les ressources nécessaires aux calculs (temps et espace par exemple).

Cette notion a été définie en 1979 par Andrew Yao et est utilisée notamment pour l'étude des algorithmes en ligne et le design des circuits VLSI.

Définitions formelles

modifier

Protocole

modifier

Soit trois ensembles  ,   et  , et une fonction  , typiquement   et  . Alice reçoit un élément de   et Bob un élément de  , et ils veulent calculer   (Alice et Bob sont appelés les « joueurs »).

Un protocole qui calcule   est une décomposition d'étapes. Dans chaque étape, Alice (resp. Bob) calcule en fonction de son entrée   et des bits déjà échangés et décide soit de terminer car elle a fini de calculer soit d'envoyer un bit à Bob (resp. Alice). Un protocole se représente généralement sous la forme d'un arbre. Un exemple est donné ci-dessous. Les nœuds de l'arbre sont étiquetés   si c'est Alice qui calcule ou   si c'est Bob. Les arêtes sont étiquetées 1 si le bit envoyé vaut 1 et zéro s'il vaut zéro.

Selon les modèles, on peut accepter un protocole qui est correct seulement avec une bonne probabilité ou utilisant même des bits quantiques. Il existe aussi des généralisations avec plus de deux joueurs[1].

 
Un arbre pour le protocole de EQ2

Complexité d'un protocole

modifier

La complexité d'un protocole est le nombre de bit échangés dans le pire cas. Sur l'arbre représentant le protocole, la complexité du protocole est la profondeur de l’arbre.

Sur l'exemple précédent, le protocole a un coût de trois.

Les différentes formes

modifier

Cas déterministe

modifier

Dans le cas déterministe la complexité de communication d'une fonction  , notée  , est le nombre de bits échangés en utilisant un protocole déterministe. C'est la notion la plus classique, et la plus restrictive des trois notions définies ici.

Cas probabiliste

modifier

Dans le cas probabiliste, on note la complexité   (pour randomized). Dans ce cas Alice et Bob peuvent utiliser des sources de bits aléatoires pour faire leur calculs (comme pour les algorithmes probabilistes), et le protocole est considéré satisfaisant si la probabilité d'une bonne réponse est supérieure à une certaine constante. Selon le modèle, les joueurs peuvent partager leurs sources de bits aléatoires (on parle alors de public coin protocol) ou pas (private coin protocol).

Cas quantique

modifier

Il existe plusieurs modèles de complexité de la communication utilisant les notions d'informatique quantique, notamment par l'échange de qubits à la place des bits, ou encore le partage de qubit intriqués.

Bornes inférieures

modifier

Dans la théorie de la complexité plus classique, prouver des bornes inférieures sur la difficulté des problèmes peut se révéler très difficile, comme l'illustre le problème P=NP. Il est parfois facile d'obtenir des bornes inférieures pour la complexité de la communication. Pour cela, il existe deux méthodes classiques.

Rectangles combinatoires

modifier

Un rectangle combinatoire est le produit d'un sous ensemble   de   et d'un sous ensemble   de   tel que:

 

Un protocole crée une partition en rectangle combinatoire grâce au fait que l'ensemble des éléments est un rectangle combinatoire. En appelant   (rep.  ) l'ensemble des éléments de   (resp.  ) tel qu'un élément de   (rep.  ), tous les éléments ( , ) ont la même réponse. L'idée est que le   (resp.  ) conduit à la feuille pour les nœuds d'Alice (resp. Bob).

Ainsi si on prouve qu'il n'existe pas de partition en moins de n rectangles combinatoires, alors le coût minimal d'un protocole est au moins  .

Rang de la matrice

modifier

Le rang de la matrice ci-dessus est aussi une source de bornes inférieur.

La propriété de Logrank est la suivante:

 
le coût minimal d'un protocole est  

La réciproque est une conjecture et n'a pas été démontré à l'heure actuelle.

Exemples

modifier

L’égalité

modifier

On veut calculer  , qui vaut 1 si   et 0 sinon.

Un protocole simple est qu’Alice envoie   à Bob, et que Bob calcule le résultat et le renvoie. Ce protocole a un coût de   (Alice envoie   bits, et Bob doit en envoyer un). L'arbre de ce protocole est l'exemple donné précédemment.

On peut montrer que ce protocole est optimal dans le cas déterministe (ce que l’on peut montrer grâce à la propriété utilisant les rectangles combinatoires ci-dessus), mais il existe un protocole plus efficace dans le cas probabiliste[réf. nécessaire] (qui fait appel à une fonction de hashage).

La disjonction

modifier

On veut calculer  , qui vaut 1 si   (où   et   sont interprétés comme un tableau de booléens définissant des ensembles) et 0 sinon.

Un protocole simple est, comme précédemment, qu’Alice envoie   à Bob, et que Bob renvoie le résultat. La complexité est à nouveau de  .

Ce protocole est optimal dans le cas déterministe, mais il existe un meilleur algorithme dans le cas probabiliste (mais lui aussi linéaire)[2].

Historique

modifier
 
Andrew Yao

La complexité de la communication a été inventée en 1979 par Andrew Yao dans l'article Some Complexity Questions Related to Distributed Computing[3]. Yao a reçu le prix Turing en 2000 pour ses travaux, notamment dans ce domaine[4].

Applications

modifier

Les résultats de complexité de communication sont utilisés sur dans le domaine théorique pour faire le lien entre les bornes inférieures issues de différents modèles de calculs comme les machines de Turing, les arbres de décision, les branching programs etc. ; on en a vu un exemple ci-dessus.

On peut aussi obtenir des bornes pour les algorithmes de fouille de données et les algorithmes en ligne[5].

Exemple : Taille minimale d’un automate

modifier

Un exemple d’application de la complexité de la communication est une preuve de borne inférieure sur le nombre d’états d’un automate fini.

On suppose que l’on a un automate   qui reconnait le langage  . On peut alors construire un protocole pour   avec   bits de communication :

  • Alice exécute l’automate   sur  
  • Alice transmet le numéro de l’état de A après l’exécution à Bob :   bits (en donnant par exemple son indice en base 2)
  • Bob termine l’exécution, et peut en déduire si   en testant si l’automate est dans un état final ou non.

Or, on a vu que pour résoudre  , il faut au moins   bits de communication, d’où  , donc  , donc  

Bibliographie

modifier

Articles

modifier
  • Andrew Chi-Chih Yao, « Some complexity questions related to distributive computing », dans Proceedings of the eleventh annual ACM symposium on Theory of computing, , p. 209-213

Ouvrages

modifier
  • Marc Kaplan, Méthodes Combinatoires et Algébriques en Complexité de la Communication (thèse de doctorat en Sciences), Université Paris-Sud XI, (lire en ligne)

Notes et références

modifier
  1. (Kushilevitz et Nisan 2006), chap. 6 "Multiparty Communication Complexity"
  2. Bala Kalyanasundaram et Georg Schintger, « The Probabilistic Communication Complexity of Set Intersection », SIAM Journal on Discrete Mathematics, vol. 5, no 4,‎ , p. 545 (DOI 10.1137/0405044)
  3. (Yao 1979)
  4. Page de l'ACM sur Andrew Yao pour son prix Turing en 2000.
  5. Iordanis Kerenidis, Frédéric Magniez et David Xiao, « Complexité de communication », dans Informatique Mathématique : une photographie en 2014, Presses Universitaires de Perpignan (ISBN 978-2-35412-228-7)

Liens externes

modifier