Ti stai chiedendo di problemi di grande immagine qui. Un numero naturale può essere canonicamente rappresentato in notazione unaria, ma questa rappresentazione è abbastanza inefficiente nello spazio. Potresti anche rappresentarlo in notazione binaria, che è più efficiente nello spazio, ma non più canonica, perché potresti anche usare la notazione tenaria o la notazione decimale. Ma nota che la rappresentazione tramite circuiti non è significativamente meno efficiente della notazione binaria, vedi ad esempio
101101 = (((1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1
E nota che (...)*(1+1)
può essere sostituito da x:=(...) in x+x
, quindi non hai nemmeno bisogno di moltiplicazioni per questo. Ma poiché hai moltiplicazione, puoi persino rappresentare in modo efficiente numeri come 1011^101101
. Si noti inoltre che è possibile aggiungere, sottrarre e moltiplicare in modo efficiente i numeri in questa rappresentazione. Ma questa rappresentazione non è limitata ai numeri, funziona esattamente allo stesso modo per le funzioni polinomiali multivariate. E per i polinomi, è persino una rappresentazione abbastanza naturale, perché i polinomi sono l'algebra libera per gli anelli commutativi e la rappresentazione come circuito può essere usata per qualsiasi algebra libera.
Ma torniamo ai numeri (naturali) per un momento, numeri come
. NJ Wildberger ha scritto alcuni rant ultrafinitisti, ad esempioSet Theory: Dovresti credere? . Nella sezioneMa che dire dei numeri naturali? è ammessal'esistenza di numeri come c , perché ovviamente puoi scriverli. Ma l'esistenza di quasi tutti i numeri naturali tra 0 e cc = 1010101010c0cè negato, perché la maggior parte di quei numeri conterrebbe più informazioni di quante potrebbero essere rappresentate dall'universo fisico. La maggior parte della rabbia mi ha fatto ridere, ma questo punto mi ha fatto pensare. Filosofi come Willard Van Orman Quine hanno protestato contro l'affermazione dell'esistenza di possibili non realizzati, tra l'altro perché quelli portano a elementi disordinati che non si possono dire significativamente identici con se stessi e distinti l'uno dall'altro. Quindi ho trovato abbastanza ragionevole chiedermi quali siano le presentazioni numeriche per le quali si eseguono ancora addizioni, sottrazioni e moltiplicazioni, e almeno determinare in modo significativo se due numeri sono distinti tra loro. La rappresentazione del circuito raggiunge questo ...
Torna a polinomi e rappresentazioni circuitali di algebre libere. Ecco alcune domande generali:
- Questa rappresentazione di un'algebra libera consente sempre un'efficace verifica probabilistica dell'identità o è limitata agli anelli commutativi?
-> Il test di identità è spesso persino indecidibile: per , il reticolo modulare libero generato da n elementi è infinito e in effetti ha un problema di parole indecidibile (Freese, Herrmann).n ≥ 4n
- Esiste un'algebra libera per la quale test efficaci sull'identità deterministica invaliderebbero qualsiasi congettura comunemente ritenuta, come P! = NP?
-> Sì, il test di identità per l'algebra libera per anelli commutativi regolari è NP-completo. Non l'ho notato per molto tempo, vedi sotto ...
- Un efficiente test di identità deterministica per (= l'algebra libera degli anelli commutativi) invaliderebbe eventuali congetture interessanti ?Z [ x1, ... , xn]
Mi chiedo in particolare l'algebra libera per gli anelli commutativi regolari qui (cioè gli anelli con un'operazione inversa generalizzata), poiché consentirebbero di rappresentare numeri razionali e funzioni razionali. Nota che se avessimo usato questa rappresentazione solo per i numeri, allora ci saremmo chiesti se potessimo testare efficacemente a < b
questa rappresentazione. Questa domanda non ha senso per l'anello commutativo libero, ma potrebbe avere senso per i polinomi, se li interpretiamo nel contesto di anelli liberi parzialmente ordinati. Ma un anello parzialmente ordinato è solo una struttura relazionale anziché un'algebra, quindi questo è un diverso tipo di domanda ...
Il lemma di Schwartz-Zippel si applica qui poiché vale per i campi generali e e esiste un algoritmo randomizzato efficiente per questo problema.Z ⊂ Q
Bene, è vero che il lemma di Schwartz-Zippel si applica qui e che esiste un algoritmo randomizzato efficiente per questo problema, ma questi due fatti non sono direttamente correlati. Ricordiamo che è facile rappresentare in modo efficiente polinomi come da un circuito. Quindi, se n è la dimensione del circuito, allora le magnitudini del coefficiente di 7 2 n / 2 o 5( ( 33+ 3 )3+ x )3- ( ( 22+ 5 )3+ x )2Xn72n / 2 sono facili da ottenere. Detto questo, il test probabilistico di identità polinomiale funziona ancora suZ53n / 3Z. Il limite sui coefficienti è simile a , e devi solo indovinare casualmente un numero primo che non divide contemporaneamente tutti i coefficienti. Esistonoabbastanza numeri primi dell'ordine O ( log B ) per farlo in modo probabilistico efficiente.B = exp( exp( n ) )O ( logB )
Z [ x1, ... , xn]
D'altra parte, credo anche che puoi semplicemente usare qualsiasi generatore di numeri pseudocasuali ragionevole e quindi decidere PIT per tutti gli scopi pratici, se fai un test abbastanza a lungo. Credo solo che non potrai mai sbarazzarti del rimanente (infinitesimale piccolo) dubbio, simile a insiemi di misura zero, che rimangono fastidiosi non essendo vuoti.