Kategoriler
Yerellik İlkesi

Doğanın Algoritmik Karmaşıklığı – III

Önceki yazılarda pek fazla pratik örnekler vermedik. Bu yazıda bir takım örnekler vermek istiyorum algoritmik karmaşıklığa dair.

İlk akla gelen örnek yapay sinir ağları (artificial neural networks). Bu türden sinir ağlarında spesifik bir geometri ile girdi (input) ve çıktı (output) katmanlarını birbirine bağlayan bir dizi perceptron (yapay nöron) vardır. Her bir perceptron’un yaptığı iş oldukça basittir. Birkaç satır kod ile modelleyebilirsiniz bir yapay nöronu. Bunun matematiği ilk olarak 1943 yılında verilmiştir. (bkz: http://www.cse.chalmers.se/~coquand/AUTOMATA/mcp.pdf)

1950’lerde Alan Turing de benzer çalışmalar yapmış ve benzer bir matematik ortaya atmıştır. Bu çalışmaları -çoğu çalışması gibi- pek bilinmez ve günümüzde de hak ettiği ilgiyi görmemektedir. (bkz: http://www.alanturing.net/turing_archive/pages/Reference%20Articles/connectionism/Turing’s%20neural%20networks.html)

Her bir yapay nöron -algoritmik anlamda- çok basit bir iş yapmaktadır. Ancak bir araya geldiklerinde çok karmaşık (her türden N-to-M mapping mümkündür) işler yapabilmektedirler. Canlılardaki sinir hücreleri de aslında bu şekilde çalışır. Tek bir sinir hücresi basit bir canlıdır -her bir hücreyi kendi başına bir organizma olarak düşünebiliriz, beslenir, büyür ve bazen ölür. Ve bu basit hücrelerden milyarlarcası bir araya geldiğinde insan bilişi gibi muazzam karmaşıklıkta bir fenomen ortaya çıkabilmektedir. Bu sade yapılı hücrelerin birbirleriyle iletişmelerinin ve birleşmelerinin matematiğine de bir sürü kişi kafa yormaktadır. Ve önerdikleri modeller yine basit ve sadedir algoritmik anlamda. Çünkü bunlar basit organizmalardır -hücrelerdir.

Klasik anlamda bakıldığında ise yapay sinir ağlarının zamansal ve mekansal karmaşıklıkları çok yüksektir. Binlerce perceptron binlerce perceptrona bağlıdır ve milyonlarca ufak hesaplama yapılmalıdır. Bu zamansal ve mekansal karmaşıklığı aklımızın alamayacağı ölçekte -milyarlar trilyonlar mertebesinde- artırır. Ancak algoritmik karmaşıklık basittir. Her bir yapay nöron çok sade bir matematiksel işlem yapmaktadır. Birkaç satırlık kod ile gerçekleştirilebilecek kadar sadedir.

Photo by Pixabay on Pexels.com

Algoritmik basitliğin bir diğer güzel örneği -belki de en güzel örneği- Turing’in 1952’de hayvan desenleri, bitki dallanmaları ve embriyolojik süreçler için sunduğu matematiksel modeldir. (bkz: http://www.dna.caltech.edu/courses/cs191/paperscs191/turing.pdf, https://en.wikipedia.org/wiki/The_Chemical_Basis_of_Morphogenesis)

Turing, kendisini önceleyen kocaman bir geleneğin bulgularının matematiğini vermeye çalışmıştır. Bu matematiği de olabildiğince basit şekilde vermeye çalışmıştır. Çünkü, Turing biliyordu ki, bir olguyu modellemek demek basit bir matematikle modellemek demekti. Hayvan desenlerini veya bitki dallanmalarını türetebilecek çok karmaşık matematiksel denklemler de verebilirsiniz, ancak bunun bilimsel olarak bir anlamı olmayacaktır. Doğada bu karmaşıklığı gerçekleştirecek nesneler yoktur. Bir bitkinin dallanması esnasında bir takım basit kimyasalların arasındaki basit etkileşimlerin sonucu olarak örüntüler ortaya çıkmaktadır. Bir kaplanın veya kelebeğin deseni için de aynısı geçerlidir.

Turing’in verdiği modelde iki şey vardır: 1) birbirleriyle etkileşen iki adet kimyasal ve 2) bu kimyasalların ortama yayılması (difüzyon). Sadece bu temel kimyasal ve fiziksel ilişkilerin sonucu olarak geometrik örüntülerin ortaya çıkabileceğini matematiksel olarak göstermiştir Turing. Verdiği modelin algoritmik karmaşıklığı neredeyse 0’dır. Sadece iki tür kimyasal vardır ve bu kimyasallar birbirleriyle etkileşmekte ve etrafa yayılmaktadırlar. Doğada olanın dışında hiçbir şey varsaymamıştır Turing. Çünkü bir takım keyfi varsayımları dizerek her türden örüntüyü oluşturabilirsiniz. Ancak asıl ustalık, doğada olandan fazlasını varsaymadan doğal olguların matematiğini verebilmektir.

Biraz perspektif verebilmesi için alternatiflerine bakmalıyız bu modellerin. Bilişsel (zihinsel) modelleme için çokça kullanılan ACT-R ve SOAR gibi bir sürü yazılım vardır. Bu yazılımlarda bir sürü ön kabul vardır. Doğada olduğuna emin olmadığımız bir sürü modül vardır. Bu modüller arasında olduğunu var saydığımız bir sürü bağlantı vardır. Ve bu modülleri incelikle programlayarak bir takım basit olguları açıklamaya çalışmaktadır araştırmacılar. Bu akıl tutulmasıdır. Her şeyin matematiğini bu şekilde karmaşık sistemlerle verebilirsiniz. Ancak bu yapılan sadece problemi halı altına süpürmektir. Bir sürü modül ortaya attıktan sonra yapılan işin pek de bir değeri yoktur.

Bir diğer örnek de çok meşhur okuma çalışmaları (reading studies) alanından verilebilir. Bu alanın temel hedefi insanın okuma becerilerini modellemektir. Genel olarak yaptıkları ise birbiri ardına bir sürü modül ortaya atmak ve bunları kutucuk diyagramları (box diagram) ile birleştirmektir. Bir süre geçtikten sonra yapılan işe baktığınızda gördüğünüz ise sadece karmaşadır. Sensory modül, harf modülü, ses modülü, gramer modülü, fonem modülü, hece modülü, şekil modülü, çizgi modülü, çene modülü, dil modülü… Dalga geçtiğim sanılmasın diye aşağıya bir örneğini ekliyorum bu yaklaşımın. Bu yaklaşım ne yazık ki akıl tutulmasıdır ve bir ilkokul çocuğu da okuma fenomenini bu kadar modelleyebilir eğer sonsuz sayıda modül ortaya atma şansı verilirse.

Devam edecek…

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.