
Yapay zeka programlama dillerinin en ünlüleri LISP ve PROLOG’tur. Bu bağlamda PROLOG yapay zeka programlama dili incelenecektir. PROLOG, yapay zeka içeren sistemler yaratmamızı sağlar. Günlük sıradan cümleleri belli bir yapıda kabul edip bunların sonuçlarına varabiliriz. Standart programlama dillerinden çok farklı yapıya sahiptir.
Bir prolog programı;
male(james1).
male(charles1).
male(charles2).
male(james2).
male(george1).
female(catherine).
female(elizabeth).
female(sophia).
parent(charles1, james1).
parent(elizabeth, james1).
parent(charles2, charles1).
parent(catherine, charles1).
parent(james2, charles1).
parent(sophia, elizabeth).
parent(george1, sophia).
Sorgulamalarımızı nasıl yapmamız gerekiyor? Bunları burada formülize ediyoruz.
George I, Charles I’in ailesimidir ?
Query: parent(charles1, george1).
Charles I’in ailesi kimdir?
Query: parent(charles1,X).
Charles I’in çocuğu kimdir?
Query: parent(X,charles1).
Aile yapmız inputlara göre şöyle olmaktadır;
James I
|
|
+----------------+-----------------+
| |
Charles I Elizabeth
| |
| |
+----------+------------+ |
| | | |
Catherine Charles II James II Sophia
|
|
|
George I
Bu sorguları elimizdeki inputlar oranında dahada fazlalaştırabiliriz.
Düşünsenize bir database’inizin elinizde olduğunu ve bu tür sorgulamaları database üzerinden yapabildiğinizi! Veritabanının çok geniş içeriklerde veri içerdiğini ve bu verileri çok hızla işleyebildiğimiz PROLOG diliyle sorgulama yapmamız bize avanatj kazandırabilmektedir.
.NET Ortamında PROLOG: PROLOG.NET Projesi!!!
.NET ortamına aktarılmaya çalışan ve .NET Framwork altyapısıyla birlikte PROLOG Programlama dilinin çalışması için bir proje sürmekte kişisel imkanlarla yürütülen bu projenin ismi PROLOG.NET. En son release tarihi 2006 yıllarına geldiği için rafa kalkmış bir proje diyebiliriz. Projenin sayfasını ziyaret etmek için: http://prolog.hodroj.net/downloads.html
Bu kadar olumsuzluklara rağmen süregelen .NET ortamına geçirme çalışmaları ve farklı projelerde mevcut.
Bunlardan bazıları;
P# adı altında .NET ortamı için prolog
Prolog for .net developers adı altındada çalımalar mevcuttur.
Kaynaklar:
http://www.cs.toronto.edu/~hojjat/384f06/simple-prolog-examples.html