Arkadaşlar bu yazımda sizlere Linux ortamında, yapay zekâ alanında ve yapay zekâ derslerinde kullanılan swi prolog nasıl kurulur, derlenir ve çalıştırılır bundan bahsetmeye çalışacağım.
Öncelikle prolog nedir ne değildir kısaca bahsedersek; mantık programlama dilidir denilebilir. Yapay zeka uygulamalarında kullanılır. Sembolik ve mantıksal düşünmeye uygun yapısı sayesinde bilgisayara çözümü aranan problem hakkında bilinen kuralları ve gerçekleri belirli bir düzen içerisinde vererek uygun bir çözüme ulaşmayı sağlar.
Ben linux işletim sistemi olarak ubuntu kullandığımdan dolayı kurulumunu ve kullanmayı ubuntu üzerinden anlatacağım. Diğer linux sürümlerinde de(istisnalar hariç) sorun olacağını zannetmiyorum. Swi Prolog u hem konsoldan derlemeyi, hem de editörden(Geany) kullanmayı sizlere göstereceğim.
Şimdi kurulum için ilk olarak; konsolu(uçbirimi) açıp resimde de gördüğünüz gibi kodu yazmak yeterli;
sudo apt-get install swi-prolog
Swi prolog u kurmak bu kadar basit.
Şimdi örnek bir prolog programı yazıp derleyip çalıştıralım.
erkek(ahmet).
erkek(ali).
kadın(ayşe).
baba(ahmet,ali).
evli(ahmet,ayşe).
anne(X,Y) :- baba(Z,Y),evli(Z,X).
Verdiğim bu kodu yeni bir boş belge açıp kaydedin. Şimdi bunu nasıl derleriz, çalıştırırız ve nasıl sorgu yaparız buna bakalım.
Yeni bir boş belge açıp “ders” adında kaydedelim.
Şimdi konsol ekranına gelip resimde de görüldüğü gibi şu komutu yazalım;
prolog -o derle -c ders
Bu komutu yazdıktan sonra Masaüstüne “derle” isminde yazdığımız örnek kodun derlenmiş dosyası oluşur ve biz sorgu yaparken bu dosyayı kullanarak sorgumuzu yaparız.
Burada -o parametresi derlenen dosyanın derlendikten sonraki oluşacak ismini belirler, -c parametresi ise derleyeceğimiz dosyanın ismini belirler.
Şimdi sıra geldi derlediğimiz dosya ile sorgu yapmaya.
Oluşan “derle” ismindeki dosyayı;
./derle komutunu vererek açalım.
Artık prolog dosyasını açıp sorgu yapmaya hazır hale geliriz.
Program hakkında kısaca bilgi vermek gerekirse;
İlk önce kişilerin cinsiyetlerini ve sonrasında ise aralarındaki ilişkileri tanımladık. Yani burada Ahmet, Ali’nin babası. Ahmet ise aynı zamanda Ayşe ile evli. Biz ise burada Anneyi bulmak için gereken sorguyu yazıyoruz.
baba(Z,Y) fonksiyonunda Z=Ahmet, Y=Ali olmakta çünkü yukarda sırayı böyle vermiştik.
evli(Z,X) de ise Z=Ahmet, X=Ayşe olmakta.
anne(X,Y). kodunu sorgulayınca ise;
X=Ayşe ve Y=Ali olmakta ve Ayşe, Ali’nin annesi anlamına gelmekte.
Başlangıç ve anlamanız için bence bu program ideal diyebiliriz.
Son olarakta prolog kodlarınızı daha rahat yazabilmek ve derlemek için kullanacağımız Geany editöründe(editörü rahatlıkla yazılım merkezinden indirebilirsiniz) prolog kodlarımızı nasıl derleriz,çalıştırırız ve nasıl sorgu yaparız kısaca bundan bahsedelim.
Geany editörümüzü açıp Dosya menüsünden Yeni diyerek(ya da CTRL+N) yeni bir boş dosya açalım ve bunu “deneme.pro” adında kaydedelim.(Burada .pro uzantısı prolog programlarının .pro uzantılı olduğundan değilde Geany editöründe derlerken dosya isimlerinin karışmaması için böyle bir uzantı verdik buraya herhangi bir başka uzantı da verebilirdik ben .pro verdim)
Ardından(önemli kısmı burası) “İnşa Et” menüsünden “İnşa Komutlarını Seç” penceresini açıp resimde de görüldüğü üzere derle kısmına;
prolog -Wall -o "%e" -c "%f"
parametrelerini verelim.
Bu parametreleri verdikten sonra “İnşa Et” menüsünden “Derle” diyerek ve ardından yine “İnşa Et” menüsünden “Çalıştır” diyerek(ya da F5) yazdığımız programı çalıştırmış oluyoruz ve sorgu yapabilmemiz için konsol ekranı açılıyor ve tekrardan sorgumuzu açılan pencereye yazıyoruz. Böylesi daha rahat ve kullanışlı herhalde 🙂
Benim anlatacaklarım bu kadar arkadaşlar. Elimden geldiğince anlatmaya çalıştım, herhangi bir sorunuz, ya da takıldığınız yer olursa mutlaka sorun bilgim ölçüsünde yardımcı olmaya çalışırım.
İyi çalışmalar, kolay gelsin 🙂