Prolog Dili Nedir?

Prolog, mantığa dayalı bir bilgisayar programlama dilidir. Çoğu bilgisayar dili bir sorunu çözmek için gereken adımlara dayanır. Prolog dili ise, varlıklar arasındaki mantıksal ilişkileri gösteren bir "bildirim" dilidir. Sorunu çözmenin yolu bilgisayara bırakılmıştır. Prolog ismi French PROgrammation en LOGique, yani PROgramming LOGic'ten gelir.

Aşağıdaki basit bir Prolog programıdır:

ata (F, C): - baba (F, C)
ata (P, Q): - baba (P, R), ata (R, Q)
baba (john, jim).
baba (jim, jerry).
baba (Jerry, Jason).
babası (jerry, jeff).
babası (jason, joshua).

Yukarıdaki program gerçekleri gösterir. Eğer F, C'nin babasıysa, o zaman F, C'nin atasıdır. P, P'nin Q'nun atası olan bir insanının babası ise, P, Q'nun atasıdır. john jim'nin babası olmak. O zaman, john'un jeff'in atası olup olmadığına dair bir soru sorulursa, aşağıdaki gibi "Evet" cevabını alırız:

a - ata (john, jeff).
Evet

Joshua'nın ataları ilgileniyorsa, program bütün ataları aşağıdaki gibi gösterir:

? - ata (A, joshua)
A = jason
A = jerry
A = jim
A = john

Yukarıdaki örneklerin her ikisinde de, programın değerlendirmenin nasıl yapılacağını söylemediğini unutmayın. Örneğin, yaşlı insandan başlayıp gençlere doğru ya da tam tersi şekilde çalışıp çalışmayacağını göstermedi. Ayrıca parçaları aşağıdaki gibi değiştirin:

ata (P, Q): - ata (R, Q), baba (P, R)

Sol tarafın doğru olması için sağ taraftaki her iki bölümün de doğru olması gerektiğinden program için bir fark yaratmaz.

Böylece Prolog dili, sorunun nasıl çözüleceğine değil ilişkilere odaklanır. Program yürütme sırasında Prolog, bir bilgi tabanı oluşturarak bir dizi doğru ifade oluşturur. Yukarıdaki örnekte, bilgi bankası, belirli bir düzende olmadan, ata (john, jim), ata (jim, jerry), ata (john, jerry), ata (jim, jason), ata (john, jason), ve bunun gibi. Bu bilgi tabanı, program yürütülürken gelişmeye devam edebilir ve çözümler bulmak için etkili bir şekilde aranabilir. Yürütme, paralel işlemeyi, birden çok bilgisayar tarafından eşzamanlı yürütmeyi kullanabilir.

Prolog dili birçok alanda kullanılır. İngilizce gibi doğal dillere yönelik sistemlerde başladı; doğal dil Yapay Zeka alanlarından biridir. Prolog dili, cebir de dahil olmak üzere sembolik matematikte de kullanılır. Teoremlerin ispatlanmasında, uzman sistemlerde ve kontrol sistemlerinde diğer birçok uygulamada kullanılır.