Jika saya memahami definisi Anda, ini dapat dilakukan dalam waktu linier dengan ruang konstan. Ini jelas merupakan batas terendah, karena kita harus setidaknya membaca seluruh input.
Jawaban yang diberikan dalam pertanyaan ini memuaskan.
Tidak mungkin menjalankan ini dengan sedikit waktu atau ruang, dan menambahkan waktu atau ruang tambahan tidak berguna, jadi tidak ada pertukaran ruang-waktu di sini. (Amati bahwa , jadi pengorbanan yang Anda amati tidak berlaku asimptotik, dalam hal apa pun.)n=O(n/k)
Dalam hal pertanyaan umum Anda, saya tidak tahu teorema bagus apa pun yang akan membantu Anda membuktikan pengorbanan ruang-waktu. Pertanyaan ini tampaknya menunjukkan bahwa tidak ada jawaban yang mudah diketahui. Pada dasarnya:
Misalkan beberapa bahasa decidable di waktu (menggunakan beberapa jumlah ruang) dan s ruang (menggunakan beberapa jumlah waktu). Bisakah kita menemukan f , g sedemikian sehingga L dapat ditentukan oleh M yang berjalan dalam waktu f ( t , s ) dan g ( t , s ) ?tsf,gLMf(t,s)g(t,s)
tidak diketahui, dan jawaban yang kuat akan memecahkan banyak masalah terbuka (terutama tentang SC), menyiratkan bahwa tidak ada solusi yang mudah.
EDIT: Ok, dengan pengulangan (tapi aku masih mengasumsikan bahwa dengan masukan dari ukuran jumlah maksimum yang mungkin adalah n + 1 ).nn+1
Perhatikan bahwa algoritma kami harus dapat membedakan antara setidaknya jawaban yang mungkin. Misalkan pada setiap melewati data kita bisa mendapatkan paling banyak k potongan data. Maka kita akan memerlukan n / k pass untuk membedakan semua jawaban. Dengan asumsi k = n / s maka kita jalankan di nnkn/kk=n/swaktu. Jadi saya pikir ini membuktikan apa yang Anda inginkan.nn/sn=sn
Kesulitannya adalah dalam menunjukkan bahwa setiap kali melalui kita hanya mendapatkan bit. Jika Anda menganggap bahwa satu-satunya operasi hukum kami adalah =, maka kami baik-baik saja. Namun, jika Anda mengizinkan operasi yang lebih rumit, maka Anda akan dapat memperoleh lebih banyak informasi.k