Apakah PC kami berfungsi sebagai Mesin Turing?

8

Apakah PC kami berfungsi sebagai Mesin Turing? Model Mesin Turing terdiri dari pita memori tak terbatas, yang berarti status tak terbatas. Tapi anggaplah jika PC kita memiliki 128 MB memori dan 30GB disk itu akan memiliki 256 ^ 30128000000 negara dan dengan demikian, ia memiliki status yang terbatas.

Saya tahu bahwa kita dapat menulis jenis program yang, jika selama eksekusi kita kehabisan memori, akan meminta untuk menukar disk memori dengan disk memori kosong dan melanjutkan eksekusi.

Tetapi bagaimana jika kita tidak menukar disk memori, dalam hal ini apakah benar untuk menganggap PC sebagai FA ?

siddstuff
sumber
catat bahkan [besar] disknya terbatas & oleh karena itu perhitungan berdasarkannya dapat direpresentasikan secara teknis sebagai FSM. sangat mirip dengan pertanyaan lain ini Turing kekuatan komputasional dan lengkap
vzn
Komputer tidak terbatas pada memori internal; dapat menggunakan penyimpanan eksternal juga.
reinierpost
Tidak, ini berfungsi sebagai mesin von Neumann. Juga, lebih dekat hingga tak terbatas dari yang Anda harapkan. 25630128000000
Andrej Bauer
Mesin Turing tidak harus memiliki jumlah memori yang tak terbatas. Mereka hanya memiliki jumlah memori yang cukup untuk melakukan apa pun yang ingin Anda lakukan. Jika Anda membatasi diri untuk menghentikan program, mesin Turing mungkin juga memiliki memori yang terbatas. Either way, jumlah memori mesin turing akan digunakan pada waktu tertentu terbatas, meskipun mungkin meningkat. Komputer jaringan juga memiliki jumlah memori yang terbatas, tetapi mungkin juga meningkat.
DanielV

Jawaban:

11

Anda benar bahwa komputer fisik memiliki memori yang terbatas sehingga tidak Turing-lengkap. Ada beberapa cara lain di mana teori komputasi bukanlah model yang baik untuk komputasi - tidak memperhitungkan waktu dan kendala memori. Teori kompleksitas ditemukan (mungkin) sebagai penggambaran komputasi yang lebih realistis, tetapi IMHO menderita masalah yang serupa (tetapi lebih halus).

Di sisi lain, untuk mempelajari kemampuan dan batasan komputasi secara matematis, kita perlu menggunakan beberapa abstraksi yang tidak dibatasi. Itu memungkinkan analisis. Demikian pula, dalam mekanika statistik kita mengasumsikan bahwa jumlah elemen (atom atau molekul) sangat besar, sehingga perilakunya mendekati batas (yaitu, kita membiarkan jumlah elemen cenderung tak terhingga). Mempelajari komputasi dari perspektif asimptotik memiliki kelebihan yang serupa, tetapi terkadang menyesatkan. Berikut adalah beberapa contoh yang terakhir:

  1. Dalam kriptografi, algoritma eksponensial kadang-kadang layak. Jika kita memilih parameter keamanan yang salah, enkripsi kita mungkin tidak aman meskipun "terbukti aman".
  2. Algoritma polinomial-waktu dianggap mewakili komputasi yang efisien dan layak, tetapi banyak dari mereka tidak layak. Sebagai contoh, kebanyakan algoritma penggandaan matriks yang canggih tidak digunakan dalam praktiknya.
  3. Teori kompleksitas modern terobsesi dengan kinerja kasus terburuk, dan tidak dapat menganalisis algoritma heuristik yang digunakan dalam praktik. Masalah NP-hard dianggap tidak layak, namun mereka dipecahkan dalam praktik sepanjang waktu.

Masalah terpisah adalah bahwa komputer sungguhan sama sekali tidak bekerja seperti mesin Turing. Mereka bekerja seperti mesin RAM, yang merupakan abstraksi yang lebih baik untuk komputasi yang sebenarnya.

Yuval Filmus
sumber
4

Saya pikir Anda sudah memberikan jawabannya sendiri. Jika aspek utama yang Anda khawatirkan adalah keadaan negara (dalam), maka Mesin Turing hanya ada sebagai "perangkat hipotetis".

Tidak peduli berapa banyak memori yang akan Anda berikan pada PC Anda, itu akan selalu terbatas, maka Anda dapat menemukan program yang akan berjalan pada Mesin Turing "nyata", tetapi tidak pada PC ini karena pita terikat.

http://en.wikipedia.org/wiki/Turing_machine#Comparison_with_real_machines

Penjaga
sumber
Mesin Turing memiliki jumlah negara yang berpotensi tak terbatas, tetapi mesin Turing universal dapat mensimulasikan mesin Turing apa pun, sementara pada saat yang sama memiliki sejumlah kondisi tetap.
Yuval Filmus
7
@YuvalFilmus Saya pikir Anda bingung antara status dan konfigurasi. Semua mesin Turing memiliki status angka terbatas, tetapi karena memori tidak terikat yang dapat berada dalam banyak konfigurasi tanpa batas. Universal TM juga hanya memiliki banyak negara, tetapi mungkin memerlukan memori tidak terbatas untuk mensimulasikan mesin input mereka.
adrianN
1

Pada saat mesin Turing ditemukan, komputer adalah wanita yang akan melakukan perhitungan pada kertas bekas. Itulah pengertian komputasi yang diekspresikan oleh mesin Turing. Rekaman mereka bukan bagian dari mereka sama seperti kertas bekas adalah bagian dari seseorang yang melakukan perhitungan.

Ini masih merupakan model yang baik untuk perhitungan berbasis komputer karena batas-batas pada sumber daya di komputer biasanya cukup besar. Model perhitungan yang terbatas secara inheren hanya menjadi berguna ketika jumlah keadaan yang mungkin sangat kecil.

reinierpost
sumber
-1

Komputer modern adalah Turing lengkap, umumnya istilah ini digunakan dengan pengecualian perangkat penyimpanan tak terbatas. Dalam praktiknya, ingatannya bisa cukup lama. Sebagai contoh, seiring dengan menjadi penduga fungsi universal, jaringan saraf berulang dengan memori (dan berjalan berulang kali) dikatakan Turing lengkap. Memang, Mesin Neural Turing membawa ide ini ke tahap lebih lanjut dengan menyimpulkan algoritma sederhana.

Tolga Birdal
sumber
Bagaimana ini menjawab pertanyaan?
Raphael