Prolog ve Lisp
Prolog ve Lisp, günümüzün en popüler AI (Yapay Zeka) bilgisayar programlama dillerinden ikisidir. İki farklı programlama paradigması ile inşa edilmiştir. Prolog bildirimsel bir dildir, Lisp ise işlevsel bir dildir. Her ikisi de çeşitli AI problemleri için kullanılır, ancak Prolog en çok mantık ve muhakeme problemleri için kullanılırken, Lisp hızlı prototipleme ihtiyaçları olan problemler için kullanılır.
Prolog
Prolog bir AI programlama dilidir. Mantıksal programlama dilleri ailesine aittir. Prolog, kurallar ve olgular olarak tanımlanan ilişkiler (program mantığını temsil eden) üzerinden sorgular çalıştırılarak hesaplamaların yapıldığı bildirimsel bir dildir.1970 yılında geliştirilen prolog, en eski mantık programlama dillerinden biridir ve günümüzde en popüler AI programlama dillerinden biridir (Lisp ile birlikte). Ücretsiz bir dildir, ancak birçok ticari çeşidi mevcuttur. Önceleri doğal dil işleme için kullanılırken, günümüzde uzman sistemler, otomatik yanıtlama sistemleri, oyunlar ve gelişmiş kontrol sistemleri gibi çeşitli görevler için kullanılmaktadır. Prolog'un terim adı verilen tek bir veri türü vardır. Bir Terim bir atom, sayı, değişken veya bileşik bir terim olabilir. Sayılar kayan nokta veya tamsayı olabilir. Prolog, öğe koleksiyonu olarak listeleri ve dizeleri destekler. Prolog, cümleleri kullanarak ilişkileri tanımlar. Cümleler kurallar veya gerçekler olabilir. Prolog, özyinelemeli yüklemlerini baştan sona yinelemeye izin verir.
Lisp
Lisp, bir bilgisayar programlama dilleri ailesidir. Ve bugün genel amaçlı programlama için kullanılan en ünlü Lisp lehçeleri Common Lisp ve Scheme'dir. LISP adı “LISt Processing”den gelir ve ima ettiği gibi, Lisp'in ana veri yapısı bağlantılı listedir. Aslında tüm kaynak listeler kullanılarak (ön ek gösterimi kullanılarak) veya daha doğru bir şekilde parantez içine alınmış listeler (s-ifadeleri olarak adlandırılır) kullanılarak yazılır. Örneğin, bir işlev çağrısı (f a1 a2 a3) olarak yazılır; bu, işlev için giriş bağımsız değişkenleri olarak a1, a2 ve a3 kullanılarak f işlevinin çağrıldığı anlamına gelir. Bu nedenle, tüm veri ve kodların ifadeler olarak yazıldığı (Lisp'te ifadeler ve ifadeler arasında bir ayrım yoktur) ifade yönelimli bir dil olarak adlandırılır. Bu güzel özellik, yardımcı makrolar yazarak dili eldeki probleme genişletmek için kullanılabilecek Lisp için çok özeldir. Kuyruk özyineleme, programcılar tarafından döngüleri ifade etmek için kullanılsa da, sık görülen tüm Lisp lehçeleri, döngü gibi kontrol yapılarını içerir. Ayrıca, Common Lisp ve şema, işlevi tüm öğelerine arka arkaya uygulayarak döngü işlevi sağlayan ve ardından sonuçları bir listede toplayan, işlev örnekleri olan mapcar ve map'e sahiptir.
Prolog ve Lisp arasındaki fark nedir?
Prolog ve Lisp, en popüler AI programlama dillerinden ikisi olmasına rağmen, çeşitli farklılıkları vardır. Lisp işlevsel bir dildir, Prolog ise bir mantıksal programlama ve bildirim dilidir. Lisp, hızlı prototipleme ve makro özellikleri nedeniyle çok esnektir, bu nedenle dili mevcut soruna uyacak şekilde genişletmeye gerçekten izin verir. Yapay zeka, grafik ve kullanıcı arayüzleri alanlarında, bu hızlı prototipleme yeteneği nedeniyle Lisp yaygın olarak kullanılmaktadır. Ancak, yerleşik mantık programlama yetenekleri nedeniyle Prolog, sembolik akıl yürütme, veritabanı ve dil ayrıştırma uygulamalarıyla ilgili AI sorunları için idealdir. Birinin diğerine tercih edilmesi, tamamen çözülmesi gereken AI sorununun türüne bağlıdır.