Quão difícil é comunicar? Andreia Teixeira 27 de Maio Complexidade de Comunicação x y f(x,y)=? Um Protocolo Simples x f(x,y) = z Quantos bits são necessários para esta comunicação? Complexidade de Comunicação f: X Y → {0,1} Um protocolo P de domínio X Y e contra-domínio {0,1} é uma árvore binária, onde cada nó é etiquetado por uma função av : X → {0,1} ou por uma função bv : Y → {0,1} e cada folha é etiquetada com um elemento z {0,1}. Exemplo: X = {x, x’, x’’, x’’’} Y = {y, y’, y’’, y’’’} f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O O custo do Protocolo para o input (x’’,y) é o tamanho do caminho percorrido: 2. b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O Complexidade de Comunicação O custo de um protocolo P , DP f, corresponde à altura da árvore binária associada ao protocolo. Para uma função f: X Y {0,1}, a complexidade de comunicação, D(f), (determinística) de f é o min {DP f : P é um protocolo para f}. Para toda a função f: X Y {0,1}, D(f) ≤ log |X| + 1. Rectângulos Combinatórios Dado um conjunto finito R, um rectângulo combinatório é um conjunto A B, onde A e B são subconjuntos de R. Um rectângulo combinatório A B é denominado z-monocromático se tem o mesmo valor z (0 ou 1) para todo o a A e b B. Rectângulos Combinatórios Qualquer protocolo P para uma função f induz uma partição de X Y em rectângulos z-monocromáticos (z {0,1}). O número destes rectângulos é igual ao número de folhas de P. f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O O f(x,y) y y' y'' y''' x 0 0 0 1 x' 0 0 0 1 x'' 0 1 1 1 x''' 0 0 0 0 O Protocolo a1(x)=0 a1(x’)=0 a1(x’’)=1 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=0 b2(y’’)=0 b2(y’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=0 b3(y’’’)=0 1 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=0 a4(x’’’)=1 1 0 1 O 1 O f(x,y) y y' y'' y''' x 0 1 0 0 x' 0 1 0 0 x'' 1 1 1 1 x''' 1 0 1 0 Exemplo a1(x)=0 a1(x’)=0 a1(x’’)=0 a1(x’’’)=1 0 1 b2(y)=0 b2(y’)=1 b2(y’’)=0 b2(y’’’)=0 0 1 a4(x)=0 a4(x’)=0 a4(x’’)=1 a4(x’’’)=1 0 O b3(y)=1 b3(y’)=0 b3(y’’)=1 b3(y’’’)=0 1 1 1 0 O 1 1 Propriedades Seja P um protocolo e v um nó da árvore associada ao protocolo. Rv é o conjunto dos inputs (x,y) que alcançam o nó v. Se L é o conjunto das folhas de um protocolo P, então {Rl}lЄL é uma partição de X Y. R ⊆ X Y é um rectângulo se e só se (x1,y1) R e (x2,y2) R ⇒ (x1,y2) R Propriedades Seja P um protocolo e v um nó da árvore associada ao protocolo. Rv é o conjunto dos inputs (x,y) que alcançam o nó v. Se L é o conjunto das folhas de um protocolo P, então {Rl}lЄL é uma partição de X Y. R ⊆ X Y é um rectângulo se e só se (x1,y1) R e (x2,y2) R ⇒ (x1,y2) R Minorante da D(f) Se qualquer partição de X Y em rectângulos monocromáticos necessita de pelo menos t rectângulos então D(f) ≥ ⌈log t⌉. Técnicas • Conjuntos Enganadores • Tamanho dos Rectângulos • Característica da Matriz Conjuntos Enganadores Seja f: X Y → {0,1}. Um conjunto S ⊂ X Y é denominado de conjunto enganador (para f) se existe um valor z {0,1} tal que • Para todo (x,y) S, f(x,y) = z. • Para dois quaisquer pares distintos (x1,y1) e (x2,y2) em S, f(x1,y2) ≠ z ou f(x2,y1) ≠ z. Se f tem um conjunto enganador S de tamanho t, então D(f) ≥ log t. Conjuntos Enganadores Seja f: X Y → {0,1}. Um conjunto S ⊂ X Y é denominado de conjunto enganador (para f) se existe um valor z {0,1} tal que • Para todo (x,y) S, f(x,y) = z. • Para dois quaisquer pares distintos (x1,y1) e (x2,y2) em S, f(x1,y2) ≠ z ou f(x2,y1) ≠ z. Se f tem um conjunto enganador S de tamanho t, então D(f) ≥ log t. Conjuntos Enganadores Exemplo: x, y EQ(x,y) = {0,1}n 1 se x = y 0 caso contrário Um conjunto enganador de tamanho 2n é S1={(α, α) : α {0,1}n } D(EQ) ≥ n. Considerando os 0-rectângulos monocromáticos, concluímos que D(EQ) ≥ n+1. Como D(EQ) ≤ n+1, temos que D(EQ) = n+1. Tamanho dos Rectângulos Seja μ uma distribuição de probabilidade de X Y. Se qualquer rectângulo R z-monocromático (z {0,1}) tem medida μ(R) ≤ δ, então D(f) ≥ log 1/δ. Exemplo: x, y EQ(x,y) = {0,1}n 1 se x = y 0 caso contrário f(x,y) x x' x'' x''' … x 1 0 0 0 x' 0 1 0 0 x'' x''' 0 0 0 0 1 0 0 1 … Tamanho dos Rectângulos Seja μ uma distribuição de probabilidade de X Y. Se qualquer rectângulo R z-monocromático (z {0,1}) tem medida μ(R) ≤ δ, então D(f) ≥ log 1/δ. Exemplo: x, y EQ(x,y) = {0,1}n 1 se x = y 0 caso contrário f(x,y) x x' x'' x''' … x 1 0 0 0 x' 0 1 0 0 x'' x''' 0 0 0 0 1 0 0 1 … Como cada rectângulo R 1-monocromático tem dimensões 1 x 1, temos que μ(R) ≤ 1/2n . Como existe, pelo menos um rectângulo 0monocromático, D(EQ) ≥ log 2n +1 = n + 1. Como D(EQ) ≤ n+1, temos que D(EQ) = n+1. Característica Para qualquer função f:X Y → {0,1}, D(f) ≥ log car(Mf) , onde Mf é a matriz associada à função f. Exemplo: x, y EQ(x,y) = {0,1}n 1 se x = y 0 caso contrário M(EQ)= 1 0 0 0 … 0 1 0 0 0 0 1 0 0 0 0 1 Como M(EQ) = 2n , temos que D(EQ) ≥ n. … Característica Para qualquer função f: X Y → {0,1}, D(f) ≥ log car(f) , onde car(f) é a característica da matriz associada à função f. Exemplo: x, y EQ(x,y) = {0,1}n 1 se x = y 0 caso contrário M(EQ)= 1 0 0 0 … 0 1 0 0 0 0 1 0 0 0 0 1 Como M(EQ) = 2n , temos que D(EQ) ≥ n. … Obrigada! Complexidade de Comunicação O custo de um protocolo P , DP f, corresponde à altura da árvore binária associada ao protocolo. Para uma função f: X Y {0,1}, a complexidade de comunicação, D(f), (determinística) de f é o min {DP f : P é um protocolo para f}. Para toda a função f: X Y {0,1}, D(f) ≤ log |x| + log |z|. Propriedades Prova: (⇒) Considere-se um rectângulo R, isto é, R= A B, para A ⊆ X e B ⊆ Y. Pretende-se mostrar que se (x1,y1) e (x2,y2) pertencem a R então (x1,y2) também pertence a R. Se (x1,y1) Є R, então x1 A e y1 B. Do mesmo modo, se (x2,y2) R, então x2 A e y2 B. Portanto, os pares (x1,y2) e (x2,y1). pertencem a A B = R. (⇐ ) Considerem-se os seguintes conjuntos: A = { x: existe y tal que (x,y) R} e B = { y: existe x tal que (x,y) R}. Por definição de A e B é, evidente, que R ⊆ A B, pois se (x,y) R, então x A e y B e, portanto (x,y) A B. Para se mostrar que A B ⊆ R, considere-se (x,y) A B. Como x A, então existe y' B tal que (x,y') R. Analogamente, como y B, então existe x' A tal que (x',y) R. Logo (x,y') R e (x',y) R. Assim, por hipótese resulta que (x,y) R. Portanto A B ⊆ R. Conjuntos Enganadores Prova: Qualquer rectângulo R que contenha dois pontos distintos (x1,y1) e (x2,y2), ambos pertencentes a S, também contém os pontos (x1,y2) e (x2,y1). No entanto, S é um conjunto enganador, logo o valor de f em (x1,y1) e (x2,y2) é z e, pelo menos, um dos pontos (x1,y2) ou (x2,y1) tem valor por f diferente de z. Logo R não é monocromático. Assim, nenhum rectângulo monocromático contém mais do que um elemento de S. Logo, são necessários, pelo menos, t rectângulos para fazer uma partição de S. Logo vem que D(f) ≥ ⌈log t⌉. Característica Prova: Seja P um protocolo para a função f e seja L o conjunto de folhas para as quais f(x,y)=1. Define-se uma matriz Ml para cada uma das folhas, de tal maneira que Ml(x,y)=1 se (x,y) Rl e Ml(x,y)=0 se (x,y) Rl, onde os rectângulos Rl correspondem aos pares (x,y) que ``terminam'' na folha l. A matriz da função é a soma de todas as matrizes definidas para cada uma das folhas l L, isto é, Mf = ∑ Ml. Usando as propriedades da característica de uma matriz, vem que car(Mf) ≤ ∑ car(Ml). Como car(Ml) = 1 vem que car(Mf) ≤ |L|. Qualquer protocolo P tem de ter, pelo menos, car(Mf) folhas, logo D(f) ≥ ⌈log(car(Mf))⌉.