私は非常に興味深く、未解決の質問である「シングルテープチューリングマシンのアルファベット」(Emanuele Violaによる)で遊んでいて、次の言語を思いつきました。
ここでは、文字列xの1の数です。
たとえば、x = 01101111の場合、n = 8、m = 3、k = 2、これ
L単一テープと3つのシンボルアルファベットとチューリングマシンによって認識することができるでO (N ログN)手順を?
4つの記号を使用すると、答えは「はい」になります。
- 確認する交換0とSをεと1とS 2と同時に店でM 1右のS。
- 次に、Oのmを法とするの数を数えます(n log n)。
例えば:
....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