Definicja P jest językiem, o którym decyduje algorytm wielomianowy. Definicja P / poly może być rozumiana jako język, który może być ustalony przez obwód wielkości wielomianowej (patrz http://pages.cs.wisc.edu/~jyc/02-810notes/lecture09.pdf ). Dlaczego więc nie można symulować obwodu wielomianowego w czasie wielomianowym?
10
Odpowiedzi:
Chodzi o to, że obwody mają stałą liczbę wejść. Oznacza to, że do zdefiniowania języka potrzebujemy rodziny obwodówdo0,do1,do2), … taki, że obwód doja mówi ci, które ciągi długości ja są w każdym języku ja . Nie wymaga to żadnego związku między obwodamidoja i Ci+1 : mogą być zupełnie inne. W szczególności dla każdego zestawu S⊆N , możesz ustawić deklaruj Ci=true gdyby i∈S i Ci=false dla i∉S . Nawet jeśliS jest nierozstrzygalny!
Natomiast język jest wP jeśli istnieje jedna maszyna Turinga, która powie ci, czy każde możliwe wprowadzenie każdej możliwej długości jest w języku. Teraz nie możesz grać w śmieszne gry o wejściach o różnej długości.
Masz rację, że możemy ocenić dowolny obwód stałyP . Ale to niekoniecznie wystarcza do wyboru językaP/poly . Aby to zrobić, musielibyśmy najpierw obliczyć długość wejścia, a następnie użyć tego do ustalenia, który obwód Ci musimy ocenić, a następnie ocenić obwód. Jak pokazuje powyższy przykład, część „określ, który obwód” może nawet nie być obliczalna, a tym bardziej obliczalna w czasie wielomianowym.
źródło