Mesin Turing dua warna N -state sederhana yang beroperasi pada kotak sel hitam dan putih yang terbungkus, dan mengikuti aturan khusus di setiap detak jam.
Lihat http://turmites.destructuring-bind.org untuk contoh yang sedang berjalan. Secara default, satu semut dibuat secara otomatis; Semut tambahan dapat ditambahkan dengan mengklik kanvas.
Aturan dapat ditentukan dengan menambahkan parameter rule=...
, yang beberapa nilai yang diizinkan ditunjukkan di bawah ini.
langtons-ant (yang memiliki aturan implisit 120080)
tali melingkar (aturan implisit: 111180121010)
seni komputer (aturan implisit: 180121020081)
fibonacci (aturan implisit: 181181121010)
jalur cacing (aturan implisit: 121181121020)
spiral bergaris (aturan implisit: 021080181020)
Daftar lengkap aturan yang telah ditentukan sebelumnya dapat ditemukan di sini. Jika tidak ada aturan yang diberikan, maka aturan yang telah ditentukan sebelumnya akan dipilih secara acak. Atau, sebagai alternatif, definisi aturan dapat ditentukan sebagai rangkaian angka numerik, misalnya. http://turmites.destructuring-bind.org/?rule=021080181020
Aturan dua warna N -state terdiri dari 2N tiga kali lipat, {a,b,c} , di mana:
a : warna baru persegi
b : arah putaran turmite
c : keadaan internal turmite yang baru
Misalnya, turmite fibonacci, yang memiliki definisi aturan 181181121010 , memiliki dua keadaan dan dua warna, dan dibagi menjadi empat tripel {1,8,1}, {1,8,1}, {1,2,1} dan {0 ,1,0}. Triple partikulat dipilih berdasarkan keadaan saat ini dan warna saat ini. Oleh karena itu, tripel {1,8,1} menyatakan bahwa warna harus berubah menjadi 1, belok kiri (8) dan mengadopsi keadaan 1 sebelum bergerak maju.
Arah berbelok ditentukan oleh:
1: tidak ada giliran
2: benar
4: putar balik
8: kiri
Tindakan tersebut ditentukan oleh tabel transisi keadaan yang mencantumkan keadaan internal turmite saat ini dan warna sel tempat ia berdiri saat ini. Misalnya, rangkaian aturan berikutnya yang digunakan untuk fibonacci tripel yang ditunjukkan di atas digunakan oleh tabel berikut:
current-color = 0 current-color = 1
current-state = 0 1,8,1 1,8,1
current-state = 1 1,2,1 0,1,0
Jadi jika keadaan saat ini adalah 1 dan warna saat ini adalah 0, maka tripel {1,2,1} dipilih dan warna, arah, dan keadaan baru diturunkan darinya.
Panggil instance noir menggunakan leiningen:
$ lein run
Skrip clojure akan dikompilasi menjadi javascript sebagai bagian dari pembuatan, jadi telusuri ke http://localhost:8080
Jangan mencoba mengedit javascript - ini dikompilasi dari ClojureScript di src/turmites/client/core.cljs
menggunakan Leiningen dengan plugin lein-cljsbuild:
$ lein cljsbuild clean
$ lein cljsbuild auto
Refresh halaman di browser setelah menyimpan file dan biarkan tahap kompilasi selesai.
Turmites adalah generalisasi dari semut Langtons.
Terinspirasi (sebagian) oleh karya Stephen Wolfram, "A New Kind of Science", ISBN 1-57955-008-8
http://www.maa.org/editorial/mathgames/mathgames_06_07_04.html
http://code.google.com/p/ruletablerepository/wiki/TwoDimensionalTuringMachines
http://demonstrations.wolfram.com/Turmites/
https://en.wikipedia.org/wiki/Turmite
http://golly.sourceforge.net/
Hak Cipta (c) Richard Hull 2012
Sama seperti lisensi publik Eclipse - v 1.0: https://www.eclipse.org/legal/epl-v10.html