Limiti inferiori sulla funzione Soglia


9

Nella complessità dell'albero decisionale di una funzione booleana, un metodo con limite inferiore ben noto è quello di trovare un polinomio (approssimativo) che rappresenti la funzione. Paturi ha dato una caratterizzazione per funzioni booleane simmetriche (parziali e totali) in termini di una quantità indicata Γ :

Teorema ( Paturi ): Sia f una qualsiasi funzione simmetrica non costante e denota fk=f(x) quando |x|=k (ovvero il peso di martellamento di x è k ). Il grado approssimativo di f , indicato con deg~(f) , è Θ(n(nΓ(f)))Γ(f)=min{|2kn+1|:fkfk+1 and 0kn1}

Ora lascia che sia la funzione di soglia, ovvero se . In questo articolo (cfr. Sezione 8, pagina 15) dice che .Thrt(x)Thrt(x)=1xtdeg~(f)=(t+1)(Nt+1)

Si che per la funzione di soglia abbiamo, perché quando la funzione cambia da 0 a 1. Ho ragione?Γ(Thrt)=|2(t1)n+1||x|=t1

Se applico direttamente il teorema di Paturi a questo valore di , non ottengo il limite inferiore sulla funzione di soglia riportata in altri articoli. Il valore di sopra è corretto? Cosa mi sto perdendo?ΓΓ(Thrt)

Modifica: ho anche provato a calcolare il limite inferiore dell'avversario quantistico per la soglia. Innanzitutto, rivediamo il teorema.

Teorema (Unweighted Quantum Adversary): Sia una funzione booleana parziale e che e siano un sottoinsieme di input (difficili). Lascia che sia una relazione e imposta per ogni . Sia denota il numero minimo di 1s in ogni riga e colonna rispettivamente in relazione , e let indica il numero massimo di quelli in qualsiasi riga e colonna in una delle relazioni rispettivamente. Quindi .fAf1(0)Bf1(1)RA×BRi={(x,y)R:xiyi}1inm,mR,RiQ2(f)=Ω(mm)

Se definisco come l'insieme di tutti gli input con il numero di 1s maggiore o uguale a e tutti gli input con 1s strettamente inferiori a , ottengo (dopo qualche algebra) che .BtAtmm=n2ln(nt)ln(nnt)

Quindi ancora non sto ottenendo gli stessi limiti inferiori riportati in altri documenti. Ora, confrontiamo questi limiti. La figura seguente mostra per e senza le radici quadrate, un confronto tra il teorema di Paturi rilegato (blu), il limite avversario (rosso) e il limite riportato da altri documenti (verde).n=200

inserisci qui la descrizione dell'immagine

Le mie domande sono:

1- Come posso ottenere il limite riportato in altri documenti?

2- Puoi vedere dalla figura che anche il limite inferiore (verde) riportato limita il limite di Paturi e il limite dell'avversario. Ciò non indebolisce il limite inferiore "reale"? Ad esempio, se Paturi afferma che per tutte le funzioni simmetriche abbiamo questo limite, come si può ottenere un limite superiore corrispondente per il conteggio quantico ( )? Quel limite superiore non sta forse violando il teorema di Paturi?(t+1)(nt+1)


Manca il valore assoluto nel calcolo per (questo sembra essere un cambiamento troppo piccolo per una modifica). Γ(Thrt)
Hartmut Klauck,

Penso che tu abbia ragione ed è una sorta di approssimazione del valoreper ottenere la laurea menzionata nel documento. I grafici delle funzioni lasciano supporre che :)Γ(Thrt)=|2(t1)n+1|
Marc Bury,

sì, sembra un'approssimazione (ecco la trama wolframalpha.com/input/… ). E abbassa i limiti . Se è così, allora perché preoccuparsi di farlo? Perché non applicare semplicemente il limite inferiore risultante da Paturi? Γ(Thrt)
Marcos Villagra,

1
Suppongo che vogliono evitare la funzione del valore assoluto. Ottengono una forma più semplice della funzione ed evitano l'analisi caso per caso per qualsiasi calcolo. Sono interessato a come ottengono questa approssimazione dalla funzione originale?
Marc Bury,

1
È lo stesso fino a una costante.
Kristoffer Arnsfelt Hansen,

Risposte:


6

Non so come puoi ottenere o vedere il limite di dal limite originale ma ecco la prova che questi limiti sono asintoticamente uguali fino a un fattore costante:(t+1)(nt+1)n(n|(2(t1)n+1|)

Per prima cosa vedi che (escludo perché la funzione di soglia è sempre ) t=01

n(n|(2(t1)n+1|)={n(2t1)1tn/2+1/2n(2n2t+1)n/2+1/2tn1

Definire , e .f1(t)=n(2t1)f2(t)=n(2n2t+1)g(t)=(t+1)(nt+1)

Ora devi calcolare il valore massimo (secondo entro gli intervalli definiti) delle frazioni , , e . Puoi farlo con calcolo differenziale o approssimazione con l'aiuto del grafico (con abbastanza grande):tf1(t)/g(t)f2(t)/g(t)g(t)/f1(t)g(t)/f2(t)n

f1(t)/g(t)f1(n/2+1/2)/g(n/2+1/2)n2n2/4=4

f2(t)/g(t)f2(n/2+1/2)/g(n/2+1/2)n2n2/4=4

g(t)/f1(t)g(1)/f1(1)=2nn=2

g(t)/f2(t)g(n1)/f2(n1)=n/2n/33/2

Questo ti dà e anche il risultato desiderato

n(n|2(t1)n1|)=Θ((t+1)(nt+1))
n(n|2(t1)n1|)=Θ((t+1)(nt+1)).

C'è un modo più semplice per vedere / ottenere questo risultato?


1
Sì, penso che tu abbia ragione. La mia impressione è che gli autori originali conoscessero quel limite inferiore a causa di alcuni risultati come il calcolo quantico. Nel calcolo quantistico abbiamo un limite superiore di , e applicando il teorema di Paturi e i limiti avversari, hanno mostrato ciò che hai appena mostrato qui. (t+1)(nt+1)
Marcos Villagra

grazie per il tuo impegno!! Penso che questa sia la risposta. Sono più convinto ora che forse questo è l'unico modo per ottenere questo risultato.
Marcos Villagra
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.