Bawiłem się bardzo interesującym i wciąż otwartym pytaniem „ Alfabet maszyny Turinga na jedną taśmę ” (autor: Emanuele Viola) i wymyśliłem następujący język:
gdzie jest liczbą s w ciągu x.1
Na przykład, jeśli x = 01101111, to n = 8, m = 3, k = 2; więc
Czy L może zostać rozpoznany przez maszynę Turinga z pojedynczą taśmą i 3 symbolami alfabetu w krokach ?
Jeśli użyjemy 4 symboli, odpowiedź brzmi tak:
- sprawdź, czy zastępuje s i s a jednocześnie zapisz s po prawej stronie;
- następnie policz liczbę s modulo w .
Na przykład:
....01101111....... input x (|x| = 8 = 2^3)
000.021.1212.0001.. div 2, first sweep (000. can safely be used as a delimiter)
000.022.1222.00011. div 2, second sweep
000.022.2222.000111 div 2, third sweep --> m = 3 (= log(n) )
000..22.2222....111 cleanup (original 1s are preserved as 2)
000..22.2221102.... start modulo m=3 calculation
000..22.2210022.... mod 3 = 2
000..22.2000222.... mod 3 = 0
000..22.0012222.... mod 3 = 1
000..20112.2222.... mod 3 = 2
000..11122.2222.... ACCEPT