Visual Prolog Kuralları Nedir ?

Visual Prolog Kuralları Nedir ?

  • Yüklem mantığı, mantığa dayalı fikirleri yazılı bir şekilde ifade etmeye yarayacak şekilde geliştirilmiştir ve bu mekanizma Prolog’da gayet iyi kullanılır. Yüklem mantığının yaptığı ilk iş, cümlelerdeki gereksiz kelimeleri ayıklamaktır. Daha sonra cümleler ve kelimeler arasındaki ilişkiler ilk sıraya, nesneler ise ilişkilerden sonraya sıralanır. Bu nesneler ise ilişkilerin etkili olduğu argümanlar olarak yazılır.

Cümleler: Gerçekler ve Kurallar

  • Prolog ile program yazarken, ilk önce nesneler ve bu nesneler arasındaki ilişkiler tanımlanır, Ahmet güllerisever cümlesindeki Ahmet ve gül kelimeleri nesne, sevmek ise bu iki nesne arasındaki ilişkidir. Bu ilişkinin ne zaman doğru olacağını belirleyen ifadeye ise Kural diyoruz. Ahmet, gülü kırmızı ise sever cümlesindeki sevmek hangi durumda Ahmet’in gülü seveceğini belirttiği için bu durumda kural olur.

Gerçekler: Bilinen Olgular

  • Prolog’da, nesneler arasındaki ilişkiye Yüklem denir. Prolog’un kullandığı yüklem mantığında bir ilişki, bu ilişkinin ismi ve bunu takiben parantez içince yazılan nesne veya nesnelerden oluşan basit ifadelerle özetlenir. Gerçekler, tıpkı cümlelerdeki gibi nokta (.) işareti ile biter. Örneğin;

           Konuşma Dili                       Prolog’daki Karşılığı

  • Ahmet bir insandır.          insan(Ahmet).
  • Gül kırmızıdır.                     kirmizi(gul).
  • Yasin kedileri sever.        sever(yasin,kediler).

Kurallar: Verilen Gerçeklerden Hüküm Çıkarma

  • Kurallar, gerçek olguları kullanarak bir sonuca varmak için kullanılır. Aşağıda sevmek ilişkisinden elde edilen bazı kurallar verilmiştir.
  • Yasin, Esra’nın sevdiği herşeyi sever.

                                        sever(yasin,Hersey):-sever(esra,Hersey).

  • Hasan kırmızı olan herşeyi sever.

                                       sever(hasan,Hersey):-kirmizi(Hersey).

  • Buradaki ‘ :-  ‘sembolü, yordamsal dillerdeki if (eğer) anlamında olup, bir kuralın iki parçasını birleştirir. Prolog, sever(yasin,hersey):-sever(esra,hersey). kuralını kullanarak Yasin’in sevdiği nesneyi bulmak için önce kuralın ikinci kısmını, yani Esra’nın sevdiği nesneyi bulur. Bunun doğruluğu ispatlandıktan sonra Yasin’in sevdiği nesneyi belirler.

Sorgular (Queries)

  • Prolog’a bazı gerçekler tanıtıldıktan sonra, artık bu gerçeklerle ilgili soruları sorabiliriz. Buna, Prolog Sistemini Sorgulama diyoruz. Günlük konuşmalarda geçen Esra Yasin’i seviyor mu? Şeklindeki bir soruyu Prolog’da şöyle ifade edebiliriz.3
  • ¢sever(esra,yasin).Bunun cevabı program akışı içerisinde verdiğimiz gerçeklere bağlıdır.

Yasin neyi sever? Şeklindeki bir soruyu da sormamız mümkündür. Bunu sever(yasin,Neyi). Şeklinde kodlarsak, Prolog’dan şu cevabı alırız:

Neyi=esra

Neyi=kediler

2 Solutions

Çünkü önceden verilen sever(yasin,esra). ve sever(yasin,kediler). ilişkileri bunu ispatlıyor.

  • Burada yasin ve esra’nın küçük harfle, Neyi kelimesinin ise büyük harfle başladığına dikkat ediniz. Yüklemdeki yasin sabit bir nesnedir, yani değeri sabittir. Oysa Neyi bir değişkendir. Yani farklı gerçeklerle beraber sorgudan alacağımız cevaplar farklı olacaktır. Bu yüzden değişkenler daima büyük harf veya bir altçizgi (_) işareti ile başlar. Bu durumda Neyi kelimesinin cevapları değişebilir. Prolog bir sorguya cevap ararken daima önceden verilen gerçeklerin ilkinden başlar ve hiçbirini ihmal etmeden en sondaki gerçeğe kadar ilerler.