Dapat dibuktikan bahwa DSPACE DSPACE jika tumbuh setidaknya secara linear dengan menggunakan varian sederhana dari argumen padding standar. Untuk bahasa , misalkan .( f( 3)2n ) ) ≠ (f(n))fLL′={x0| x| /2∣x∈L}( f( n ) )fL.L.′= { x 0| x | / 2∣ x ∈ L }
Klaim. DSPACE jika dan hanya jika DSPACE jika .L ∈( f ( n ) ) L ′ ∈ ( f ( 2( f( n ) )L.′∈( f( 23n ) )f( n ) ≥ 32n
(Jawaban pertama saya memiliki beberapa pernyataan yang salah, terima kasih kepada Emil untuk mengetahui ini.)
Pertama-tama saya akan menunjukkan cara menggunakan klaim untuk membuktikan hierarki. Karena tumbuh setidaknya secara linear, kami memiliki DSPACE DSPACE . Ambil bahasa DSPACEf( 2 f ( n ) ) ⊂ ( f ( 2 n ) ) L ∈ ( f ( 2 n ) ) ∖ ( f ( n ) ) L ′ ∈ ( f ( 4 ( 4)( 2 f( n ) ) ⊂( f( 2 n ) )L ∈( f( 2 n ) ) ∖ DSPACE . Menggunakan klaim, DSPACE DSPACE , di mana kesetaraan terakhir adalah dengan asumsi tidak langsung. Tetapi kemudian DSPACE DSPACE , di mana kesetaraan terakhir lagi dengan asumsi tidak langsung, memberikan kontradiksi.( f( n ) )L′∈(f(43n))= (f(n))L∈(f(3(f(n))L∈(f(32n))= (f(n))(f(n))
Bukti klaim.
Jika DSPACEL′∈( f ( 2(f(23n)) , maka untuk membuktikan DSPACE , kita hanya perlu menulis 0's di akhir input dan mensimulasikan mesin yang menerima . Karena , ini tidak akan menambah ruang yang kita gunakan. (Faktanya, mengetahui berapa 0 untuk menulis tidak jelas sama sekali jika kecil dan kita tidak dapat meningkatkan ukuran alfabet - sebagai gantinya, kita dapat menggunakan kaset lain dan menulis bahwa segala sesuatu yang akan datang setelah akhir .)L∈(f(n))| x| /2xL′f(n)≥3(f(n))|x|/2xL′f(n)≥32nfx
Arah lainnya hanya sesederhana ini dengan mengganti 0 dengan *, jika kita diizinkan menulis *. (Lihat masalah dengan ini di komentar saya untuk pertanyaan.) Jika kita tidak diizinkan untuk menulis bintang, maka kita sedikit mengubah definisi sebagai . Sekarang, alih-alih menulis bintang, kami menyimpan input asliL′L′={x10|x|/2∣x∈L}x10|x|/2dan bekerja dengan itu. Tetapi setiap kali kita mencapai angka 1, kita ke kanan sampai kita menekan angka 1 yang lain untuk memeriksa apakah itu kata akhir 1 atau tidak. Jika kami telah menemukan 1 lainnya, kami hanya kembali ke 1. kami. Jika belum, kami masih kembali, tetapi kami akan tahu bahwa itu harus diperlakukan sebagai bintang - jika kami ingin menulis di atasnya, maka kami juga menulis 10 setelahnya untuk memiliki penanda akhir kata saat ini. (Bahkan, ada juga tangkapan kecil di bagian ini jika kecil - bagaimana kita dapat memeriksa apakah inputnya dalam bentuk ? Tanpa merusak input, saya hanya dapat menyelesaikan ini dengan menggunakan beberapa kepala untuk kecil .)fx10|x|/2f