PROLOG. Prolog Programlarının özellikleri: - Programming in Logic teriminin kısaltılmasıyla adlandırılmıştır. - Semboller üzerinde çalışma prensibi üzerine.

Slides:



Advertisements
Benzer bir sunumlar
Prolog1 M.Fatih Amasyalı
Advertisements

Prolog2 M.Fatih Amasyalı
BİL551 – YAPAY ZEKA Prolog Dili
YAPAY ZEKA P ROLOG 1. Prolog’un özellikleri PROgrammig in LOGic Semboller üzerinde çalışma Gerçekler ve kurallardan oluşur Büyük küçük harfe duyarlıdır.
ÖĞRETİM İLKE VE YÖNTEMLERİ
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
İnsanlar; duygu, düşünce ve isteklerini cümlelerle dile getirir. Cümleler ise sözcüklerden oluştuğu için sözcükler, dilin en önemli öğesidir. Sözcükler,
2-A SINIFI BİLGİ YARIŞMASINA HOŞ GELDİNİZ Yarışmada; Hayat Bilgisi 5 soru Türkçe 6 soru Matematik 5 soru ve Genel kültür 4 soru olmak üzere Toplam 20 soru.
Değerli Arkadaşlar, aşağıdaki sorular 7. ve 8. sınıflar için özel hazırlanmış dil bilgisi kitabımızdan yararlanılarak oluşturulmuştur. Kendi okulumuzda.
YAZIM KURALLARI.
Hazırlayan: Emrah GURSAN Giri ş & Tarihçe Bilgisayar, 'simgeleri işlemek için kullanılan bir makine‘ olarak tanımlanmaktadır. Görünüşte yalın.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
HİPOTEZ TESTLERİNE GİRİŞ 1. Şu ana kadar örneklemden elde edilmiş istatistiklerden yararlanarak, kitle parametresini kestirebilmek için nokta tahmini.
Tane Kavramının Öğretimi (Basamaklandırılmış Yönteme Göre)
BİLGİSAYAR PROGRAMLAMA MATLAB Yrd.Doç.Dr. Cengiz Tepe.
Hazırlayan: Dr. Emine CABI
NOKTALAMA İŞARETLERİ. 1.NOKTA(.) 1.NOKTA(.) Bitmiş cümlenin sonunda kullanılır: Okula geldim. Bitmiş cümlenin sonunda kullanılır: Okula geldim. İsimlerin.
TANIMI: TANIMI: Görevdeş sözcükleri,söz öbeklerini veya cümleleri birbirine bağlayan sözcüklere bağlaç denir. Genel olarak söylenirse ya görevdeş öğeleri.
BİLGİ YARIŞMASI 5. SINIF Hazırlayan: Mustafa AKKAŞ 5-A Sınıf Öğretmeni Hazırlayan: Mustafa AKKAŞ 5-A Sınıf Öğretmeni Başarılar dilerim.
Arş.Gör.İrfan DOĞAN.  Bugün otizm tedavisinde en önemli yaklaşım, özel eğitim ve davranış tedavileridir.  Tedavi planı kişiden kişiye değişmektedir,
SOSYAL GELİŞİM Öğr. Gör. İdris KARA.
Paragraf Nedir? & Herhangi bir yazının bir satırbaşından öteki satırbaşına kadar olan bölümüdür. & Duygu, düşünce, istekleri anlatım tekniklerinden yararlanarak.
OLASILIK TEOREMLERİ Permütasyon
Bağlama ve Kapsam Kavramları
ARAPÇA BİLGİ YARIŞMASINA HOŞ GELDİNİZ AHMET ARSLAN.
HİPOTEZ TESTLERİNE GİRİŞ Şu ana kadar örneklemden elde edilmiş istatistiklerden yararlanarak, kitle parametresini kestirebilmek için nokta tahmini.
2014 ORTA ÖĞRETİME YERLEŞTİRME SİSTEMİ – 2015 E ğ itim- ö ğ retim yılında altı temel ders için 8. sınıfta ö ğ retmen tarafından dönemsel olarak.
Hazırlayan İSMAİL ŞAHİNER. SORU ÇÖZERKEN!!! Önce soru okunur. Daha sonra parça (metin) okunur. Önce soru okunur. Daha sonra parça (metin) okunur.
1 Bölüm 2 C Dilinin Temelleri Alıştırmalar Bu bölümdeki problemler “C Dersi Çözümlü Problem Kitabı”, N. E. Ça ğ ıltay, C. E. Selbes, G. Tokdemir, ve Ç.
EBOB&EKOK Ökkeş ŞAHİN TEOG 8.SINIF
Bölüm 2 C Dilinin Temelleri
BİLGİSAYAR PROGRAMLAMA DERSİ
BM-103 Programlamaya Giriş Güz 2016 (3. Sunu)
Presentation and Explaing Method 8.Sınıf
BİLİMSEL ARAŞTIRMA YÖNTEMLERİ ÜNİTE 3
YAZILIM İşletim Sistemleri Uygulama Programları Programlama Dilleri
T- Testİ: ORTALAMALAR ARASI FARKLARIN TEST EDİLMESİ
Vize Sorusu Klavyeden girilen N adet sayıyı List1 nesnesinde gösteren ve bu sayıların toplamını ve ortalamasını Text1 ve Text2 nesnesinde yazdıran.
NELER ÖĞRENECEĞİZ 1-Doğru ile nokta arasındaki ilişkiyi açıklamayı
klasik mantik önermeler
BİLGİSAYAR 1 AD: MÜRŞİDE SOYAD: EREN BÖLÜM: TÜRKÇE ÖĞRETMENLİĞİ (İ.Ö)
Öğr. Gör. Mehmet Ali ZENGİN
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H05
DOĞAL SAYILAR TAM SAYILAR
Yapay Zeka ve Uzman Sistemler
Yapay Zeka ve Uzman Sistemler
ZAMİRLER “Sen ve ben ve deniz Bizi anlamayan bir nesle aşina değiliz”
TARIM EKONOMİSİ İSTATİSTİĞİ
Bilgisayarlara komut verme Remzi ÖZ
Pascal’da Kullanılan Standart Prosedür ve Fonksiyonlardan Bazıları
Bilgisayar Mühendisliğine Giriş
Dr. İLKER YAKIN & Dr. HASAN TINMAZ
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
NİŞANTAŞI ÜNİVERSİTESİ
ÖLÇME-DEĞERLENDİRME 1.DERS
Bilgisayar Bilimi Koşullu Durumlar.
Prolog Programlama Dili
Tezin Olası Bölümleri.
NİŞANTAŞI ÜNİVERSİTESİ
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
Bilgisayar Bilimi Fonksiyon Yazma.
Değerler ve Değişkenler
NİŞANTAŞI ÜNİVERSİTESİ
Evren-Örneklem, Örnekleme Yöntemleri 1
Pascal’da Kullanılan Standart Prosedür ve Fonksiyonlardan Bazıları
Veri ve Türleri Araştırma amacına uygun gözlenen ve kaydedilen değişken ya da değişkenlere veri denir. Olgusal Veriler Yargısal Veriler.
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
MTM216 GÖRSEL PROGRAMLAMA
14. EKİPLE ÖĞRETİM İKİ KAFA TEK KAFADAN DAHA İYİDİR ( Two heads are better than one) ingiliz atasözü.
Sunum transkripti:

PROLOG

Prolog Programlarının özellikleri: - Programming in Logic teriminin kısaltılmasıyla adlandırılmıştır. - Semboller üzerinde çalışma prensibi üzerine kurulmuştur. - Gerçekler ve kurallardan oluşur. - Output çok sadedir.

Prolog’da bulunmayanlar - For döngüleri - While repeat döngüleri - If – Then yapısı - Go to komutu - Diziler Bunların yerine öz yinelemeli fonksiyonlar kullanılmıştır.

Prolog dekletatif bir dildir  Prosedürel bir programlama da bilgisayara adım adım ne yapması gerektiğini söyleriz.  Dekletatif bir programlama da ise bir durum belirtilir. Bu duruma göre derleyici veya yorumlayıcı bir çözüm üretir. - Prolog bir cümlenin doğru veya yanlış - Bir cümlenin doğru veya yanlış olması için değişkenlerin ne olması gerektiğin söyleyebilir.

Prologda ilişkilerin tanımlanması  “Ahmet’in ebeveyni Ayşe’dir.” ifadesinin Prolog’da tanımlanması: parent(Ahmet,Ayse) - Parent : ilişkinin ismi - Ahmet, Ayşe : ilişkinin argumanları

Sorgulama yapılması  Ayşe Ahmet’in ebeveyni midir? ?-parent(Ayse, Ahmet) cevap> yes Ayşe Mehmet’in edeveyni midir? ?-parent(Ayse, Ahmet) cevap>no

Prolog ile Doğal Dil karşılaştırılması  Bütün çocuklar küçüktür. - kisa(X):-cocuk(X).  Bütün erkek çocukları araba sever. - sever(X,araba):-erkek(X),cocuk(X).  Sebzeyi hiçbir çocuk sevmez. - sevmez(X,Y):-sebze(Y), cocuk(X).  Çocuğunu döven öğretmeni hiçbir anne sevmez. - sevmez(X,Y):- anne(X,Z),ogretmen(Y,Z),dover(Y,Z).

Prolog ile Doğal Dil 2  Bütün insanlar canlıdır. Ahmet insandır. Dolayısıyla Ahmet canlıdır canli(X):-insan(X). insan(ahmet). ?-canli(ahmet).  Ahmet 20 metre zıplayabilir. Birisi X metreye zıplayabilirse daha azlarına da zıplayabilir. ziplar(ahmet,20). ziplar(X,Y):-ziplar(X,Z),Z<Y. ?-ziplar(ahmet,15).  Kendi kalesine gol atan futbolcuyu kendi takamın taraftarları sevmez, karşı takımınkiler sever. sevmez(X,Y):-futbolcu(X), taraftar(Y), aynitakim(X,Y), kendikalesinegolatar(X). sever(X,Y):- futbolcu(X), taraftar(Y), karsitakim(X,Y), kendikalesinegolatar(X).

Genel olarak Prolog programları Prolog programları küçük cümlelerden oluşur. Bu cümlelerde üç çeşittir: - Fact: Koşulsuz daima doğru olan gerçekler. - Rules: Kurallara göre doğru olabilen yargılar. - Questions: Veritabanını sorgulamak için kullanılan cümleciklerdir.

Prolog’da veri türleri  Prolog veri türünü onun şeklinden tanır.  Herhangi bir tanımlamaya ihtiyacı yoktur.  Veri türleri: - Atomlar - Sayılar - Değişkenler

Atomlar  Atom’lar aşağıdakilerde oluşan string’lerdir Büyük harf A, B, …, Z Küçük harf a, b, …, z Rakam 0, 1, …, 9 Özel karakterler + - * / = :. & _ ~

Atomlar  Atomlar 3 farklı şekilde ifade edilebilir: 1- Harf (ancak küçük harf olmalıdır), rakam veya alt çizgiden oluşan stringler ile. anna nil x25 x_25 2- Özel karakterlerden oluşan stringler ile ======> ….:. 3- Tek tırnak (’) arasına alınan karakterler ile ‘Anna’ ‘Nil’

Sayılar  İki çesit sayı tanımlaması vardır. Bunlar tam sayı ve ondalıklı sayıdır. topla(X,Y,Z):-Z is X+Y. ?- topla(2,0.3,C). C = 2.3 ; No ?- topla(200,0.0003,C). C = ; No

Değişkenler  Değişkenler; harf, rakam ve altçizgi(‘_’)’den oluşan büyük harfle yada altçizgi ile başlayan string’lerdir: X Result Object2 Participant_list ShoppingList _x23 _23

Değişkenler  Anonim değişken isimlendirilmemiş değişkenlerdir. Sadece altçizgi ile ifade edilirler: hasachild(X) :- parent(X, Y). hasachild(X) :- parent(X, _).  Her altçizgi karakteri yeni bir anonim değişkeni ifade eder. somebody_has_a_child :- parent(_, _). %r1 eşittir r1 eşittir somebody_has_a_child :- parent(X, Y). ancak farklıdır somebody_has_a_child :- parent(X, X).

Bir çıkarım örneği  Ali okula gittiğinde öğlen yemeğini kantinde yer. Ali eve gittiğinde öğlen yemeğini mutfakta yer. Ali sınıfta kitap okudu.  Bilgileri verilip ali öğlen yemeğini nerede yedi ? sorusuna cevap veren bir kodu yazalım.  Burada bilinmesi gerekenler. Birisi bir yerde bulunmuşsa oraya gitmiştir. Birisi bir yere gitmişse ve o yeri içine alan yere de gitmiştir. Sınıf okulun içindedir. Oda evin içindedir.

Bir çıkarım örneği Kodda cümleler vardir(yüklem,özne,belirtilinesne,dolaylıtümlec,cümleno) yapısında tutulmuştur.  kapsar(oda,ev).  kapsar(sinif,okul).  vardir(oku,ali,kitap,sinif,12).  vardir2(git,M,_,Yer,_):-vardir(_,M,_,Yer,_). % M Yer'de bulunmuşsa -> M Yer'e gitmiştir  vardir2(F,M,B,Yer1,I):- kapsar(Yer2,Yer1),vardir2(F,M,B,Yer2,I). % M Yer2'de birşey yapmissa ve Yer2 yer1'i kapsiyorsa -> M Yer1'de de ayni seyi yapmistir  vardir2(yer,ali,oglenyemegi,mutfak,_):-vardir2(git,ali,_,ev,_). % ali eve gitmisse -> oglenyemegini mutfakta yer.  vardir2(yer,ali,oglenyemegi,kantin,_):-vardir2(git,ali,_,okul,_). % ali okula gitmisse -> oglenyemegini kantinde yer.

Bir çıkarım örneği vardir ilişkisi gerçek cümle(bilgi)leri, vardir2 ilişkisi türetilen cümle(bilgi)leri ifade etmektedir.  ?- vardir2(yer,ali,oglenyemegi,Nerede,_). Nerede = kantin; No;  Burada sistem; alinin sınıfta bulunduğunu görüp okulda bulunduğu bilgisini edinmiş. Okulda bulunduğuna göre okula gitmiştir çıkarımını yapmış. Okulda gittiğine göre yemeğini de kantinde yemiştir sonucuna ulaşmıştır.  vardir(oku,ali,kitap,sinif,12). Cümlesi yerine vardir(oku,ali,kitap,oda,12). Cümlesi olsaydı sistemin cevabı mutfak olacaktır.