Rumah Kewangan Peribadi Cabaran Pengaturcaraan java: Mewujudkan Mesin Turing Mudah - dummies

Cabaran Pengaturcaraan java: Mewujudkan Mesin Turing Mudah - dummies

Video: Rahasia Spek Mesin CB Agar Mudah Wheelie 2024

Video: Rahasia Spek Mesin CB Agar Mudah Wheelie 2024
Anonim

Pada tahun 1936, ahli matematik Alan Turing jenis Mesin pengkomputeran yang mudah dipanggil Mesin Turing . Turing tidak pernah membina Mesin Turing. Sebaliknya, ia adalah alat hipotesis yang dia bantu untuk membantu dalam kajian tentang kebolehkomputeran - iaitu, sama ada masalah kompleks boleh diselesaikan dengan langkah-langkah pengiraan dan sama ada mesin boleh dibuat yang boleh menyelesaikan sebarang masalah yang boleh dikira. (Jika anda berminat untuk mengetahui lebih lanjut mengenai sejarah atau aplikasi mesin Turing, anda boleh menemui banyak artikel tentangnya di Internet. Hanya gunakan mana-mana penyedia carian untuk mencari "mesin Turing".

Pengendalian Mesin Turing adalah mudah. Ia merangkumi hanya beberapa konsep asas:

  1. Jantung Mesin Turing adalah pita panjang yang panjang yang dibahagikan kepada sel ke mana maklumat dapat ditulis.

    Dalam amalan sebenar, tentu saja, tiada peranti fizikal boleh mempunyai bilangan sel tak terhingga. Tetapi dalam teori Mesin Turing, pita tidak terbatas.

  2. Maklumat yang boleh ditulis pada setiap sel adalah terhad kepada simbol tunggal, seperti 0 atau 1. Namun, maklumat boleh diwakili oleh gabungan nilai-nilai sel-sel berturut-turut.

    Sebagai contoh, anda boleh mewakili nilai angka dengan kejadian berturut-turut simbol 1 diikuti oleh 0. Oleh itu, 1110 mewakili nilai 3 kerana terdapat tiga 1; 111111011110 mungkin mewakili nilai 6 dan 4 (enam 1 diikuti oleh sifar, diikuti dengan empat 1 diikuti oleh sifar lain).

  3. Mesin Turing mengandungi kepala baca tulis yang selalu diposisikan lebih dari satu (dan hanya satu) sel pita.

    Kepala baca tulis ini boleh membaca simbol yang terdapat di dalam sel. Ia juga boleh memadam simbol dan, jika dikehendaki, tulis simbol baru di tempatnya. Sel di mana kepala baca tulis diletakkan dirujuk sebagai sel semasa atau sel .

  4. Pita itu bermotor supaya ia dapat dipindahkan ke kiri atau ke kanan di bawah satu kepala baca tulis satu sel pada satu masa.

  5. Mesin ini mempunyai keadaan , yang diwakili oleh simbol seperti huruf abjad.

Seperti mana-mana komputer, Mesin Turing boleh diprogramkan. Walau bagaimanapun, satu program untuk Mesin Turing tidak jauh menyerupai program Java.

Sebaliknya, program Mesin Turing hanyalah satu set peraturan yang dinilai untuk menentukan tindakan yang harus dilakukan oleh mesin. Setiap peraturan mengenalpasti tindakan yang akan diambil apabila sel semasa mengandungi simbol yang diberikan dan mesin berada dalam keadaan tertentu.Sebagai contoh, peraturan mungkin menentukan apa yang harus dilakukan jika sel semasa mengandungi 1 dan keadaan mesin adalah "a".

Setiap peraturan boleh menentukan salah satu daripada tiga tindakan:

  • Hapus sel semasa atau tulis nilai baru ke sel.

  • Pindahkan pita satu sel ke kiri atau satu sel ke kanan.

  • Tukar keadaan mesin ke keadaan baru.

Sebagai contoh, peraturan mungkin menyatakan bahawa jika sel semasa mengandungi 1 dan keadaan mesin adalah "a," Mesin Turing perlu menulis 0 dalam sel semasa, memajukan pita satu sel ke kanan, dan menukar keadaan mesin kepada "b. "

Selain program, pita Mesin Turing dapat memiliki nilai awal.

Itu sahaja; itu adalah definisi keseluruhan Mesin Turing. Walaupun kesederhanaannya, Mesin Turing boleh mengira apa-apa dari 2 + 2 hingga trajektori roket ke Marikh.

Untuk cabaran ini, anda mesti membuat mesin Turing yang sangat mudah. Untuk mempermudah masalah, terima keterbatasan berikut pada versi Mesin Turing ini:

  • Pita tidak perlu tak terbatas. Anda boleh menggunakan sebarang ciri Java - array, rentetan, atau koleksi - untuk mewakili pita.

    (Perhatikan bahawa walaupun pita itu tidak perlu tak terbatas, anda mesti dapat bergerak dengan mudah ke kiri atau kanan dari sel semasa. Jika anda memilih menggunakan array, jangan bermula dengan sel semasa pada elemen 0 kerana anda tidak boleh bergerak ke kiri dari sana.)

  • Sel boleh kosong atau ia boleh mengandungi sebarang huruf atau angka. Suatu sel kosong diwakili oleh watak garis bawah.

  • Keadaan ini boleh menjadi watak alfanumerik tunggal.

  • Program untuk Mesin Turing akan dibaca dari fail teks. Fail teks ini mengandungi satu peraturan per baris. Setiap peraturan mengandungi lima aksara, dipisahkan oleh ruang, yang memberikan butiran untuk setiap peraturan, seperti berikut:

    • Sel semasa: Nilai yang akan dipadankan untuk sel semasa.

    • Keadaan semasa: Nilai yang hendak dipadankan untuk keadaan mesin semasa.

    • Sel baru: Nilai untuk menulis ke sel baru. _ untuk memadamkan sel, * untuk meninggalkan sel tidak berubah.

    • Pergerakan: L atau R untuk menggerakkan pita ke kiri atau ke kanan; H untuk menghentikan program ini; mana-mana watak lain untuk tidak menggerakkan pita itu.

    • New state: Nilai baru untuk keadaan mesin. Sebagai contoh, berikut menyatakan bahawa apabila sel semasa adalah 1 dan keadaan adalah "a," sel semasa perlu ditetapkan kepada 0, pita itu bergerak satu sel ke kiri, dan keadaan harus ditetapkan kepada " b: "

  • 1 a 0 L b

    Baris pertama fail teks harus mengandungi rentetan yang mewakili nilai awal untuk pita.
    
    • Baris kedua fail teks harus mengandungi status awal.

    • Angka berikut menunjukkan antara muka pengguna untuk penyelesaian sampel, tetapi anda bebas menggunakan sebarang reka bentuk antara muka pengguna yang anda mahukan untuk projek ini.

Potensi antara muka Mesin Turing.

Berikut adalah beberapa pertimbangan untuk mewujudkan antara muka:

Nilai dan sel semasa:

  • Sekurang-kurangnya, anda harus menunjukkan nilai pita dan menonjolkan sel semasa. Peralatan dan paparan:

  • Anda juga harus menyediakan kemampuan untuk memulakan, menghentikan, atau memulakan semula pelaksanaan program, dan anda harus memaparkan hasil dari setiap langkah program. Pelaksanaan program:

  • Anda boleh menyediakan cara untuk pengguna menjalankan program yang dimuat dari awal hingga akhir, serta cara untuk pengguna melangkah melalui program dengan mengklik butang untuk melaksanakan setiap langkah daripada program ini. Memuatkan program

  • : Anda perlu memberikan butang yang membolehkan pengguna memuatkan mesin Turing Machine dari fail teks dan yang membiarkan pengguna menetapkan semula mesin untuk menjalankan program itu lagi. Berikut tip untuk melaksanakan pita tak terhingga: Gunakan tiga pemboleh ubah rentetan untuk memegang nilai-nilai pita, satu untuk watak tunggal yang disimpan dalam sel semasa, satu saat untuk aksara di sebelah kiri sel semasa, dan satu pertiga untuk aksara di sebelah kanan sel semasa. Anda kemudiannya boleh dengan mudah menggerakkan sel semasa ke kiri atau ke kanan dengan menggunakan gabungan yang tepat dari operasi penggabungan dan substring.

Anda boleh mencari penyelesaian untuk cabaran ini pada tab Muat Turun dari halaman produk

Java All-in-One Untuk Dummies, Edisi ke-4. Nasib baik!

Cabaran Pengaturcaraan java: Mewujudkan Mesin Turing Mudah - dummies

Pilihan Editor

Cara Mengeksport Persembahan PowerPoint 2016 anda ke PDF - patung

Cara Mengeksport Persembahan PowerPoint 2016 anda ke PDF - patung

PDF, yang bermaksud Format Dokumen Portable , adalah format yang popular untuk menukar fail. Anda boleh menukar persembahan PowerPoint 2016 ke format PDF dengan mengikuti langkah-langkah berikut: Pilih Fail → Eksport → Buat Dokumen PDF / XPS. Klik butang Buat PDF / XPS. Ini membawa kotak dialog yang ditunjukkan di sini. Membuat dokumen PDF. Navigasi ke lokasi di mana ...

Cara Cari Word dengan Thesaurus PowerPoint 2007 - patung

Cara Cari Word dengan Thesaurus PowerPoint 2007 - patung

Jika kata yang anda perlukan persembahan PowerPoint anda berada di hujung lidah anda tetapi anda tidak boleh mengingatinya, memberikan Thesaurus PowerPoint satu pukulan. Untuk mencari sinonim untuk perkataan pada slaid PowerPoint, mulakan dengan mengklik kanan perkataan dan memilih Sinonim pada menu pintasan. Untuk mencari sinonim yang baik, ...

Bagaimana untuk menarik objek sederhana dalam PowerPoint 2013 - dummies

Bagaimana untuk menarik objek sederhana dalam PowerPoint 2013 - dummies

Untuk menarik objek pada slaid PowerPoint 2013, pertama memanggil tab Insert pada Reben. Kemudian klik butang Bentuk (terletak dalam kumpulan Ilustrasi) untuk mendedahkan galeri bentuk yang boleh anda pilih. Akhir sekali, pilih bentuk yang anda mahu menarik dari galeri Bentuk. Simpan petunjuk ini untuk memastikan ...

Pilihan Editor

Cara Memindahkan Wang Antara Akaun Bank di QuickBooks 2011 - dummies

Cara Memindahkan Wang Antara Akaun Bank di QuickBooks 2011 - dummies

Menu Perbankan dalam QuickBooks 2011 membekalkan arahan yang berguna untuk memindahkan wang antara akaun bank. Hanya pilih Perbankan → Dana Pemindahan, dan QuickBooks memaparkan Dana Pemindahan Antara tetingkap Akaun. Ikuti langkah berikut untuk menggunakan Dana Pemindahan Antara tetingkap Akaun: Gunakan medan Tarikh untuk mengenal pasti tarikh pemindahan. Anda boleh memasukkan tarikh dalam ...

Bagaimana Membekalkan Nombor-nombor yang Hilang untuk Muktamadkan Carta Akaun dalam QuickBooks 2016

Bagaimana Membekalkan Nombor-nombor yang Hilang untuk Muktamadkan Carta Akaun dalam QuickBooks 2016

Tugas terakhir anda untuk memuktamadkan Carta Akaun adalah memasukkan jumlah baki percubaan ke dalam QuickBooks 2016. Untuk melaksanakan tugas ini, anda perlu mempunyai baki percubaan yang disediakan pada tarikh penukaran. Ikuti langkah berikut: Pilih Entri Syarikat → Buat Entri Jurnal Umum atau Akauntan → Buat Entri Jurnal Umum. Memaparkan QuickBooks ...

Cara untuk Mengirim Arahan Perbankan Elektronik dengan QuickBooks 2015 - patung

Cara untuk Mengirim Arahan Perbankan Elektronik dengan QuickBooks 2015 - patung

Anda boleh melakukan semua perbankan elektronik anda dengan QuickBooks. Selepas anda menerangkan pembayaran dalam talian dan pemindahan akaun yang anda mahu membuat QuickBooks, anda menghantar maklumat tersebut ke bank. Untuk berbuat demikian, ikuti langkah berikut:

Pilihan Editor

Menambahkan Carta Excel ke Dokumen Word 2007 - dummies

Menambahkan Carta Excel ke Dokumen Word 2007 - dummies

Apabila anda memasukkan carta dalam Word, Excel dimulakan secara automatik, dan data yang anda carta diletakkan dalam buku kerja Excel. Bagaimanapun, buku kerja Excel itu bukan? t disimpan sebagai dokumen berasingan. Sebaliknya, carta dan lembaran kerja buku kerja disimpan di dalam dokumen Word. Prosedur berikut menunjukkan bagaimana untuk memasukkan carta ...

Mengubah Format Seksyen dalam Dokumen Word 2007 - dummies

Mengubah Format Seksyen dalam Dokumen Word 2007 - dummies

Satu bahagian dalam Word 2007 adalah sebahagian dokumen yang mengandungi pemformatan halaman sendiri. Dengan bahagian, anda boleh mengarahkan arahan pemformatan halaman untuk hanya mempengaruhi seksyen dan bukannya merangkumi keseluruhan dokumen. Dengan setiap bahagian berasingan dari yang lain, dokumen boleh mempunyai pelbagai format. Dalam angka pertama ini, dokumen tersebut mempunyai ...