Bu yazıda Turing makinesi'i farklı açılardan inceleyip toplumun farklı alanları üzerindeki etkisini analiz edeceğiz. Turing makinesi son yıllarda büyük ilgi ve tartışma yaratan bir konudur ve alaka düzeyi artmaya devam etmektedir. Turing makinesi'in anlamını, tarihini, zaman içindeki gelişimini ve onunla ilgili var olan farklı görüş ve teorileri inceleyeceğiz. Ayrıca Turing makinesi'in kültürü, ekonomiyi, siyaseti ve günlük yaşamın diğer yönlerini nasıl etkilediğini inceleyeceğiz. Bu makale, okuyucuların günümüz dünyasındaki önemini ve sonuçlarını daha iyi anlayabilmeleri için Turing makinesi hakkında eksiksiz ve objektif bir bakış açısı sağlamayı amaçlamaktadır.
Turing makinesi (İngilizce Turing machine), karmaşık matematiksel hesapların belirli bir düzenek tarafından yapılmasını sağlayan hesap makinesi.
Karmaşık hesapların belirli bir düzenek tarafından yapılıp yapılamayacağı, 20. yüzyılın başlarında büyük bir tartışma konusu olmuştu. Öteden beri el ile veya zihinden yapılan hesaplamalar çok zaman almakla birlikte, birçok hatayı da beraberinde getiriyordu. Tüm bu tartışmalar sürerken, 1936 yılında, ünlü matematikçi Alan M. Turing "Saptama Problemi Hakkında Bir Uygulamayla Birlikte Hesaplanabilir Sayılar" (İngilizce On computable numbers, with an application to the Entscheidungsproblem) isimli bir makalesini yayınladı. Makalesinde teorik ve matematiksel temellere dayalı sanal bir makineden bahseden Turing, her türlü matematiksel hesabın bu sanal makineyle yapılabileceğini iddia ediyordu. Turing’in 1950 yılında yayınlanan "Hesaplama Mekanizması ve Zeka" (İngilizce Computing Machinery and Intelligence) isimli ikinci makalesi ise, makineler ve zekayla ilgili birçok tartışmalı konuya cevap niteliğindeydi. İşte bu makalelerde sözü geçen sanal makine daha sonraları bu adla isimlendirildi.
Bu tablo, Turing makinesinin çalıştırdığı algoritmadır. Turing makinesi, her adımda
Örneğimizdeki Turing makinesi sembol havuzu (yani alfabe) olarak {'B', '1'} kullanmaktadır. Bu makineni amacı, verilen girdinin en sağına 1 ekleyip girdinin en soluna geri dönmektir.
Bu amaca ulaşabilmek için, {'d0', 'd1', 'd2'} şeklinde üç durum kullanacağız. Bu durumların geçiş tablosu ise şu şekilde olacak:
Güncel durum |
Okunan simge |
İşlem | Yeni durum |
---|---|---|---|
d0 | 1 | Sağa git | d0 |
d0 | B | 1 yaz | d1 |
d1 | 1 | Sola git | d1 |
d1 | B | Sağa git | d0 |
Makine, ilk başta d0 durumunda olacak. Bu tabloya bakarak görebiliriz ki, d2 son durum olacak ve makinenin kafası şu işlemi yapacak:
Birkaç denemeyle bu makinenin istediğimiz işlemi yaptığını görebiliriz.
Anlatılan Turing makinesi, yapılabilecek en basit makinedir. Bunu şu şekilde geliştirebiliriz:
Buna ek olarak, anlatılan Turing makinesi belirlenimci (determinist) bir makinedir, başka bir deyişle aynı girdi için her zaman aynı çıktıyı üretir: