Що станеться, якщо ми визначимо P P A D
В останній час дає більш швидкі алгоритми для ланцюга здійсненності для невеликих ланцюгів виявилися важливими, так цікаво , що відбувається з rectricted версій P P A D
Що станеться, якщо ми визначимо P P A D
В останній час дає більш швидкі алгоритми для ланцюга здійсненності для невеликих ланцюгів виявилися важливими, так цікаво , що відбувається з rectricted версій P P A D
Відповіді:
Основна ідея досить проста: A C 0 може зробити один крок обчислення машини Тьюрінга, отже, ми зможемо імітувати один обчислюваний край у поліномі в часі поліноміально довгою лінією обчислюваних ребер A C 0 . Подальшим розширенням ідеї можна було б імітувати ребра, які можна обчислити в полі-часі, із оракул PPAD, тобто PPAD закритий при зменшенні Turing; цей аргумент викладений у Buss та Johnson .
У літературі є багато рівнозначних визначень PPAD, які різняться різними деталями, тому дозвольте мені виправити одне тут для визначеності. Завдання пошуку NP S є в PPAD, якщо є поліном p ( n ) і поліноміально-часові функції f ( x , u ) , g ( x , u ) , h ( x , u ) з такими властивостями. Для кожного вводу x довжини n , f і g представляють спрямований графік G
Вузол 0 p ( n ) ∈ V x є джерелом (тобто він має ступінь 0 і ступінь 1 ). Якщо u ∈ V x є будь-яке джерело або раковина (ступінь 1 , ступінь 0 ), відмінна від 0 p ( n ) , то h ( x , u ) є рішенням S ( x ) .
Ми можемо визначити A C 0 P A D аналогічно, за винятком того, що нам потрібно f , g , h, щоб бути у F A C 0 .
Я буду ігнорувати h в конструкції для простоти. (Не важко показати, що можна вважати це проекцією, отже, A C 0 - обчислювальна.)
So, consider a PPAD problem S
(0,u,c1,…,ck)
(0,u,c1,…,cq(n),v,d1,…,dk)
(1,v,d1,…,dk)
(1,v,d1,…,dq(n),u,c1,…,ck)
E′x consists of the edges in V′x×V′x of the following kinds:
(0,u,c1,…,ck)→(0,u,c1,…,ck+1)
(0,u,c1,…,cq(n))→(0,u,c1,…,cq(n),v)
(0,u,c1,…,cq(n),v,d1,…,dk)→(0,u,c1,…,cq(n),v,d1,…,dk+1)
(0,u,c1,…,cq(n),v,d1,…,dq(n))→(1,v,d1,…,dq(n),u,c1,…,cq(n)) if f(u)=v and g(v)=u (i.e., either (u,v)∈Ex, or u=v is an isolated vertex)
(1,v,d1,…,dq(n),u,c1,…,ck+1)→(1,v,d1,…,dq(n),u,c1,…,ck)
(1,v,d1,…,dq(n),u)→(1,v,d1,…,dq(n))
(1,v,d1,…,dk+1)→(1,v,d1,…,dk)
(1,u)→(0,u)
Formally, let r(n) be a polynomial bounding the lengths of binary representations of all the sequences above (such that we can extend or shorten sequences, and extract their elements with AC0-functions); we actually put V′x={0,1}r(n), and we let all vertices except the above-mentioned sequences to be isolated.
It is easy to see that the functions f′, g′ representing G′x are AC0-computable: in particular, we can test in AC0 whether c1,…,ck is a valid partial computation of f(x,u), we can compute ck+1 from ck, and we can extract the value of f(x,u) from cq(n).
The sinks in G′x are nodes of the form (0,u,c1,…,cq(n),u,d1,…,dq(n)) where u is a sink in Gx. Likewise, sources are (1,v,d1,…,dq(n),v,c1,…,cq(n)) where v is a source in Gx, except that in the special case v=0p(n), we have pruned the line early and the corresponding source in G′x is just (0,0p(n)). We can assume the encoding of sequences is done in such a way that (0,0p(n))=0r(n).
Thus, f′ and g′ define an AC0PAD problem S′, and we can extract a solution to S(x) from a solution to S′(x) by an AC0-function h′ which outputs the second component of a sequence.