Konstruktywnie wydajne algorytmy bez sprawdzania poprawności i wydajności

17

Szukam naturalnych przykładów wydajnych algorytmów (tj. W czasie wielomianowym) ul

  1. ich poprawność i skuteczność można konstruktywnie udowodnić (np. w lub ), alePRAHA
  2. nie jest znany żaden dowód wykorzystujący tylko wydajne koncepcje (tzn. nie wiemy, jak udowodnić ich poprawność i wydajność w lub ).TV0S21

Mogę samodzielnie tworzyć sztuczne przykłady. Chcę jednak ciekawych naturalnych przykładów, tj. Algorytmów opracowanych dla nich samych, nie stworzonych tylko po to, aby odpowiedzieć na tego rodzaju pytania.

Kaveh
źródło
1
Być może coś z teorii automatów, gdzie algorytm jest łatwy, ale aby pokazać, że działa, należy wziąć pod uwagę wszystkie podzbiory tego czy innego?
Andrej Bauer,
2
Co powiesz na sprawdzanie pierwotności w czasie wielomianowym? Ten dowód może być na tyle skomplikowany, że trudno będzie go wsadzić do ? S21
Andrej Bauer,
4
@Neel, w rzeczywistości teza Emila „ Słaba zasada szuflady i obliczenia losowe ” dotyczy sformalizowania algorytmów probabilistycznych. Głównym aksjomatem potrzebnym do sformalizowania niektórych z nich wydaje się przybliżone zliczanie, które nie jest częścią lub S 1 2 . Myślę, że łatwiej byłoby trzymać się deterministycznego przypadku polytime z T V 0 i S 1 2 . TV0S21TV0S21
Kaveh
1
ps: Byłoby bardziej interesujące, gdybyśmy mogli udowodnić, że poprawność / wydajność algorytmów nie jest możliwa do udowodnienia w tych teoriach, lub przynajmniej są równoważne stwierdzeniom, które uważa się w nich za nie do udowodnienia. Jednak prośba o to prawdopodobnie za dużo w stosunku do tego, co wiemy obecnie.
Kaveh
4
@Neel, większość odpowiedniego prawdopodobieństwa można zrobić w systemach pierwszego rzędu, ponieważ tak naprawdę nigdy nie trzeba znać dokładnego prawdopodobieństwa zdarzenia, zwykle wystarczy porównać to prawdopodobieństwo z pewnymi liczbami wymiernymi.
François G. Dorais

Odpowiedzi:

14

Jest to ten sam pomysł, co odpowiedź Andreja, ale zawiera więcej szczegółów.

Krajicek i Pudlak [ LNCS 960, 1995, ss. 210–220 ] wykazali, że jeśli jest właściwością Σ b 1, która definiuje liczby pierwsze w modelu standardowym, a S 1 2¬ P ( x ) ( Y 1 , Y 2 ) ( 1 < T 1 , T 2 < x x = r 1 r 2 )P.(x)Σ1b

S.2)1¬P.(x)(y1,y2))(1<y1,y2)<xx=y1y2))
istnieje algorytm faktorowania wielomianowego. Daje to wiele przykładów, ponieważ dowolny algorytm NP do testowania pierwotności daje w zasadzie taką formułę . W szczególności test pierwotności AKS daje taką formułę (przy odpowiednim przekształceniu w języku S 1 2 ). Artykuł Krajicka i Pudlaka podaje więcej tego rodzaju przykładów związanych z kryptografią, ale wyprzedza AKS i powiązane postępy o kilka lat.Σ1bS.2)1
François G. Dorais
źródło
10

T.do0V.T.do0

T.V.0V.T.do0T.do0

(zan)

p(zap)=1zap

S.2)1

Inną klasę przykładów podano w testach nieredukowalności i algorytmach faktoryzacji dla wielomianów (przede wszystkim nad polami skończonymi i racjonalnymi). Te niezmiennie opierają się na małym twierdzeniu Fermata lub na jego uogólnieniu (między innymi) i jako takie nie są znane jako możliwe do sformalizowania w odpowiedniej teorii ograniczonej arytmetyki. Zazwyczaj algorytmy te są losowe, ale w przypadku deterministycznych przykładów czasu wielomianowego można wziąć test nieredukowalności Rabina lub algorytm pierwiastka kwadratowego Tonelli – Shanksa (sformułowany tak, że jako część danych wejściowych wymagana jest kwadratowa nieresztalność).

Emil Jeřábek wspiera Monikę
źródło
9

Test pierwszeństwa AKS wydaje się dobrym kandydatem, jeśli wierzyć Wikipedii.

Spodziewam się jednak, że taki przykład będzie trudny do znalezienia. Istniejące dowody zostaną sformułowane w taki sposób, aby oczywiście nie były wykonywane w ograniczonej arytmetyce, ale prawdopodobnie będą one „przystosowalne” do ograniczonej arytmetyki przy większym lub mniejszym wysiłku (zwykle większym).

Andrej Bauer
źródło
2
S.2)1
2
S.2)1S.2)1
2
Jest wspaniały artykuł Krajicka i Pudlaka, który podaje kilka innych przykładów: karlin.mff.cuni.cz/~krajicek/j-crypto.ps
François G. Dorais
2
@ François, dlaczego nie opublikować odpowiedzi? :)
Kaveh
8
Tak więc otrzymuję najwyższą liczbę głosów pozytywnych za wcześniejsze zgadywanie, podczas gdy inni wiedzą, co się dzieje. Matematyka jest jak MTV.
Andrej Bauer,