Algoritmi costruttivamente efficienti senza efficiente correttezza e prova di efficienza


17

Sto cercando esempi naturali di algoritmi efficienti (cioè in tempi polinomiali) st

  1. la loro correttezza ed efficienza possono essere dimostrate in modo costruttivo (ad es. in o ), maPRUNHUN
  2. non è nota alcuna prova che utilizza solo concetti efficienti (ovvero non sappiamo come dimostrarne la correttezza e l'efficienza in o ).S 1 2TV0S21

Posso fare da solo esempi artificiali. Tuttavia, desidero interessanti esempi naturali, ovvero algoritmi studiati per se stessi, non creati solo per rispondere a questo tipo di domande.


1
Forse qualcosa dalla teoria degli automi, in cui un algoritmo è semplice, ma per dimostrarlo funziona bisogna considerare tutti i sottoinsiemi di qualcosa o altro?
Andrej Bauer,

2
Che ne dite del controllo della primalità al tempo polinomiale? Quella prova sarà probabilmente abbastanza complicata da essere difficile da attaccare all'interno di ? S21
Andrej Bauer,

4
@Neel, in realtà la tesi di Emil " Principio debole del buco del piccione e calcolo randomizzato " riguarda la formalizzazione di algoritmi probabilistici. Un assioma principale necessario per formalizzare alcuni di questi sembra essere il conteggio approssimativo che non fa parte di o S 1 2 . Penso che potrebbe essere più semplice attenersi al caso polivalente deterministico con T V 0 e S 1 2 . TV0S21TV0S21
Kaveh,

1
ps: Sarebbe più interessante se potessimo dimostrare che la correttezza / efficienza degli algoritmi non sono dimostrabili in queste teorie, o almeno equivalgono a affermazioni che non sono provate in esse. Tuttavia, chiederlo è probabilmente troppo per quello che sappiamo attualmente.
Kaveh,

4
@Neel, la maggior parte della probabilità rilevante può essere fatta nei sistemi del primo ordine poiché non hai mai veramente bisogno di conoscere la probabilità esatta di un evento, di solito devi solo confrontare quella probabilità con determinati numeri razionali.
François G. Dorais,

Risposte:


14

Questa è la stessa idea della risposta di Andrej ma con maggiori dettagli.

Krajicek e Pudlak [ LNCS 960, 1995, pp. 210-220 ] hanno dimostrato che se è una proprietà Σ b 1 che definisce i numeri primi nel modello standard e S 1 2¬ P ( x ) ( y 1 , y 2 ) ( 1 < y 1 , y 2 < x x = y 1 y 2 )P(X)Σ1B

S21¬P(X)(y1,y2)(1<y1,y2<XX=y1y2)
poi c'è un algoritmo di factoring temporale polinomiale. Ciò fornisce una serie di esempi poiché qualsiasi algoritmo NP per i test di primalità produce sostanzialmente una formula . In particolare, il test di primalità AKS fornisce una formula del genere (se opportunamente rifuso nella lingua di S 1 2 ). L'articolo di Krajicek e Pudlak fornisce altri esempi di questo tipo relativi alla crittografia, ma precede l'AKS e i relativi progressi di alcuni anni.Σ1BS21

10

TC0VTC0

TV0VTC0TC0

(un'n)

p(un'p)=1un'p

S21

Un'altra classe di esempi è data dai test di irriducibilità e dagli algoritmi di fattorizzazione per i polinomi (principalmente su campi finiti e razionali). Questi invariabilmente si basano sul piccolo teorema di Fermat o sulle sue generalizzazioni (tra gli altri), e come tale non sono noti per essere formalizzabili in una teoria appropriata dell'aritmetica limitata. Tipicamente, questi algoritmi sono randomizzati, ma per esempi di tempo polinomiale deterministici, si può fare il test di irriducibilità di Rabin o l' algoritmo a radice quadrata Tonelli – Shanks (formulato in modo che sia richiesto un non quadratico non residuo come parte dell'input).


9

Il test di primalità dell'AKS sembra un buon candidato se si deve credere a Wikipedia.

Tuttavia, mi aspetto che un tale esempio sia difficile da trovare. Le prove esistenti verranno formulate in modo da non essere ovviamente eseguite in aritmetica limitata, ma saranno probabilmente "adattabili" all'aritmetica limitata con più o meno sforzo (di solito più).


2
S21

2
S21S21

2
C'è un meraviglioso documento di Krajicek e Pudlak che fornisce molti altri esempi: karlin.mff.cuni.cz/~krajicek/j-crypto.ps
François G. Dorais,

2
@ François, perché non pubblicare una risposta? :)
Kaveh,

8
Quindi, ottengo il massimo dei voti positivi per aver fatto una prima ipotesi fortunata, mentre altri sanno davvero cosa sta succedendo. La matematica è proprio come MTV.
Andrej Bauer,
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.