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

Slides:



Advertisements
Benzer bir sunumlar
Prolog4 cut&fail db değişimi
Advertisements

PROLOG PROGRAMLAMA DİLİNDE
Mantıksal Programlama-Prolog
BİL551 – YAPAY ZEKA Prolog: Listeler
AKIŞKANLAR DİNAMİĞİ BÖLÜM 8 . BORULARDA AKIŞ.
İŞGÜCÜ PİYASASININ ANALİZİ
Bu sitenin konusu kıyamete kadar hiç bitmeyecek
Parallel Dağılmış İşlemci (Parallel Distributed Processing)
AZE201 ERKEN ÇOCUKLUKTA ÖZEL EĞİTİM (EÇÖE)
Şeyda GÜL, Fatih YAZICI, Mustafa SÖZBİLİR
AKIŞKANLAR MEKANİĞİ 3. BASINÇ VE AKIŞKAN STATİĞİ
Engellerin farkında mıyız?
DİSİPLİN HUKUKU.
İSTATİSTİK II Hipotez Testleri 1.
4.BÖLÜM ÇAĞDAŞ BÜYÜME MODELLERİ
Aydınlanma Işığın doğası ile ilgili bilgilerin tarihsel süreç içindeki değişimini farkeder. a. Dalga ve tanecik teorisinden bahsedilir,
TÜCAUM 2016 ULUSLARARASI COĞRAFYA SEMPOZYUMU KARADENİZ BÖLGESİ ÖRNEĞİ
Endometrium Kanserinde Fertilite Koruyucu Tedavi
Dr. Şafak ÖZDEMİRCİ Etlik Zübeyde Hanım EAH/ANKARA 06.Ekim.2016
Cumhuriyet Dönemi ve Sonrası Türk Mimarisi
MUHASEBE ve DENETİM Lisans Programı
Doç.Dr. Mehmet Birhan YILMAZ Cumhuriyet Üniversitesi Kardiyoloji AD
RENAN ÖZDEMİR Özdemir, Marmara Üniversitesi Fen- Edebiyat Fakültesi Türk Dili ve Edebiyatı Bölümü’nden mezun oldu. Trabzon’da başladığı edebiyat öğretmenliği.
Devlet Muhasebe Standartları
EXPRESSIONS of QUANTITY
[ Doğrusal Programlama] [DOĞRUSAL PROGRAMLAMA ÖRNEKLERİ]
7. ÜRETİM VE MALİYETLER.
Ankara Üniversitesi Sağlık Bilimleri Fakültesi Sosyal Hizmet Bölümü
Okul Deneyimi Dersi Eser Çeker (Uz.).
11. Sınıf: KUVVET ve HAREKET ünitesi Tork
İKİ BOYUTLU SİSTEMLERİN TİTREŞİMİ VE NORMAL MODLARI
Prolog Programlama LİSTELER (LISTS).
Bant Sınırlı Kanallarda Sayısal İletim
BİLGİSAYAR PROGRAMLAMA DERSİ
Öğr. Gör. Mehmet Ali ZENGİN
Öğr. Gör. Mehmet Ali ZENGİN
GERÇEK SAYILAR VE BASİT EŞİTSİZLİKLER
BAĞIMLILIKLA ÇALIŞMA: DEĞİŞİM YARATMA
BESLENME.
Prof. Dr. Durmuş Günay Kütüphanesi
Kardiyovasküler Sistemde Nükleer Tıp Uygulamaları
ÜREME SİKLUSU ANOMALİLERİ
Öğrenci Adı ve Numarası Danışman :
Mühendislik Ekonomisi
Doğrusal Programlama (DP)
BASEL Bankacılık Gözetim ve Denetim Komitesi
HASSAS YÜKSEKLİK ÖLÇMELERİ
DOLAŞIM SİSTEMİ Hazırlayan: Serkan KÖSEOĞLU
7. ÜRETİM VE MALİYETLER.
BİRİM UYUMU: Kâğıt üzerinde formüllerle işlemler yaparken hata yapılmış olabilir. Bu hataları teşhis etmeyi çoğu zaman kolaylaştıran bir yöntem “birim.
SEFER KAYMAZ Bilişim Teknolojileri Alan Şefi
Yazar 1, Yazar 2 ( 60 Points, Kalın)
Analog Haberleşme Dersi 12. Hafta
MAK212-SAYISAL YÖNTEMLER
V. FEN BİLİMLERİ ARAŞTIRMA SEMPOZYUMU
Elektrik-Elektronik Mühendisliğine Giriş
Biz kimiz? ve Neyi Amaçlıyoruz?
Çubuk Sonlu Elemanlar Dersi Dönem Sonu Projesi
EE-301 Sayısal Tasarım Ders Notları
İKTİSADİ BÜYÜME BÖLÜM 3 GELENEKSEL BÜYÜME MODELLERİ
İleri Düzey Sayma.
III. FEN BİLİMLERİ ARAŞTIRMA SEMPOZYUMU
11. SInIf KUVVET VE HAREKET Unitesi Tork
NİŞANTAŞI ÜNİVERSİTESİ
Bölüm 5 Kısım 1 Fiyat Teorisi.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Yrd. Doç. Dr. Murat Akyıldız
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

YAPAY ZEKA P ROLOG 3

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

Geriye iz sürme mekanizması Fail Cut (zorlayan) (engelleyen) 3

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

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

Cut(!) R1:- a, b, !, c. İlk çözüm, c alt hedefe geçilmez, program durur. 6

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

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

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

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

Listeler Prolog liste  Array […..]  [a,b,c] Örnek [araba, ev, televizyon] [“Mahmut AKSOY”, “Sefer AY”, “Ahmet KOÇ”] Liste elemanları aynı tip olmalı. 11

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], []]

?- [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

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

Liste Elemanlarının Sayılması – Boş ise  eleman sayısı 0 Liste – Değil ise  eleman sayısı= 1+kuyruk uzunluğu 15

Database listing assert retract assertz asserta 16

Database Listing ?-listing. //Boş database Assert ?-assert(happy(mia)). ?-listing. happy(mia). 17

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

Retract ?-listing. happy(mia). happy(tom). happy(bob). ?-retract(happy(mia)). true ?-listing. happy(tom). happy(bob). ?-retract(happy(X)). true 19

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

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

CONSULT yukleme.pl cagir:-consult(alisveris). ?-cagir. true ?-alisveristen_hoslanir(Kim). Kim=ahmet; Kim=mehmet. 22