Un'idea è qualcosa di semplice dagli algoritmi di streaming . Probabilmente il miglior candidato è l'algoritmo di maggioranza. Supponi di vedere un flusso di numeri , uno dopo l'altro e sai che un numero compare più della metà delle volte, ma non sai quale. Come puoi trovare il numero di maggioranza se ricordi solo due numeri alla volta ? La risposta è l'algoritmo Misra-Gries.s1,…,sn
Ad ogni passaggio si memorizza un numero dal flusso e un contatore di frequenza f . All'inizio imposti x sul primo numero dello stream e inizializzi la frequenza f su 1. Quindi ogni volta che vedi un nuovo numero s i , controlli se x = s i . Se x = s i , aumenta f fino a f + 1 , altrimenti diminuisci f fino a f - 1 . Se f = 0 , imposta x su s ixfxfsix=six=siff+1ff−1f=0xsie torna a 1 . Dopo l'ultimo elemento del flusso, se c'era un elemento di maggioranza, sarà uguale a xf1x .
Un'altra idea è il noto gioco per illustrare prove di conoscenza zero . Penso che sia dovuto a Oded Goldreich ed è simile alla prova della conoscenza zero per l'isomorfismo grafico.
Per rendere la risposta autonoma, ecco il gioco. Supponiamo che tu voglia convincere il tuo amico daltonico a distinguere il rosso dal verde. Il tuo amico ha due mazzi di carte e sa che una pila è verde e l'altra rossa. Fa quanto segue senza che tu lo veda: con probabilità 1/2 pesca una carta da ogni mazzo, con probabilità 1/4 pesca due carte dal mazzo sinistro e con probabilità 1/4 pesca due carte dal mazzo destro . Quindi ti mostra le carte e ti chiede se sono dello stesso colore. Se non sei daltonico, puoi ovviamente rispondere correttamente ogni volta. Se sei daltonico, fallirai con probabilità 1/2. Quindi ora se il gioco viene giocato 10 volte, la probabilità che tu possa vincere ogni volta pur essendo daltonico è estremamente bassa.
Il kicker è che se il tuo amico sapeva che i due mazzi di carte sono di due colori diversi, ma non sapeva quale fosse rosso e quale verde, alla fine non lo saprebbe ancora! Quindi in sintesi:
- C'è spazio per la casualità nelle prove.
- Puoi convincere qualcuno che conosci qualcosa senza dargli alcuna informazione al riguardo.