Alan Turing günümüzde bilgisayar biliminin atası olarak kabul ediliyor peki bu doğru mu? Bunu tartışabilmek için önce belli kavramları incelememiz gerekiyor.
Bilgisayar Bilimi Ne Demektir?
Bilgisayar bilimini ele alırken yazılım ile karıştırmak büyük bir hatadır. İşin aslında bilgisayar biliminin yazılım ile alakası yoktur. Bilgisayar biliminin amacı tekrara düşen işlemleri farklı bir araç aracılığıyla yapmak daha doğrusu otomatikleştirmeye çalışmaktır. Bu bağlamda ele aldığımızda bilgisayar bilimi ile ilişkilendirdiğimiz yazılımlar -amaç önündeki ön koşul değil de- sadece “araç” haline gelmektedir.
Yapay Zeka Nedir?
Bilgisayarların belli problemler karşısında insansı çözümler üretebilmesine yapay zeka denir.Basite indirgemek gerekirse en çok aşina olduğumuz yapay zeka ,internet çerezleri ve Facebook’un yarattığı yüz tanıma özelliği olabilir.
İnternet çerezleri sizin ilgi alanlarınızı bir kategoriye koyup sizin daha çok o kategoriden içerik görmenizi sağlarken, Facebook yüz algoritması ise bu konunun karmaşıklaşmasıdır.
İnsan zekası “öğrenir” keza yapay zeka da… Siz Facebook yapay zekasına çok sayıda X kişisi fotoğrafı gösterirseniz yapay zeka bu yüzü X kişisi diye bellekleyip -öğrenip- tekrar aynı yüzü gördüğünde ” X’i etiketle” diyecektir.
İlginizi çekebilir: Nasıl Yapay Zeka Mühendisi Olunur?
Programlama Nedir?
Yapay Zeka programlamanın alt başlığı, programlama ise bilgisayar biliminin alt başlığıdır. Programlama günümüzde yapay zekaya öğrenme işlevini tanımlarken -facebook örneğinde aslında sadece matrislerden oluşan bir yüzü anlamlandırmasını sağlamıştı- eskiden beri ilkel yönleriyle aramızda olan bir olgu.
İlk bilgisayar hakkında bir çok tartışma olsa da ilkel halı dokuma makineleri bu konu için mükemmel bir örnektir. Bu aletlerde iğnelerin geçeceği deliklere sahip dokuma kartları bulunuyordu ve bu kartlar her motif için değiştiriliyordu. Örneğin üçgen işleyebilmemiz için üç köşe noktası ve bu noktalar arasındaki kalan delikler açıktı. Diğer iğneler dokuma kartını aşamazken açık deliklerden geçen iğneler ile motif elde edilmiş oluyordu.
Bu “yap ve yapma“ lardan oluşan basit bir algoritma örneği aslında. Programlama kavramını da kavradıktan sonra Alan Turing’in neden bilgisayar biliminin atası atfedildiği konusunu ele alabiliriz.
İlginizi çekebilir: Kodlama Mı Öğreniyorsunuz? Güçlü Dil Becerileri Matematikte İyi Olmaktan Daha Önemlidir
Alan Turing ve Programlama
Dokuma makinesi örneğinde bir detay gözünüze çarptı mı? Üçgen işleyen dokuma kartını kare işlemek için kullanamıyoruz. Tahmin edemeyeceğimiz binlerce farklı senaryo için çaresiziz.
Alan Turing’in makinesi Enigma karşısında çaresiz değildi… Enigma II. Dünya Savaşı sırasında Almanlar’ın kullandığı 1019 farklı ihtimal ile çalışan bir şifreleme makinesiydi. İngiliz ordusu Matematikçi Alan Turing ve bir dizi başka insanı bu şifreleri kırması için görevlendirdi.
Şifrelerin mantığı her akşam bir saatte değiştirildiği için her gün tekrar 1019 yeni ihtimal oluşuyordu. Bunu insan zekasıyla çözmenin imkanı olmadığını kavrayan Turing bir makine yapmaya karar verdi. Yazımızın başında bahsettiğimiz tam otomatikleştirmeyi sağlayabilmek için…
Turing Makinesi Hakkında Detaylı Bilgiler
Turing makinesi sonsuz bir teyp (tape) üzerindeki konsoldan ibarettir. Konsol-kafa; teyp sağa sardıkça üzerindeki bilgileri işlemekte, sola sardıkça bu bilgileri değiştirmektedir. Makineyi bir bilgisayara benzetmek istersek; kafaya işlemci, teybe ise bellek diyebiliriz. Kafa sola gidip teypteki bilgileri değiştirdikçe tekrar sağa gittiğinde o ana kadar değiştirdiği -hafızaya aldığı- bilgilerle tekrar işlem yapabilir. Sonsuz uzunluktaki bu teyp sürekli sarmaya devam etmekte durması ise cevap bulundu anlamına gelmektedir.
Turing Makinesi’nin Matematiksel İşleyişi
İşleyiş matematiksel olarak şu şekilde gösterilmektedir:
Q sembolü: Sonlu sayıdaki durumların kümesidir. Yani makinenin işleme sırasında aldığı durumlardır.
Σ sembolü: Makineye verilecek girdiler (input) kümesini gösterir. Girdi kümesi dildeki harfler dışında bir sembol taşıyamayacağı için Σ ⊆ Γ demek doğru olur.
Γ sembolü: Dilde bulunan bütün harfleri içeren alfabeyi gösterir. Örneğin ikilik tabandaki sayılar ile işlem yapılıyorsa {0,1} şeklinde kabul edilir.
δ sembolü: Dilde bulunan ve makinenin çalışması sırasında kullanacağı geçişleri (transitions) tutmaktadır.
q0 sembolü: Makinenin başlangıç durumunu (state) tutmaktadır ve dolayısıyla q0 ⊆ Q olmak zorundadır.
◊ sembolü: Teyp bandı üzerindeki boşlukları ifade etmektedir. Yani teyp üzerinde hiçbir bilgi yokken bu sembol okunur.
F sembolü: Makinenin bitiş durumunu (state) tutmaktadır ve yine F ⊆ Q olmak zorundadır.
Sadece a digit ile çalışan örnek bir silme işleminde bu ◊ sembolü ile başlayan makinemiz bunu boşluk olarak kabul edip üstüne a yazacaktır. Diğer basamaklarımızda a-a ve b olsun a gördükçe okuyup sağa sarmakta b gördüğünde ise sola sarıp üstüne a yazmaktadır. ◊ sembolünü tekrar gördüğünde ise tekrar sola sarıp output (çıkış verisi) olarak aaa verecek ve işlemi bitirecektir. Turing’in makinesi ise 29 harfle çalışan ve çok karmaşık bir karar mekanizması olan makinedir.
İlginizi çekebilir: Dünyanın En Hızlı Süper Bilgisayarı Koronavirüse Karşı Savaşa Katılıyor!
Daha anlaşılır olması için : b üzerine a yazdıktan sonra makine tekrar sola sarıp tüm a’ları c yapabilir , b’den c’ye dönenleri de d yapabilir.
Turing’in makinesi aslında dört temel işlem ile çalışan bir algoritmadır. Bu işlemler: Yazmak-okumak-bandı ileri sarmak-bandı geri sarmak.
Turing’in Programlama Konusundaki Devrimi
Turing’i bilgisayar biliminin atası olarak kabul etmemizin sebebi makinesinin üstüne tekrar yazılabilir durumda olmasıdır. Yeni veriler aldığında eski veriyi değiştirebilmekte ve tekrar yeni veriyle devam edebilmektedir. Dokuma makinesi örneğindeyse sürekli kart değiştirmek zorundaydık.
Bu Alan Turing’i günümüzde programlanabilir her makinenin atası yapmaktadır. Konuyu basitleştirmek için günümüzdeki kombileri ele alabiliriz. Eğer Alan Turing ve onun çalışmaları olmasa idi 38 derece sıcaklıkta su vermesi için bir makine ve 40 derece su vermesi için başka bir makine kullanmak zorunda kalırdık.
Kullandığımız bilgisayar işlemcilerinin belki de fikir atası olan Turing’in ölümü resmi kayıtlara üzerinde siyanür olan bir elmayı yiyerek intihar etmesi olarak geçmiştir. Apple logosunun Alan Turing’le ilişkilendirilmesine karşın Apple alakası olmadığını ifade etmiştir.
Turing Makinesi Alman şifreleme cihazı Enigma’ya karşı başarıya erişmiş ve bazı tarihçilere göre savaşın erken bitmesine olan katkısıyla 50 milyondan fazla insanın hayatının kurtulmasına sebep olmuştur.
İlginizi çekebilir: İşletim Sistemi Nedir? İşletim Sistemleri Hakkında Her Şey
Berke Tosun