Apa arti ruang sublinear untuk mesin Turing?

10

Masalah memutuskan apakah input adalah palindrom atau tidak telah terbukti membutuhkan ruang pada mesin Turing. Namun, bahkan menyimpan input membutuhkan ruang  jadi bukankah itu berarti bahwa semua mesin Turing memerlukan ruang ?Ω(logn)nΩ(n)

Tentu saja, tidak ada kontradiksi di sini, karena fungsi apa pun yang menggunakan setidaknya ruang linear juga menggunakan setidaknya ruang logaritmik. Tetapi menulis menunjukkan bahwa mesin Turing mungkin menggunakan kurang dari ruang linier - setelah semua, mengapa orang menghabiskan seluruh waktu untuk membuktikan jika itu adalah hal yang persis sama apa yang kelihatannya terikat sepele ? Jadi apa artinya bagi mesin Turing untuk menggunakan kurang dari ruang linear?Ω(logn)Ω(logn)Ω(n)

jsguy
sumber
3
Afaik, kompleksitas ruang biasanya mempertimbangkan memori tambahan untuk alasan ini. (Perhatikan bahwa pertanyaan Anda salah; Anda ingin bertanya "bagaimana mencapai O (log n) ...".)
Raphael

Jawaban:

15

Saat berhadapan dengan ruang terbatas, kami menggunakan model berikut. Mesin Turing memiliki tiga kaset: tape input read-only, tape work read-write, dan tape output read-only. Kami hanya mengukur konsumsi ruang pada pita kerja. Untuk palindrom, dengan spasi pada work tape kita bisa menerapkan loop UNTUK yang melewati input, membandingkan karakter yang cocok di kedua ujungnya. Setiap indeks membutuhkan ruang untuk menyimpan.O(logn)O(logn)

Yuval Filmus
sumber
Terima kasih atas jawabannya. Mengapa kita perlu mengkonversi indeks ke format biner? Saya pikir mesin Turing adalah model abstrak dari perhitungan, jadi mengapa mereka harus mengubah angka desimal menjadi representasi binernya?
jsguy
4
@ jsguy Mengapa Anda berasumsi bahwa angka dalam desimal? Tapi, pasti, desimal juga akan bekerja dengan baik. Masih membutuhkan digit. O(logn)
David Richerby
@ DavidRicherby, tidak bisakah sel kaset memegang angka yang memiliki lebih dari satu digit?
jsguy
4
@ jsguy Segarkan definisi mesin Turing. Sel rekaman memegang simbol tunggal dari alfabet.
David Richerby
@ DavidRicherby, terima kasih saya pikir itu masuk akal bagi saya sekarang!
jsguy