La casualità vera (dimostrabile) può essere sostituita con la casualità di Kolmogorov per RP?


10

Ci sono stati tentativi di dimostrare che la casualità di Kolmogorov sarebbe sufficiente per RP ? La probabilità utilizzata nell'affermazione "Se la risposta corretta è SÌ, allora (la macchina di Turing probabilistica) restituisce SÌ con probabilità ..." sarebbe sempre ben definita in quel caso? O ci sarebbero solo limiti superiori e inferiori per quella probabilità? O ci sarebbe sempre solo qualche macchina di Turing probabilistica, per la quale le probabilità sarebbero ben definite (o almeno il limite inferiore che dovrebbe essere maggiore di 1/2)?

La classe RP qui è relativamente arbitraria, e si potrebbe anche porre questa domanda per nozioni più deboli di (pseudo-) casualità rispetto alla casualità di Kolmogorov. Ma la casualità di Kolmogorov sembra essere un buon punto di partenza.


Dare un senso alla parola "probabilità" sarebbe parte di un tentativo di dimostrare che la casualità di Kolmogorov funziona per RP. Tuttavia, lasciami provare a descrivere un possibile approccio, per chiarire cosa potrebbe significare e perché ho parlato dei limiti superiore e inferiore:

Let essere un (Kolmogorov casuale) stringa. Sia una determinata macchina di Turing probabilistica corrispondente a una lingua di RP. Eseguire con come fonte per bit casuali volte, continuando a consumare bit precedentemente non incorporati da uno dopo l'altro.A A s nsAAsns

Per , lascia che e p _- ^ s: = \ liminf_ {n \ to \ infty} p_n ^ s . Si osservi che p _ ^ + s e p _- ^ s sono ben definiti per una data stringa s , anche se non sarebbe casuale. Ma ci si potrebbe chiedere se p _ + ^ s = p _- ^ s nel caso s sia Kolmogorov casuale, o se p _- ^ {s_1} = p _- ^ {s_2} per due stringhe casuali arbitrarie di Kolmogorov s_1 e s_2 . O se esiste un p \ geq 1/2 tale che p \ leq p _- ^ s per qualsiasi stringa casuale di Kolmogorovpns:=#YES result in first n runs of A on sn p s - : = lim inf n p s n p s + p s - s p s + = p s - s p s 1 - = p s 2 - s 1 s 2 p 1 / 2 p p+s:=lim supnpnsps:=lim infnpnsp+spssp+s=pssps1=ps2s1s2p1/2 sppss .


2
Non capisco la domanda. Cosa intendi con "<concetto di casualità> è sufficiente per <classe di complessità>"? RP può essere derandomizzato in tempo polinomiale con un oracolo per una stringa casuale di Kolmogorov, se è quello che stai chiedendo.
Emil Jeřábek,

2
Non capisco cosa intendi dicendo che RP "funzionerebbe" e non capisco il tuo ultimo commento (le macchine RP si fermano sempre dopo molti passaggi polinomiali, per definizione o senza perdita di generalità se si utilizza un inconveniente definizione).
Emil Jeřábek, il

2
Nella domanda stessa, anche io non capisco cosa intendi per "probabilità" quando parli di stringhe casuali di Kolomogorov. A differenza delle solite "stringhe casuali", che sono tratte da una distribuzione casuale, essere Kolmogorov casuale è una proprietà sì-no effettiva che una determinata stringa ha o non ha. Quindi, se una tale stringa fa accettare un algoritmo non è una variabile casuale, e come tale non ha senso chiederne la probabilità.
Emil Jeřábek

1
Un approccio ragionevole a questo è di prendere la prospettiva "costruttiva Martingales" di stringhe algoritmicamente casuali. In particolare, si potrebbe sperare che se non riesce a ingannare , questo si tradurrebbe in un "predittore del prossimo bit" per , e quindi in una strategia di scommesse che dimostra che non è casuale. Non so se questo approccio, anche se funzionerebbe, darebbe tassi di convergenza significativi per e ; tuttavia, a quanto pare esiste un approccio più vecchio allo studio delle classi di complessità (parole chiave: "misura limitata dalle risorse") che utilizza questa idea, quindi c'è qualche speranza. A s s p +sAssp+p
Andrew Morgan,

1
Rilevanti collegamenti Wikipedia (che hanno ulteriori riferimenti) per il mio commento precedente: costruttive Martingales (vedi terza definizione) e misura limitata alle risorse
Andrew Morgan

Risposte:


13

Penso che la domanda qui posta sia approssimativamente " c'è un senso in cui possiamo sostituire la sequenza di bit casuali in un algoritmo con bit ricavati in modo deterministico da una stringa casuale di Kolmogorov opportunamente lunga? " Questa è almeno la domanda che cercherò di provare risposta! (La risposta breve è "Sì, ma solo se si amplifica prima la probabilità di errore")


Sì...

Possiamo sicuramente dire qualcosa qui. Sia un linguaggio e che sia un algoritmo che accetta come input e una stringa casuale (la distribuzione uniforme su ) st . In altre parole, è un algoritmo che sbaglia al massimo con .A x r U f ( | x | ) { 0 , 1 } fLAxrUf(|x|) Pr[A(x,r)=L(x)]>1-ϵ(x)Aϵ{0,1}f(|x|)Pr[A(x,r)=L(x)]>1ϵ(x)Aϵ()

Si noti ora che se fornisce la risposta errata su cioè , questo ci dà alcuni mezzi per descrivere , in particolare, possiamo descriverlo come stringa -esimo che provoca errarePer fare ciò, semplicemente realizziamo la macchina che ha , , e un po ' codificati in modo duro , ed enumera semplicemente le scelte di da fino a quando non trova l' -esima scelta di tale che .( x , rAA ( x , r ) L ( x ) r i A x . x A(x,r)A(x,r)L(x)riAx.xAb = 1ib=1xL { 0 , 1 } f ( | x | ) i r A ( x , r )r{0,1}f(|x|)irA(x,r)b

Quindi ora che sappiamo di poter sfruttare una cattiva scelta di una stringa casuale in una descrizione, osserviamo alcune condizioni che sono sufficienti per trasformare la nostra descrizione di in una compressione. Per descrivere , abbiamo bisogno di abbastanza bit per descrivere , , , quindi il codice per la nostra procedura (il codice per e la routine che abbiamo descritto), dando come descrizione della lunghezzar x i b A | x | + | io | + O ( 1 ) = | x | + log 2 (rrxibA

|x|+|i|+O(1)=|x|+log2(2f(|x|)ϵ(x))+O(1)=|x|+f(|x|)log(1/ϵ(x))+O(1).

Ricorda che è lunghezza , quindi questa è una compressione di if ad esempio, quando .f ( | x | ) r log (rf(|x|)rε ( x ) = 1 / 2 2 | x |

log(1/ϵ(x))=|x|+ω(1),
ϵ(x)=1/22|x|

Infine, osserva che se fosse una stringa casuale di Kolmogorov, allora non potremmo avere tale compressione, quindi finché la probabilità di errore di è sufficientemente piccola, una stringa casuale di Kolmogorov al posto della sequenza di bit casuali farà sì che risponda correttamente!A ArAA

Nota che l'unica cosa che sfruttiamo su è che la sua probabilità di errore è piccola. Non ci importa se ha un tempo di esecuzione estremamente lungo o se ha un errore su uno o due lati.A AAAA

Riportando questo alla domanda di (o o ), questo dice che fintanto che amplificiamo la probabilità di errore dei nostri algoritmi, possiamo usare stringhe casuali di Kolmogorov al posto dei loro bit casuali.c o R P B P PRPcoRPBPP


... Ma solo se amplificiamo prima noi.

Una domanda di follow-up potrebbe essere "posso farlo senza amplificare la probabilità di errore?" Si consideri il seguente algoritmo che decide e ha probabilità di errore .{ 0 , 1 } * 1 / 2 nA{0,1}1/2n

All'ingresso :x

  • Genera una stringar{0,1}n
  • Se , rifiuta.r=x
  • Accettare.

Si noti che per ogni scelta di , esiste una certa scelta di tale che errs su , ovvero la scelta di che è , quindi non possiamo sostituire la sequenza casuale di bit utilizzata da con una stringa casuale di Kolmogorov senza amplificare è probabilità di errore!x A x r x ArxAxr xA


Una nota sulla fonte: non sono sicuro che nulla di tutto ciò sia romanzo, ma ho incluso il primo argomento nel mio articolo di scrittura per il mio esame di qualifica che alla fine sarà disponibile online dopo aver finito di rivederlo.


Il mio amico Preetum sottolineato la stupidità di codificare la macchina e decidere quando possiamo invece solo codificare un po 'che dice o meno . Modificherò la risposta per riflettere questo. M ( x ) x LMM(x)xL
Dylan McKay,

1
Mike Sipser ha usato un simile tipo di argomento di compressione nel suo fantastico documento sciencedirect.com/science/article/pii/0022000088900359 (nota che i grafici di espansione di cui ha bisogno sono stati effettivamente costruiti esplicitamente dl.acm.org/citation.cfm?id=273915 )
Ryan Williams,
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.