Az elméleti számítástechnikában a kommunikációs komplexitás azt vizsgálja, hogy mennyi kommunikáció szükséges egy olyan probléma megoldásához, amelynek paraméterei megoszlanak két vagy több fél között. Ezt a fogalmat Andrew Yao vezette be 1979-ben [1] , aki a következő problémát vizsgálta két résztvevőnél, akiket hagyományosan Alice és Bobnak hívnak . Alice egy n bites x karakterláncot, Bob pedig egy n bites y karakterláncot kap , és az a céljuk , hogy az egyikük (például Bob) egy definiált és mindkét fél által ismert függvényt számoljon ki a legkevesebb kommunikáció mellett . . Természetesen mindig így is számolhatnak : Alice elküldi a teljes n-bites karakterláncát Bobnak, aki ezután kiértékeli a függvényt . Ezért a feladat e megfogalmazásánál érdekes, hogy mely f függvényekre van mód n bitnél kevesebb átvitellel számítani. Fontos megjegyezni, hogy ebben a feladatban nem érdekel minket az Alice vagy Bob által végzett számítások bonyolultsága , vagy az ezekhez a számításokhoz használt memória mérete.
Ez az elvont két résztvevős probléma (amelyet két résztvevős kommunikációs komplexitásnak neveznek) és általános formája sok résztvevővel a számítástechnika különböző területein merül fel: például a nagyméretű integrált áramkörök tervezésénél a felhasznált energia minimalizálásának szükségessége a a különböző komponensek közötti elektromos jelek száma az elosztott számítás során. A kommunikációs komplexitást az adatstruktúrák és algoritmusok tanulmányozásában, a számítógépes hálózatok optimalizálásában, a számítási komplexitás és a bizonyítási komplexitás elméletében és más területeken is alkalmazzák.
Legyen kezdetben adott valamilyen függvény , ahol a legtipikusabb utasításban . Alice kap , Bob kap . Alice és Bob egy bitenkénti üzenetváltással (valamilyen előre meghatározott kommunikációs protokoll használatával ) úgy akarják kiszámítani az értéket , hogy a kommunikáció végén legalább egyikük tudja az értéket .
A függvény kiszámításának kommunikációs bonyolultságát , amelyet jelöl , a kommunikációs bitek minimális számaként határozzuk meg, amely a legrosszabb esetben is elegendő a probléma megoldásához (vagyis ez a bitszám elegendő bármely párhoz ).
E definíció alapján célszerű az f függvényt az A mátrix által adott függvénynek tekinteni , amelyben a sorok elemekkel , az oszlopok pedig elemekkel vannak indexelve . Ennek a mátrixnak az x és y elemekkel indexelt celláiba a megfelelő f értéke van írva , azaz . Alice és Bob ismeri az f függvényt , ezért ismeri az A mátrixot . Ezután Alice az x sorszámot , Bob pedig az y oszlopszámot kapja , és a feladatuk az, hogy meghatározzák a megfelelő cellába írt értéket. Ezért, ha valamelyik játékos egyszerre ismeri az oszlop- és a sorszámot, akkor a megfelelő cellában lévő értéket is tudni fogja. A kommunikáció kezdetén minden játékos semmit nem tud a másik játékos számáról, így Alice szemszögéből a válasz tetszőleges érték lehet az x sorban, Bob szemszögéből pedig az y oszlop bármely értéke. . Az egyes átvitt bitekkel való kommunikáció során új információk jelennek meg, amelyek lehetővé teszik a játékosok számára, hogy levágjanak néhány lehetséges cellát. Például, ha egy ponton Alice elküldi a b bitet , akkor Bob szemszögéből Alice összes lehetséges bemenete két halmazra oszlik: amelyekre Alice küldene , és amelyekre Alice küldene . A b bit értékének ismeretében Bob levágja Alice néhány lehetséges bemenetét, és így leszűkíti a lehetséges cellák körét az ő szemszögéből. Ebben az esetben a külső szemlélő szemszögéből minden üzenet után vagy a lehetséges sorok halmaza, vagy a lehetséges oszlopok halmaza leszűkül, és így a lehetséges cellák halmazát az A mátrix valamely részmátrixa szűkíti .
Formálisabban egy halmazt (kombinatorikus) téglalapnak nevezünk , ha abból következik , hogy és . Ekkor az A mátrix minden részmátrixa hozzá van rendelve egy R kombinatorikus téglalaphoz úgy, hogy , ahol és . Tekintsük most azt a helyzetet, amikor k bitet már átvittek a résztvevők között. Adja meg ezt az első k bitet a karakterlánc . Ekkor lehetséges olyan bemenetpárok halmazát definiálni , amelyeken az első k egyenlő
- kommunikációs bit a bemeneteken egyenlőEkkor egy kombinatorikus téglalap, azaz az A mátrix egy részmátrixát határozza meg .
Hadd . Tekintsünk egy olyan problémát, amelyben Alice és Bob meg akarja állapítani, hogy ugyanazokat a karakterláncokat kapják-e, vagyis ellenőrizni akarják, hogy . Könnyen kimutatható, hogy ennek az egyenlőségi tesztnek (EQ) a megoldásához a legrosszabb esetben n bitet kell továbbítanunk , ha erre a kérdésre pontosan meg akarunk válaszolni minden lehetséges x és y párra .
Ebben az esetben az x és y karakterlánc három bitből áll. Az egyenlőségi függvényt ebben az esetben a következő mátrix határozza meg, ahol a sorokat Alice bemenetei, a sorokat pedig Bob bemenetei indexelik.
EQ | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
---|---|---|---|---|---|---|---|---|
000 | egy | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
001 | 0 | egy | 0 | 0 | 0 | 0 | 0 | 0 |
010 | 0 | 0 | egy | 0 | 0 | 0 | 0 | 0 |
011 | 0 | 0 | 0 | egy | 0 | 0 | 0 | 0 |
100 | 0 | 0 | 0 | 0 | egy | 0 | 0 | 0 |
101 | 0 | 0 | 0 | 0 | 0 | egy | 0 | 0 |
110 | 0 | 0 | 0 | 0 | 0 | 0 | egy | 0 |
111 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | egy |
Amint látjuk, a függvény csak azokban a cellákban egyenlő 1-gyel, ahol x egyenlő y -val (azaz az átlón).
Bizonyíték. Tegyük fel , hogy , azaz létezik egy protokoll, amely megoldja az egyenlőség ellenőrzését az összes n hosszúságú bitsorpárra , miközben legfeljebb egy bitet továbbít. Írjuk ki egy sorba az azonos karakterláncok minden lehetséges párjához (azokhoz ) a protokollban elküldött összes bitet. Pontosan ilyen különálló párok vannak, és legfeljebb különböző hosszúságú bitsorok léteznek . A Dirichlet-elv szerint két és pár van , amelyekhez ugyanazokat a karakterláncokat kapjuk, vagyis ugyanazokat a biteket küldjük a protokollban. Mivel azon karakterláncpárok halmaza, amelyekhez ugyanazokat a biteket küldték, egy téglalapot határoz meg, akkor és egyenlőnek kell lennie 1-gyel is, ami ellentmond annak, hogy . Ezért a feltevésünk téves, ami azt jelenti
Más szóval, ha kisebb, mint n , akkor az EQ mátrix mindegyikét le kell fednünk kevesebb egyszínű téglalappal (aminek minden cellája eggyel van megjelölve). Az EQ mátrixban azonban pontosan egyek vannak , és nem lehet kettő ugyanabban az egyszínű téglalapban, hiszen akkor a nullákkal jelölt cellák elkerülhetetlenül ebbe a téglalapba kerülnek. Ezért ilyen lefedettség nem létezik, és így legalább n .