Bilgisayar ve Yazılım

Evrensel Turing Makinesi ve Karar Verme Problemi

Alan Turing 1936’da 24 yaşında bir lisansüstü öğrencisiyken, modern bilgisayar kullanımına zemin hazırlayan bir makale yazdı. Bu makalesindeki asıl amacı 1928 yılında David Hilbert tarafından ortaya atılan ve karar verme problemi denilen gizemli bir matematiksel sorunu çözmekti.

Hilbert, şunu merak ediyordu: Bütün matematiksel önermeler çözümlenebilir mi yoksa bazıları kararsız mıdır? Eğer matematik karar verilebilir bir bilim dalıysa, herhangi bir matematiksel ifadeye kesin bir evet ya da hayır cevabı verebilecek bir makine yapılabilecekti. Bu sayede matematiğin tün önemli problemleri çözülebilecekti.

Bu sorunun yanıtını verebilmek için Alan Turing‘in önce ne tür bir makinenin böyle bir işi başarabileceğini kavramsallaştırması gerekiyordu. Sonsuz bir kağıt şerit üzerine yazılan sembolleri okuyan bir makine düşledi. Makine sembolü okuduktan sonra ne yapılacağına, sembolü sil ve/veya yeni sembol yaz, şeridi sağa/sola kaydır, karar verecekti. Bu tür bir Turing makinesi kurallara bağlı olarak matematiksel problemleri çözebilecekti.

Evrensel Turing Makinesi

Devamında Turing şeridin kendi içinde de kurallar belirlenebileceğini fark etti. Bu tür bir aygıt her türlü matematiksel ve mantıksal işlem sırasının üstesinden gelebilecek ve Evrensel Turing Makinesi yani bilgisayar olabilecekti.

Turing’in kuramsal aygıtı 5 yıl içinde hayata geçirildi ve Z3, Berlin’de 1941’de yapıldı. Alman hükumeti bilgisayarın askeri alandaki potansiyelini fark edemedi ama İngilizler aynı hataya düşmedi. Turing savaş esnasında şifrelerin kırılmasında büyük rol oynayan Colossus bilgisayarları ile çalışmaya başladı.

Bilgisayar Hayır Derse

Alan Turing bize aynı zamanda evrensel Turing makinesi ile bile çözülemeyecek problemler olduğunu gösterdi. Alan Turing’in bir bilgisayar tarafından asla çözülemeyeceğini söylediği problemlerden birisi özgöndergeli olan” Bu program duracak mı?” sorusudur.

“Durma problemi” olarak adlandırılan bu problem, herhangi bir girdiyi işleyen herhangi bir bilgisayar programının eninde sorunda durup durmayacağını söyleyecek genel bir algoritma olup olmadığını sorar.

Bir algoritmayı uygulayacak bir Turing makinesi kurduğunuzu ve girdiyi sonsuz uzunluktaki bandın üzerine yazıp makineye verdiğinizi düşünün. Verileri okuyup işlemeye başlayan makine bir süre sonra durup size cevabı mı verir, yoksa sonsuza kadar çalışmaya devam mı eder?

Hiçbir bilgisayar programı buna kesin bir yanıt bulamaz. Turing bu sonuçtan yola çıkarak herhangi bir matematiksel ifadenin doğru mu yanlış mı olduğunu belirleyecek bir prosedür olmadığını ortaya koymuştur. Böylece matematiği kökten çözme olasılığı ortadan kaybolmuştur.

Konu ile ilgili aşağıdaki videoya da göz atmak isteyebilirsiniz.

Konu ile ilgili bir başka yazımıza göz atmak isterseniz:
https://www.matematiksel.org/bilgisayarlarin-cozmesi-imkansiz-problem-durma-problemi/

Matematiksel

Sibel Çağlar

7 yıl Kadıköy Anadolu Lisesinin devamında lisans eğitimimi Marmara Üniversitesi İng. Matematik öğretmenliği üzerine tamamladım. Devamında 20 yıl çeşitli özel eğitim kurumlarında matematik öğretmenliği ve eğitim koordinatörlüğü yaptım. 2015 yılında matematiksel.org web sitesini kurdum. Amacım bilime ilgiyi arttırmak, bilimin özellikle matematiğin zihin açıcı yönünü açığa koymaktı. Yolumuz daha uzun ve zorlu ancak en azından deniyoruz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.