Alan Turing'in doğum gününü kutlayan Google, bir makine gösteren bir doodle yayınladı . Doodle nasıl bir makinedir? Turing Complete dilini ifade edebilir mi?
Klasik turing makinesinde bariz farklılıklar var: sonlu bir bant, durumun nasıl bağlanabileceği konusunda kısıtlamalar, ...
Doodle hala kullanılabilir olduğunu burada
(Sağ üstteki ekran beklenen çıktıyı gösterir.)
Ortadaki bant, boş, sıfır veya bir tutabilecek karelere bölünmüştür. Kafa karelerden birinin üzerine yerleştirilir ve okuma ve yazma için kullanılır.
Bandın altında, makineyi başlatmak için tıklayabileceğiniz yeşil bir ok görebilirsiniz. Yanında, bazıları birbirine bağlı iki daire çizgisi vardır. Onlara "devletler" diyeceğim.
Makine başladıktan sonra, yeşil düğmenin sağındaki ilk durum yanar, sonra sağdaki sonraki durum vb. Yanar ... Her durum aşağıdaki komutlardan birini içerir:
- blank = hiçbir şey yapma (sadece bir sonraki duruma geç)
- 1 = kafanın mevcut pozisyonundaki banda bir tane yazın
- 0 = kafanın geçerli konumunda kasete sıfır yazın
- ok sola = kafayı bir adım sola kaydır
- ok sağa = kafayı bir adım sağa hareket ettir
- Koşul: Kafanın altındaki değer karede gösterilen değere eşitse, ikinci durum satırına inin. değilse, sağdaki bir sonraki duruma geç
- sol atlama: (sabit) bir önceki duruma geri dönün, ancak sadece üst satırda [Aslında bunu unuttum, teşekkürler @Marzio!]
İki sıçramayı (üst üste) “örtüşmenin” bir yolu yoktur. Makine bir durum bıraktığında durur ve sağında bir sonraki durum yoksa.
(Makine durduktan sonra, bandın içeriği ekranın içeriğiyle karşılaştırılır, ancak bunun makinenin amaçlanan işlevselliğinin bir parçası olduğunu düşünmüyorum.)