Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanBilge Sarı Değiştirilmiş 9 yıl önce
1
YAPAY ZEKA P ROLOG 3
2
Geriye İz Sürme Mekanizması sever(oktay, okuma). * sever(yavuz, bilgisayar). sever(orhan, tavla). sever(vedat, uyuma). sever(ismail, yuzme). sever(ismail, okuma). ?-sever(Sahis, okuma), sever(Sahis, yuzme). Sahis=İsmail 2
3
Geriye iz sürme mekanizması Fail Cut (zorlayan) (engelleyen) 3
4
Fail baba("Ömer ", yavuz). baba(ahmet, kasim). baba(huseyin, veli). baba(murat, yusuf). herkesi_bul:-baba(X,Y), write(X, Y," Babası"), fail. herkesi_bul. ?- herkesi_bul. 4
5
Cut(!) Geriye dönüş mümkün değildir. İki amaç: – Green Cut(Olumlu Cut)- alternatif çözüm olmadığını biliyorsak, vakit bellek kaybını önlemek için – Red Cut(Olumsuz Cut)- programın kendi mantığı cut komutunu gerektiriyorsa 5
6
Cut(!) R1:- a, b, !, c. İlk çözüm, c alt hedefe geçilmez, program durur. 6
7
Cut(!) arkadas(ahmet,fatma):kiz(fatma),sever(ahmet,fatma),!. arkadas(ahmet,mehmet):- sever(mehmet,futbol),!. arkadas(ahmet,esra):- kiz(esra). kiz(ayse). kiz(fatma). kiz(esra). sever(mehmet,futbol). sever(ahmet,esra). ?-arkadas(ahmet,Kimin_Arkadasi). Kimin_Arkadasi=mehmet. 7
8
Not Yüklemi alisveristen_hoslanir(Kim):- kredi_kartina_sahip(Kim,Kredi_karti), not(kredisi_bitmis(Kim,Kredi_karti)). kredi_kartina_sahip(yavuz,visa). kredi_kartina_sahip(yavuz,diners). kredi_kartina_sahip(ahmet,shell). kredi_kartina_sahip(mehmet,masterkart). kredi_kartina_sahip(asaf_bey,akbank). kredisi_bitmis(yavuz,diners). kredisi_bitmis(asaf_bey,akbank). kredisi_bitmis(yavuz,visa). ?- alisveristen_hoslanir(Kim). Kim=ahmet; Kim=mehmet. 8
9
Case İfadesi basilan_tus(1):-nl, write("1 Tuşuna Bastınız."),nl. basilan_tus(2):-nl, write("2 Tuşuna Bastınız."),nl. basilan_tus(3):-nl, write("3 Tuşuna Bastınız."),nl. basilan_tus:-write("1-3 arasında bir sayı yazınız:"), read(Sayi),basilan_tus(Sayi). ?-basilan_tus. 9
10
Cut--Goto basilan_tus(1):-!,nl, write("1 Tuşuna Bastınız."),nl. basilan_tus(2):-!,nl, write("2 Tuşuna Bastınız."),nl. basilan_tus(3):-!,nl, write("3 Tuşuna Bastınız."),nl. basilan_tus:-write("1-3 arasında bir sayı yazınız:"), read(Sayi),basilan_tus(Sayi). 10
11
Listeler Prolog liste Array […..] [a,b,c] Örnek [araba, ev, televizyon] [“Mahmut AKSOY”, “Sefer AY”, “Ahmet KOÇ”] Liste elemanları aynı tip olmalı. 11
12
Liste [a,b,c] 1.Baş (Head) a 2.Kuyruk (Tail) b,c [X,Y] [X|Y] 12 ListeBaşKuyruk ['a', 'b', 'c'] 'a'['b', 'c'] [ 'a' ] 'a'[] /* Boş liste*/ [ ] Tanımsız [[1, 2, 3], [2, 3, 4], []] [1, 2, 3][[2, 3, 4], []]
13
?- [X|Y] = [[],dead(zed),[2, [b, chopper]],[], 5]. X = [] Y = [dead(zed),[2,[b,chopper]],[],5] ?- [X,Y|W]=[[],dead(zed),[2,[b,chopper]],[],5]. X=[] Y=dead(zed) W = [[2,[b,chopper]],[],5] 13
14
Listelerin Kullanımı benim_listemi_yaz([]). benim_listemi_yaz([Bas|Kuyruk]):-write(Bas), nl, benim_listemi_yaz(Kuyruk). ?-benim_listemi_yaz(["Visual","Prolog","4.0"]). Bas=‘Visual’ Kuyruk=["Prolog","4.0"] Bas=‘Prolog’ Kuyruk=["4.0"] Bas=‘4.0’ Kuyruk=[] 14
15
Liste Elemanlarının Sayılması – Boş ise eleman sayısı 0 Liste – Değil ise eleman sayısı= 1+kuyruk uzunluğu 15
16
Database listing assert retract assertz asserta 16
17
Database Listing ?-listing. //Boş database Assert ?-assert(happy(mia)). ?-listing. happy(mia). 17
18
Assert ?-assert(happy(mia)). true ?-assert(happy(tom)). true ?-assert(happy(bob)). true ?-listing. happy(mia). happy(tom). happy(bob). ?-assert(naive(X):-happy(X)). ?-naive(bob). true 18
19
Retract ?-listing. happy(mia). happy(tom). happy(bob). ?-retract(happy(mia)). true ?-listing. happy(tom). happy(bob). ?-retract(happy(X)). true 19
20
Assertz,Asserta ?- assert(p(b)). ?-listing. p(b). ?-assertz(p(c)). ?-listing. p(b). p(c). ?-asserta(p(a)). ?-listing. p(a). p(b). p(c). 20
21
CONSULT alisveris.pl alisveristen_hoslanir(Kim):- kredi_kartina_sahip(Kim,Kredi_karti),not(kredisi_bitmis(Kim,Kredi_karti)). kredi_kartina_sahip(yavuz,visa). kredi_kartina_sahip(yavuz,diners). kredi_kartina_sahip(ahmet,shell). kredi_kartina_sahip(mehmet,masterkart). kredi_kartina_sahip(asaf_bey,akbank). kredisi_bitmis(yavuz,diners). kredisi_bitmis(asaf_bey,akbank). kredisi_bitmis(yavuz,visa). 21
22
CONSULT yukleme.pl cagir:-consult(alisveris). ?-cagir. true ?-alisveristen_hoslanir(Kim). Kim=ahmet; Kim=mehmet. 22
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.