Rappresentazione di OR con polinomi


23

So che banalmente la funzione OR su n variabili x1,,xn può essere rappresentata esattamente dal polinomio p(x1,,xn) come tale: p(x1,,xn)=1i=1n(1xi) , che è di grado n .

Ma come potrei mostrare, ciò che sembra ovvio, che se è un polinomio che rappresenta esattamente la funzione OR (quindi ), quindi ?x { 0 , 1 } n : p ( x ) = n i = 1 x i deg ( p ) npx{0,1}n:p(x)=i=1nxideg(p)n


1
Stai parlando di veri polinomi? O polinomi modulo 2? Se vuoi parlare di modulo 6 (o di altri numeri compositi), allora la domanda diventa più interessante.
Igor Shinkar,

Risposte:


30

Sia f:{0,1}n{0,1} sia una funzione booleana. Se ha una rappresentazione polinomiale P allora ha una rappresentazione polinomiale multilinea Q di grado degQdegP : basta sostituire qualsiasi potenza xik , dove k2 , con xi . Quindi possiamo limitare la nostra attenzione ai polinomi multilineari.

Claim: I polinomi , come funzioni { 0 , 1 } nR formare una base per lo spazio di tutte le funzioni { 0 , 1 } nR .{iSxi:S[n]}{0,1}nR{0,1}nR

Prova: dimostriamo innanzitutto che i polinomi sono linearmente indipendenti. Supponiamo che per tutti ( x 1 , , x n ) { 0 , 1 } n . Dimostriamo per (forte) induzione su | S | che c S = 0 . Supponiamo che c T = 0 per tutti | Tf=ScSiSxi=0(x1,,xn){0,1}n|S|cS=0cT=0 e diamo una serie S di cardinalità k . Per tutti T S sappiamo per induzione che c T = 0 , e quindi 0 = f ( 1 S ) = c S , dove 1 S è l'ingresso che è 1 sulle coordinate di S .|T|<kSkTScT=00=f(1S)=cS1S1S 

Gli spettacoli sostengono che la rappresentazione multilineare di una funzione è unica (anzi, f non devono essere necessariamente 0 / 1 -valued). La rappresentazione multilineare unica di OR è 1 - i ( 1 - x i ) , che ha il grado n .f:{0,1}n{0,1}f0/11i(1xi)n


26

Sia un polinomio tale che per tutti x { 0 , 1 } n , p ( x ) = O R ( x ) . Considera la simmetrizzazione del polinomio p : q ( k ) = 1px{0,1}np(x)=OR(x)pNota che, poiché la funzione OR è una funzione booleana simmetrica, abbiamo quella perk=1,2,,n,q(k)=1eq(0)=0. Poichéq-1è un polinomio diverso da zero e ha almenon0, deve avere grado almenon. Perciò,

q(k)=1(nk)x:|x|=kp(x).
k=1,2,,nq(k)=1q(0)=0q1nn deve anche avere il grado n .pn

La simmetrizzazione viene spesso utilizzata nello studio del grado approssimativo di funzioni booleane e della complessità delle query quantistiche. Vedi, ad esempio, http://www.math.uwaterloo.ca/~amchilds/teaching/w11/l19.pdf .


Mi sembra che per far funzionare la tua prova, devi dimostrare che il grado di q è al massimo il grado di p. Questo non mi è chiaro. Come lo mostri?
Matthon,

Sia d = deg (p). Quindi q è una somma di polinomi di grado d, quindi il grado di q è al massimo d.
Henry Yuen,

3

Yuval ed Henry hanno dato due diverse prove di questo fatto. Ecco una terza prova.

Innanzitutto, come nella risposta di Yuval, limitiamo la nostra attenzione ai polinomi multilineari. Ora hai già esibito un polinomio multilinea di grado uguale alla funzione OR. Ora tutto ciò che dobbiamo mostrare è che questo polinomio è unico, e quindi hai trovato l'unica e unica rappresentazione della funzione OR come polinomio. Di conseguenza, il suo grado è n .nn

Reclamo: se due polinomi multilineari peq sono uguali sull'ipercubo, allora sono uguali ovunque.

Prova: Let r (x) = p (x) - q (x), e sappiamo che r (x) = 0 per tutti x in . Vogliamo dimostrare che r (x) è identicamente zero. Verso una contraddizione, supponiamo che non lo sia, e scegli qualsiasi monomiale in r con un coefficiente diverso da zero che abbia un grado minimo. Impostare tutte le variabili al di fuori di questo monomio su 0 e tutte le variabili in questo monomio su 1. r (x) è diverso da zero su questo input, ma questo input è booleano, il che è una contraddizione.{0,1}n

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.