Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

YAPAY ZEKA P ROLOG 3. Geriye İz Sürme Mekanizması sever(oktay, okuma). * sever(yavuz, bilgisayar). sever(orhan, tavla). sever(vedat, uyuma). sever(ismail,

Benzer bir sunumlar


... konulu sunumlar: "YAPAY ZEKA P ROLOG 3. Geriye İz Sürme Mekanizması sever(oktay, okuma). * sever(yavuz, bilgisayar). sever(orhan, tavla). sever(vedat, uyuma). sever(ismail,"— Sunum transkripti:

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


"YAPAY ZEKA P ROLOG 3. Geriye İz Sürme Mekanizması sever(oktay, okuma). * sever(yavuz, bilgisayar). sever(orhan, tavla). sever(vedat, uyuma). sever(ismail," indir ppt

Benzer bir sunumlar


Google Reklamları