Dla dowolnego języka istnieje takie, że ale

9

Próbuję wymyślić dowód na następujące kwestie:

Dla każdego języka A istnieje język B , tak że ATB a B TA .

Myślałem o pozwoleniu B być ATM , ale zdaję sobie sprawę, że nie wszystkie języki Turing można zredukować do ATM , więc ATB nie wytrzyma. Jaki mam inny wybór B , który pozwoliłby mi napisać TM, która użyłaby wyroczni, aby B zdecydował się na A ?

Dzięki!

użytkownik1354784
źródło
Co powiesz na B=NPA ?
Eugene
3
Pomyśl o problemu stopu na Maszyna Turinga z oracle A .
Willard Zhan
2
@ user1354784 Maszyny Turinga z wyrocznią A można wymienić. Spróbuj więc użyć standardowej diagonalizacji, gdzie jedyną zmianą jest to, że dla każdego αΣ , Mα reprezentuje wyrocznię TM z wyrocznią A zamiast normalnej TM.
Willard Zhan,
1
@DavidRicherby Tak, ale B nie jest naprawiony, jest zbudowany wiedząc, co to jest A. Jeśli otrzymamy trochę A, budujemy B, które akceptuje każdą wyrocznię TM z wyrocznią dla tego konkretnego A, który akceptuje ciągi w A. Jeśli otrzymamy inne A, lista TM w B będzie inna.
user1354784,
1
@ user1354784 Dokładnie. Miałem na myśli ten komentarz jako kolejne wyjaśnienie, dlaczego nie możemy przyjąć jak zasugerowałeś (i już odrzuciłeś, z innego powodu) w swoim pytaniu. Zapomniałem wyjaśnić, że o to mi chodziło - przepraszam za zamieszanie. B=ATM
David Richerby,

Odpowiedzi:

1

Niech , skok Turing od . Jest to podstawowy wynik w teorii stopni Turinga.B=AA

Bjørn Kjos-Hanssen
źródło
1

Przed zanurzeniem się w dobrą odpowiedź - mianowicie, że możemy relatywizować problem zatrzymania, aby przypisać każdemu językowi język taki, że (między innymi) - warto zobaczyć głupią odpowiedź:XXX<TX

  • Cantor pokazał, że istnieje niezliczona ilość języków.

  • Ale każdy konkretny język może obliczyć tylko policzalnie wiele języków: pojedyncza maszyna Turinga może przynieść tylko jedną redukcję z danego języka , a istnieje tylko policzalnie wiele maszyn Turinga.AA

Tak więc wiemy, nie wykonując żadnej poważnej pracy, że:

Dla każdego języka , większość (= wszystkie) ale przeliczalnie wiele języków usatysfakcjonować .ABBTA

Teraz łączymy to z Turinga join : podane języki , łączenia składa się z „przeplatania” i . Istnieją różne sposoby jego zdefiniowania - np. Myśląc o i jako zbiorach naturali, zwykle pozwalamy - ale ważną cechą jest to, że (i tak naprawdę to ich -najmniejsza górna granica) .X,YXYXYXYXY={2i:iX}{2i+1:iY}XYTX,Y T

Możemy więc zastosować powyższe, aby uzyskać:

Dla każdego języka , większość (= wszystko ale przeliczalnie wielu) Języki usatysfakcjonować .ABA<TAB


Rodzi to następnie pytanie o nie-głupi dowód, a mianowicie naturalny sposób na stworzenie języka znacznie bardziej skomplikowanego niż dany, i do tego właśnie służy skok Turinga; ale warto zrozumieć ten niekonstruktywny argument sam w sobie.

Noah Schweber
źródło