Yapay Zekâ ve Programlama Dilleri

0
9232

Yapay Zekâ için A-Z^ye tüm diller kullanılabilir elbette. Lakin Yapay Zekâ uygulamalarında geliştirme yaparken spesifik sorunlarda, probleme uygun dinamiklikte dil seçmek daha mantıklı olacaktır. (Örneğin; kütüphaneniz C++ ile geliştirilmiş fakat Python kullanarak uygulamanın ara katmanını yazabilirsiniz.) Yalnızca Yapay Zekâ için değil aslında yazılım çözümlerinin hepsinde aynı mantıkta ilerlenmekte. Yine büyük problem çözümlerinde olduğu gibi Yapay Zekâ (ki koca bir bilim dalı olmasıyla beraber kendi başına problem) geliştirilmiş diller mevcut. Yazıda Yapay Zekâ ve programlama dilleri ni ve detaylarına ilişkin bilgileri okuyor olacakısnız.

Bunun yanı sıra geliştirilmiş bazı diller ise Yapay Zekâ’ya o kadar yatkın ki, 2008 de elime geçen bir python kitabında net hatırlamasam da şuna benzer bir cümleyi hatırlıyorum; “Python dilini gördükten sonra, Yapay Zekâ geliştirdiğim dilden Yapay Zekâ’ya daha yatkın olduğunu gördüm.” hangi dilden bahsettiğini hatırlamıyorum. Fakat dediği şekliyle dinamik bir dil olmasının yanı sıra syntax’ı kolay öğrenilebilmesi (‘eski'(eski demesem iyiydi ama neyse) bir .net’ci olarak süslü parantez ve noktalı virgülü arıyor insan) akademik ve özel onlarca kütüphane ile soruna özel çözüm üretilmesiyle gerçekten biçilmiş kaftan.

Diller

  • AIML (“Artificial Intelligence Markup Language / Yapay Zekâ Biçimlendirme Dili”) XML türü bir dildir. A.L.I.C.E. gibi chatterbot’lar için geliştirilmiştir.
  • IPL ‘in şöyle bir özelliği var. Yapay Zekâ için geliştirilmiş ilk dil. 
  • Lisp, (Sihirli Tılsım, seneee 2005-6 gibi, yine zamanın efsane forumlarından fazlamesai’de okuduğumuz ve hayranlık duyup bir türlü aksiyona geçemediğimiz dil). 
  • Smalltalk simülasyonlar, sinir ağları, makine öğrenmesi ve genetik algoritmalar için yoğun şekilde kullanılmıştır. 
  • Prolog, programların ilişkiler açısından ifade edildiği bildirimsel bir dildir ve yürütme, bu ilişkiler üzerinde sorgular çalıştırarak gerçekleşir. Prolog özellikle sembolik akıl yürütme, veritabanı ve dil ayrıştırma uygulamaları için kullanışlıdır. Sanıyorum YZ(Yapay Zekâ) için en çok kullanılan diller arasındadır.
  • STRIPS otomatik planlama problemi örneklerini ifade etmek için kullanılan bir dildir. İlk bir durumu, hedefleri ve bir dizi eylemi ifade eder. Her eylem için ön koşullar (eylem gerçekleştirilmeden önce yapılması gerekenler) ve son koşullar (eylem gerçekleştirildikten sonra kurulan koşullar) belirtilir.
  • Planner, olasılıkların desen yönlendirmeli çıkarımla yorumlandığı mantıksal cümleler için usule dayalı bir yorum getirir.
  • POP-11 yorumlanmış bir dilin birçok özelliğine sahip, adım adım derlenmiş bir programlama dilidir. Genellikle sembolik programlama tekniklerini daha fazla programcının kullanımına sunmak için kullanılır. 
  • Python (Favorim) Yapay Zekâ için çok yaygın şekilde kullanılır. Genel YZ, Makine Öğrenimi, Doğal Dil İşleme ve Sinir Ağları. 
  • Haskell, YZ için çok iyi bir programlama dilidir. Çoğu durumda olduğu gibi deterministik olmayan algoritmaları ifade etmeyi kolaylaştırır. Sonsuz veri yapıları, arama ağaçları için mükemmeldir. Dilin özellikleri algoritmaları ifade etmenin kompozisyonel bir yolunu mümkün kılar. 
  • Wolfram, Predict ve Classify gibi son derece otomatikleştirilmiş işlevlerden belirli yöntemlere ve teşhislere dayalı çok çeşitli entegre makine öğrenme yetenekleri içerir. Fonksiyonlar, sayısal, kategorik, zaman serileri, metinsel ve görüntü gibi birçok veri türü üzerinde çalışır.
  • C++, bu konuda hızlı olması en önemli kullanım nedenlerinden biridir. Sinir ağları gibi istatistiksel YZ teknikleri dilin en yaygın örneklerinden biridir. 
  • Java:  Hala Lisp veya Prolog kadar üst düzey değil, C/C++ kadar hızlı değil, platform bağımsızlığı bu konuda onu öne çıkaran bir nokta.

Ve Diğerleri

(Diğerleri derken ötekileştirmek için değil, devamı niteliğinde, yanlış olmasın yani)

Facebook Yorumları