YAPAY ZEKA ve UZMAN SİSTEMLER

Slides:



Advertisements
Benzer bir sunumlar
ÜNİTE I MANTIK 1. ÖNERMELER a. Mantık
Advertisements

OPERATÖRLER.
Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
ÖNERMELER VE MANTIK HAZIRLAYAN: AYDIN EREN KORKMAZ
MANTIK Mantığın Konusu.
mantIKSAL OPERATÖRLER
JavaScript Birinci Hafta.
Mantıksal Vekiller.
BU KONUDA ÖĞRENECEKLERİMİZ
KÜMELER.
Kofaktör Matrisler Determinantlar Minör.
DOĞRUSAL ZAMANLA DEĞİŞMEZ SİSTEMLERDE FARK DENKLEMLERİ
Prof. Dr. Halil İbrahim Karakaş
MANTIKLI ETMENLER Yılmaz KILIÇASLAN. Tanımlar Mantıklı etmenler şunları yapabilirler:  dünyaya ilişkin gösterimler oluşturabilirler,  dünya ile ilgili.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
MANTIKLI (BİLGİ TABANLI) ETMENLER Yılmaz KILIÇASLAN.
RİZE ÜNİVERSİTESİ BAHAR YARI YILI MATERYAL DERSİ
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Algoritma ve Akış Diyagramları
TBF Genel Matematik I DERS – 1 : Sayı Kümeleri ve Koordinatlar
Yapısal Program Geliştirme – if, if-else
YAPAY ZEKA ve UZMAN SİSTEMLER
ÜNİTE 2: KILASİK MANTIK KONU KAVRAM ÇEŞİTLERİ.
MANTIKSAL OPERATÖRLER
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
MANTIK BİLİMİNE GİRİŞ VE ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN.
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
GRAF TEORİSİ Ders 1 TEMEL KAVRAMLAR.
Mantıksal Tasarım Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü.
ÖNERMELER MANTIĞI VE WUMPUS DÜNYASI Yılmaz KILIÇASLAN.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Rekabet ortamında arama Adversarial Search
Arama ile sorun çözme Ders 3.
İŞLEM ve MODÜLER ARİTMETİK.
Mantıksal Operatörler ve Denetim Yapıları
İlköğretim matematik öğretmenliği 2. grup
DENEME.
MATEMATİK ÖĞRENEBİLİR
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
Mantıksal Vekiller.
ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN.
Bilgisayar Bilimlerinin Kuramsal Temelleri
KÜMELER.
MANTIK BİLİMİNE GİRİŞ VE ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN.
Bilgisayar Bilimlerinin Kuramsal Temelleri
ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN. Önermeler Mantığı - Bağlaçlar Yalnızca doğruluk değerleri üzerinden fonksiyonel olarak tanımlanabilen bağlaçlar ve.
MANTIK BİLİMİNE GİRİŞ VE ÖNERMELER MANTIĞI Yılmaz KILIÇASLAN.
MUSTAFA GÜLTEKİN Matematik A Şubesi.
KÜMELER.
Dr. Mehmet Dikmen BİL551 – YAPAY ZEKA MANTIK Dr. Mehmet Dikmen
Reasoning Engine Özge Barbaros Baran Cem Barazi Ümit Kırtıl.
Biçimsel Diller ve Soyut Makineler
BOOLEAN MATEMATİĞİ.
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
Bulanık Mantık Bulanık Mantığın Temel Kavramları
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Karşılaştırıcı ve Aritmetik İşlem Devreleri
Adım Adım Algoritma.
Kümeler Küme, matematiksel anlamda tanımsız bir kavramdır. Bu kavram "nesneler topluluğu veya yığını" olarak yorumlanabilir. Bu tanımdaki "nesne" soyut.
9.SINIF MANTIK ÖZEL ÇAKABEY OKULLARI
Tamsayılar.
TAM SAYILAR.
KÜMELER HAZIR MISIN?.
Problem Çözme Yaklaşımları
Algoritmanın Hazırlanması
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Bilgisayar Bilimi Problem Çözme Süreci-2.
NİŞANTAŞI ÜNİVERSİTESİ
Bilgi Yönetimi ve Matematik Önerme Mantığı
Sunum transkripti:

YAPAY ZEKA ve UZMAN SİSTEMLER Ders Notu - 6 Mantıksal Ajanlar

Konular Bilgi Tabanlı Ajanlar Mantık – modeller ve gerektirme (entailment) Önerme (ikili) mantığı-Propositional (Boolean) logic Yüklemler Mantığı Çıkarsama (Inference) kuralları İleri zincirleme (forward chaining) Geri zincirleme (backward chaining) - Çözünürlük (resolution)

Basit Bilgi Tabanlı Ajan -Durumları, faaliyetleri v.s. bilgi olarak İfade edebilmeli; -Yeni bilgiler oluşturabilmeli; -Dünyanın özelliklerini mantıksal çıkarabilmeli; -Edindiği bilgilere uygun hareketler yapabilmeli Bilgi tabanlı bir etmen, eylemlerini seçmeden önce şu anki durumun gizlenmiş yönlerini belirleyebilmek için genel bilgi ile o anki duyumlarını birleştirebilir.

Bilgi Tabanlı Etmenler ve Esneklik Bilgi tabanlı etmenler, yeni görevleri açık olarak tanımlanmış hedefler şeklinde kabul etme yeteneğine sahiptirler. Ortam hakkında yeni bilgilerin kendilerine söylenmesi veya öğrenme yoluyla yeteneklerini çok çabuk geliştirebilirler. İlgili bilgilerini güncelleyerek ortamdaki değişikliklere uyum sağlayabilirler.

Bilgi Tabanlı Etmenlerin Ayrıntılı Tasarımı - I Bilgi tabanlı bir etmenin ana bileşeni bilgi tabanıdır (Knowledge Base - KB). Basitçe, bilgi tabanı bir cümleler kümesidir. (Burada ‘cümle’ teknik bir terim olarak kullanılmıştır. İngilizce ve diğer doğal dillerin cümlelerine benzer fakat aynı değildir.) Her cümle bilgi gösterim dili adı verilen bir dil ile ifade edilir ve dünya hakkında bazı bildirimleri betimler.

Bir bilgi-tabanı birinin dünya hakkında bildiklerinin temsillerinin bir kümesidir (nesneler ve nesne sınıfları, nesneler hakkındaki gerçekler, nesneler arasındaki ilişkiler vb.) Ayrı ayrı her bir temsil bir cümle olarak adlandırılır. Cümleler bir bilgi temsil dilinde ifade edilir. Cümle örnekleri Ay yeşil peynirden yapılmıştır A doğruysa B doğrudur A yanlıştır Tüm insanlar ölümlüdür Konfiçyüs bir insandır

Bilgi Tabanlı Etmenlerin Ayrıntılı Tasarımı – II Yeni cümlelerin bilgi tabanına eklenmesi ve bilinenlerin sorgulanması için bir yöntemin olması gereklidir. Bu görevler için standart isimler sırasıyla şunlardır: TELL (SÖYLE) ve ASK (SOR). Her iki görev de çıkarım (yani eskilerinden yeni cümleler üretme işlemi) içerebilir.

Ajanın Bilgi Tabanı Ajanın bilgilerden yararlana bilmesi için iki modüle ihtiyacı vardır: bilgi tabanına bilgi çıkarım modülüne (inference engine). Bilgi tabanı formal dilde ifade edilmiş cümleler kümesidir. Bilgi tabanının içeriği alana özgüdür Bilgi tabanının içeriği: Ajanın önceden kaydedilmiş bilgileri (olgular ve kurallar), bu bilgilerden yararlanmakla ve dış dünyanı algılamaları sonucu edindiği, öğrendiği bilgiler Bilgi tabanının içeriği zamana göre ve Ajanın tüm yaşamı boyunca öğrenme süresince değişmektedir

Çıkarsama Modülü Ajan, ne yapacağı hakkında karar vermek için gereken bilgileri bilgi tabanından edine bilmelidir. Bu, çıkarsama kuralları esasında çıkarsama modülünde gerçekleştirilir. Çıkarsama modülü alana bağımsız algoritmaları içerir.

Bilgi Tabanlı Ajan Ajanın Dünyası Ajan Mantıksal Çıkarsama

Çıkarım Motoru Bilgi Tabanı Çıkarım motoru giriş ve KB’ den yeni cümleler türetir Çıkarsama mekanizması KB’ deki temsile bağlıdır Ajan aşağıdaki gibi davranır: 1. Çevreden algı alır 2. Hangi hareketi yapması gerektiğini hesaplar (IE ve KB’ den) 3. Seçilen hareketi yapar (bazı hareketler basitçe çıkarılan yeni gerçekleri KB’ ye eklemektir). Çevreden giriş Çıkarım Motoru Çıkış (hareketler) Öğrenme (KB güncelleme) Bilgi Tabanı

Ajanın tanımlanması Ajanlar bilgi seviyesinde tanımlana bilmelidirler (Nasıl çalıştırıldığına bakmaksızın neyi bildiklerinin belirlenmesi) Veya çalışma seviyesinde tanımlana bilmelidirler (Bilgi tabanında, bilgilerin ifade olundukları veri yapılarının ve onlar üzerinde işlem yapan algoritmaların belirlenmesi)

Basit Bilgi Tabanlı Ajan Programı function BT-ETMEN( duyum ) returns eylem static: BT, bilgi tabanı t, sayaç, başlangıçta 0, zamanı belirtir TELL(BT, DUYUM-CÜMLESİ-YAP( duyum, t )) eylem  ASK(BT, EYLEM-SORGUSU-YAP(t)) TELL(BT, EYLEM-CÜMLESİ-YAP( eylem, t ) t  t + l return eylem Bilgi Tabanında (KB) başlangıçta ön bilgiler tutuluyor. Her zaman anında Ajan programı iki iş yapıyor: 1) Bilgi tabanına neler algıladığını söylüyor (TELL). 2) Bilgi tabanından ne yapmak gerektiğini soruyor (ASK). Hareket seçildikten sonra program bu seçimi kaydediyor ve hareketi gerçekleştiriyor. Gerçekleştirme yeni TELL komutu ile bilgi tabanına bildiriliyor.

KB farklı seviyelerde görülebilir Bilgi Seviyesi. En soyut seviyedir– etmen bildiğine göre tanımlanır. Örnek: Bir taksi ajanın Golden Gate Köprüsünün San Francisco ve Marin County’yi birbirine bağladığını bilebilir. Mantıksal Seviye. Bilginin cümleler içine kodlandığı seviyedir. Örnek: Links(GoldenGateBridge, SanFrancisco, MarinCounty). Yürütme Seviyesi. Etmen mimarisinin üzerinde çalışan seviye. Mantıksal seviyedeki cümlelerin fiziksel temsillerinin bulunduğu seviyedir. Örnek: “(Links GoldenGateBridge, SanFrancisco, MarinCounty)”

Deklaratif ve Prosedürel Programlama Karşıtlığı Bilmesi gereken kendisine SÖYLEnerek bilgi tabanlı bir etmen kolaylıkla oluşturulabilir. Etmenin duyumları almaya başlamadan önceki başlangıç programı, tasarımcının ortam hakkındaki bilgisini betimleyen cümlelerin tek tek eklenmesi ile oluşturulur. Bilginin basit cümleler şeklinde ifade edilmesini sağlayan gösterim dilinin tasarlanması, etmen programı oluşturulması sorununu oldukça kolaylaştırır. Buna sistem oluşturmada deklaratif yaklaşım denir. Karşıtı olan prosedürel yaklaşım istenen davranışları doğrudan program kodu olarak kodlar. Açık bir belirtimin ve akıl yürütmenin rolünün düşük seviyede tutulması, çok daha etkin bir sistemin ortaya çıkmasını sağlar.

Vampir Dünyası Vampir dünyası, geçitlerle birbirine bağlanmış odalardan oluşan bir mağaradır. Mağaranın herhangi bir yerinde Vampir adlı odasına her gireni yiyen bir canavar saklanmıştır. Vampir, ajan tarafından vurulabilmektedir, fakat etmenin yalnızca bir tane oku vardır. Bazı odalarda, (içine düşemeyecek kadar büyük olan wumpus hariç) içine gireni yutan dipsiz kuyular vardır. Bu ortamda yaşamanın tek iyi yanı, bir altın yığını bulma ihtimalidir.

Vampir dünyasının PEAS tasviri Başarım ölçümü altın +1000 puan, ölmek -1000 Her adım -1 , okun kullanılması -10 Ortam - Vampire komşu odalar kokuyor Kuyuya komşu kareler rüzgarlıdır Altın olan karede parıltı var Algılar: Esinti, Parıltı, Koku, Gürültü Tepkiler: Sola git, sağa git, yukarı git, aşağı git, altını al, ok at

Vampir dünyasının PEAS tasviri Gerçekleştiriciler: Ajan ileri gidebilir, 90° sola veya sağa dönebilir. Ajan, kuyu veya canlı Vampir olan bir odaya girdiğinde talihsiz bir şekilde ölür. (Ölü bir Vampir olan odaya girmek, her ne kadar pis kokulu olsa da, güvenlidir.) Eğer ajanın önünde bir duvar varsa, ileri gitmenin hiçbir etkisi yoktur. Altını Al eylemi ajanla aynı karede bulunan herhangi bir nesneyi almada kullanılabilir. Ok at eylemi, ajanın karşısında olan yöne düz bir çizgi şeklinde ok atması için kullanılabilir. Ok, Vampire veya bir duvara çarpana kadar yoluna devam eder. Vampire çarptığında öldürür. Ajanın sadece bir oku vardır. Bu sebeple sadece ilk Ok at eyleminin bir işlevi vardır.

Vampir dünyasının PEAS tasviri Algılayıcılar: Ajanın, her biri bir miktar bilgi veren beş adet algılayıcısı vardır: Vampirin olduğu ve (köşegen değil) doğrudan komşu olan odalarda, etmen bir koku duyacaktır. Bir kuyuya doğrudan komşu olan karelerde, ajan bir esinti hissedecektir. Altının olduğu karede, ajan bir parıltı algılayacaktır. Ajan bir duvara çarptığında, bir çarpma algılayacaktır. Vampir öldürüldüğünde, mağaranın her tarafından duyulabilecek acıklı bir çığlık atar. Duyumlar ajana beş simgeden oluşan bir liste şeklinde verilecektir. Örneğin, pis bir koku ve rüzgar varken, parıltı, çarpma veya çığlık yoksa, ajanın alacağı duyum [Koku, Esinti, Yok, Yok, Yok] şeklinde olacaktır.

Vampir dünyasının nitelikleri Tam izlenilebilir Hayır – yalnız yerel algılama Belirlenmiş Evet – sonuçlar kesin belirlenmiş Epizodik Hayır – hareketlerin her seviyesinde ardışıklık Statik Evet – vampirler ve kuyular hareket etmezler Diskret Evet Tek-Ajan? Evet

Ajan Bilgisinin Başlangıç Durumları (a) [Yok, Yok, Yok, Yok, Yok] (b) [Yok, Esinti, Yok, Yok, Yok]

Ajanın İlerleyişindeki İki İleri Seviye 1,4 2,4 3,4 4,4 1,3 W! 2,3 3,3 4,3 1,2 A S OK 2,2 3,2 4,2 1,1 V 2,1 B 3,1 P! 4,1 1,4 2,4 3,4 4,4 1,3 W! 2,3 A S G B 3,3 P? 4,3 1,2 S V OK 2,2 3,2 4,2 1,1 2,1 3,1 P! 4,1 (a) [Koku, Yok, Yok, Yok, Yok] (b) [Koku, Esinti, Parıltı, Yok, Yok]

Vampir dünyasında dolaşma B(breeze)-esinti P(pit)-kuyu S(stench)-koku G(Glitter)-parıltı

Vampir dünyasında dolaşma B(breeze)-esinti P(pit)-kuyu S(stench)-koku G(Glitter)-parıltı

Vampir dünyasında dolaşma B(breeze)-esinti P(pit)-kuyu S(stench)-koku G(Glitter)-parıltı

Vampir dünyasında dolaşma B(breeze)-esinti P(pit)-kuyu S(stench)-koku G(Glitter)-parıltı

Vampir dünyasında dolaşma B(breeze)-esinti P(pit)-kuyu S(stench)-koku G(Glitter)-parıltı

Vampir dünyasında dolaşma B(breeze)-esinti P(pit)-kuyu S(stench)-koku G(Glitter)-parıltı

Vampir dünyasında dolaşma B(breeze)-esinti P(pit)-kuyu S(stench)-koku G(Glitter)-parıltı

Vampir dünyasında dolaşma B(breeze)-esinti P(pit)-kuyu S(stench)-koku G(Glitter)-parıltı

Mantıklı Düşünmenin Temel Bir Özelliği Mevcut olan bilgiden etmenin bir sonuca ulaştığı her durumda, mevcut bilgi doğru olduğunda ulaşılan sonuç doğru olma garantilidir. Bu mantıklı düşünmenin temel bir özelliğidir.

Bilgi Temsil Dili Olarak Lojik Önermesel Lojik Birinci Derece Yüksek Derece Kipsel Bulanık Lojik Çok değerli Lojik Olasılıksal Geçici Monoton olmayan

Bilginin mantıksal tasvirinin ve sonuç almanın temel kavramları Mantık (Logic)- bilginin tasviri için kullanılan ve sonuçların ifade edildiği biçimsel dil Cümleler, tasvir dilinin sözdizimine (Syntax) uygun olarak ifade edilir. Sözdizimine uygun ve anlaşılır biçimde ifade edilmiş cümle iyi biçimlendirilmiş cümledir (well formed sentence) Örnekler: X+y=4 (wfs) x4y+= (wfs değil)

Önermesel Lojik: Syntax Semboller: Lojiksel sabitler: true (T), false (F) Önermesel semboller: P, Q, S, ... Lojiksel bağlaçlar:  ...conjunction (and)  ...disjunction (or) ~ ...negation (not) => ...implication (if) <=> ...logical equivalence (if and only if) parantezler: ( … ) Bir öneri (önerme sembolü ile gösterilen) ya doğru ya da yanlış olan fakat hem yanlış hem doğru olmayan bir deklaratif(tanıtan) ifadedir. Ay yeşil peynirden yapılmıştır (F) Malatya, Elazığ’a Bursa’dan daha yakındır (T) P = NP (gerçek bilinmiyor)

~ , , , => , <=> Cümle T veya F’nin kendisi bir cümledir Her bir öneri sembolleri P, Q, ... cümledirler Eğer S cümleyse (S) de cümledir S1 ve S2 cümleyse S1  S2, S1 S2, S1 => S2, S1 <=> S2, ~ S1 ler de cümledirler Hiç birşey bir cümledir Mantıksal bağlaçların öncelik sırası ~ , , , => , <=> Mantıksal bağlaçların minimum kümesi (~ , ), ya da (~ , ) Atomic cümleler: T, F, P, Q, ... Literals: atomic cümleler ve onların olumsuzları

Önermesel Lojikte Cümlelerin Bir BNF Grameri S := <Sentence> ; <Sentence> := <AtomicSentence> | <ComplexSentence> ; <AtomicSentence> := "T" | "F" | "P" | "Q" | "S" ; <ComplexSentence> := "(" <Sentence> ")" | <Sentence> <Connective> <Sentence> | ~<Sentence> ; <Connective> :=  |  | => | <=> ; <literal> := <AtomicSentence> | ~ <AtomicSentence>

Önermesel Lojik cümle örnekleri P “hava sıcak“ anlamına gelir Q “hava nemli" anlamına gelir R “yağmur yağıyor" anlamına gelir P ^ Q => R “Eğer hava sıcak ve nemliyse yağmur yağıyordur." Q => P “Eğer hava nemliyse, hava sıcaktır." Q “Hava nemlidir."

Bilginin mantıksal tasvirinin ve sonuç almanın temel kavramları Cümleler aynı zamanda “anlamı” (semantics) ile tanımlanıyor Anlam, her bir mümkün dünyada (cümlenin ala bileceği değerler ortamı) cümlenin gerçekliğini belirler. x+2 ≥ y cümledir; x2+y > {} cümle değil. Bu söz dizimidir. Örnek cümlenin anlamı: x = 7, y = 1 koşulunun sağlandığı dünyada x+2 ≥ y doğrudur x = 0, y = 6 koşulunun sağlandığı dünyada x+2 ≥ y yanlıştır

Önermesel Lojik (PL): Semantics Verilen bir cümleler kümesi için sembollerin yorumlarına ihtiyaç vardır Öneri sembollerinin kendilerinin bir anlamı yoktur Bir yorum öneri sembollerini dünya hakkındaki bir ifadeye bağlar (bu dünyada doğru ya da yanlış olabilir) PL’de bir yorum, içerilen tüm öneri sembollerine doğruluk değerlerinin bir ataması olarak tanımlanabilir Verilen bir cümleler kümesi için bir çok yorum vardır (eğer n ayrı öneri sembolünü içeriyorlarsa 2^n ) Örnek: I_1: P: hava nemli (T) Q: hava sıcak (T) P ^ Q doğrudur I_2: P: ay yeşil peynirden yapılmıştır (F) Q: mutluyum (T) P ^ Q yanlıştır

Lojiksel bağlaçlar için doğruluk tablosu Her lojiksel bağlaca bir anlam ver Bir bağlaç bir fonksiyondur (boolean), Herhangi belirli bir yoruma bağlı değildir (tüm Pl cümleleri için evrenseldir) En iyi bir doğruluk tablosuyla tanımlanabilir Her cümlenin doğruluk değeri o zaman hesaplanabilir Lojiksel bağlaçlar için doğruluk tablosu

PL’de denklik kuralları (her iki taraf aynı doğruluk tablosuna sahip) P => Q ~P v Q P <=> Q (P => Q) ^ (Q => P) Dağılım kuralı P ^ (Q v R) P ^ Q v P ^ R P v (Q ^ R) (P v Q) ^ (P v R) De Morgan kuralı ~(P v Q v R) ~P ^ ~Q ^ ~R ~(P ^ Q ^ R) ~P v ~Q v ~R

Bazı Terimler Bir model her cümlenin Doğru olduğu bir cümleler kümesinin bir yorumudur. Bir model dünya için “yerini alan” tam bir biçimsel matematiksel yapıdır. Bir cümle bazı yorumlama(lar)da Doğru ise tatmin edilebilirdir Bir geçerli cümle ya da totoloji (analitik cümleler) bütün mümkün dünyada bütün yorumlamalar altında doğrudur, dünyanın gerçekten ne olduğuna ya da semanticin ne olduğuna vb. bakmaz Tutarsız cümle ya da çelişki tüm yorumlamalar altında Yanlış olan bir cümledir. Mesela dünya, onun tarif ettiğine hiç benzemez P gerektirir Q (P entails Q) (Q, P’nin bir mantıksal sonucudur, Q mantıksal olarak P’yi takip eder), P |= Q şeklinde yazılır. Ne zaman P Doğru olsa Q da Doğru olur. Diğer deyişle P’nin tüm modelleri aynı zamanda Q’nun da modelidir.

Kompleks Cümlelerin Modelleri (Venn diyagramları)

Model Model- cümlenin doğru veya yanlışlığını tespit eden matematik soyutlamadır. Eğer α cümlesi her hangi m modelinde doğru ise m , α cümlesinin modelidir M(α) - α –nın tüm modelleri kümesidir x+y= 4 cümlesini doğru yapan {x,y} çiftlerine tüm mümkün atamalar bu cümlenin modelleridir. x ve y tam sayılar ise, bu cümlenin modelleri: {0,4}, {-3, 7}, {2,2}…

Mantıksal Sonuç (Entailment) Mantıksal Sonuç- bir sonuçtan diğer bir sonucun mantıksal alınmasıdır: α ╞ β α ‘nın doğru olduğu tüm modellerde β doğru ise, β cümlesi, α cümlesinin mantıksal sonucudur. Yani, α ’nin doğru olması, β‘nın da doğru olması anlamını veriyor . «X çiçektir» önermesi «X güldür» önermesinin mantıksal sonucudur. Çünkü tüm güller çiçektir. gül╞ çiçek X ve Y’nin tüm eksi olmayan değerlerinde, yani, tüm (x>=0,y>=0) modellerinde x+y>=0 cümlesi, X 2 + Y 2 >=0 cümlesinin mantıksal sonucudur: X 2 + Y 2 >=0 ╞ x+y >=0

Vampir dünyasında mantıksal sonuç alma [1,1]’de Ajanı endişelendirecek bir durum algılanmadıktan sonra sağa hareket ve [2,1]’de rüzgar olması durumu Yalnız kuyuları dikkate almakla, Bilgi Tabanı (KB) için tüm mümkün modeller 3 Boolean seçim  8 mümkün model eğer M(KB)  M(α) ise KB ╞ α 1,1 2,1

Vampir Dünyasının Modelleri Bilgi Tabanı (KB): olgular 1,1’de rüzgar ve kuyu yoktur 2,1’de rüzgar var Kurallar: Rüzgarlı kareye komşu karelerin en azından birinde kuyu vardır. Ajanın bulunduğu kareler (1,1 ve 2,1) ve bu karelere komşu kareler hakkında bilgiler vampir dünyasının 8 modelini oluşturur. Kuyular siyah kare ile gösterilip. Vampir Dünyasının Modelleri 1,1 2,1

Vampir Dünyasının Modelleri 1,1 2,1 KB = vampir dünyasının kuralları+gözlemler Bilgi tabanında vampirin diğer 5 modeli hakkında bilgi yoktur

Vampir Dünyasının Modelleri 1,2 1,1 2,1 KB = vampir dünyasının kuralları + gözlemler α1 = "[1,2] güvenlidir“ sonucunu Ajanın bilgi tabanından ala bilir miyiz?, Başka, değişle KB, α1 cümlesini mantıksal doğuruyor mu? Buna model yoklaması (model checking) yöntemi ile cevap buluna bilir: KB ╞ α1 Model yoklamasında bilgi tabanındaki tüm modeller taranarak, α1 ‘nın çıkarıla bileceği öğrenildi.

Vampir Modelleri KB = vampir dünyasının kuralları + gözlemler 2,2 KB = vampir dünyasının kuralları + gözlemler α2 = "[2,2] güvenlidir” (kuyu yoktur)“ KB ╞ α2 Bilgi tabanı α2 cümlesini geçerli yapmaz, çünkü KB’nin doğru olduğu iki modelde bu cümle doğru değildir; 2,2’de kuyu olmamasını, yani, bu karenin güvenli olmasını, yalnız bilgi tabanındaki bilgilerle kesin söyleye bilmeyiz. 1,1 2,1

Modellerin taranması ile mantıksal çıkarım algoritması Tüm modellerin derinine taranması geçerli ve tamdır n simge için zaman karmaşıklığı O(2n), uzay karmaşıklığı O(n)

Mantıksal Çıkarsama (Inference) Mantıksal sonuç yöntemi, bir sonuca göre diğerinin çıkarıla bildiğini tanımlar. Fakat bu çıkarımın nasıl gerçekleştiğini göstermez. Bunun için mantıksal çıkarsama yöntemleri uygulanmaktadır. 2 yöntem: Model yoklaması - KB’nin doğru olduğu tüm modellerde α doğrudur” cümlesini yoklamak için tüm mümkün modellerin taranması (mantıksal sonuç alma yolu ile) Mantıksal çıkarsama kuralları (sonraki konular) Mantıksal çıkarsama böyle ifade edile bilir: KB ├i α α cümlesi, i yordamı ile KB’den çıkarıla bilir

Çıkarsama Kuralı Mantıksal Çıkarsama verilen S cümleler kümesini (KB’de ve girişten) mantıksal takip eden yeni X cümleleri çıkarmada kullanılır, mesela, S |= X Bu tür çıkarım aynı zamanda tümdengelim olarak da bilinir (deduction) Doğruluk Tablosu Kullan: S |= X in doğru olup olmayacağı S => X ‘ in bir totoloji olup olmayacağına bakılarak karar verilir S |= X doğru olur ancak ve ancak S’i doğru yapan her I yorumu X i de doğru yaparsa S => X bir totolojidir ancak ve ancak S’i doğru yapan her I yorumu X i de doğru yaparsa Örnek: P, P => Q |= Q çünkü (P, P => Q) => Q herhangi bir yorum altında doğrudur Çok sayıda cümleyi içeren çıkarsama için büyük doğruluk tablosu

Çıkarsama kurallarını kullan: Var olan bir ya da daha fazla S cümlelerinden yeni X cümleleri üret. S’e kuralın öncülü (premise) ve X’e sonucu denir. İspat prosedürü: Bu kuralların nasıl kullanılacağını gösteren çıkarsama kurallar kümesi ve bir prosedür Eğer X, i ispat prosedürüyle S’ten üretilebiliyorsa, X’ in S ten i ile türetildiğini söyleriz, S |i X, ya da S | X ile gösterilir. Sağlamlık (Soundness). Bir çıkarsama prosedürü, S cümleler kümesinden ürettiği her X cümlesi mantıksal olarak S’i takip ediyorsa sağlamdır. (Hiç çelişki oluşmaz). if S | X then S |= X Tamlık (Completeness). Bir çıkarsama prosedürü verilen bir S i mantıksal takip eden her cümleyi çıkarabiliyorsa tamdır. if S |= X then S | X

Sağlam Çıkarsam Kuralları (tümdengelimli kurallar) Burada çıkarsamanın sağlam kural örnekleri vardır. Her biri bir doğruluk tablosu kullanılarak sağlam olduğu gösterilebilir – bir kural eğer sonucu, öncülü hep doğru olduğunda doğruysa tamdır. KURAL ÖNCÜL SONUÇ Modus Ponens A, A => B B Modus Tollens ~B, A => B ~A And Introduction A, B A ^ B And Elimination A ^ B A Or Introduction A A v B Double Negation ~~A A Chaining A => B, B => C A => C

Resolution kuralı Unit Resolution A v B, ~A B Resolution A v B, ~B v C A v C literaller olsun. O zaman Literallerin iki disjunctions’ı üzerinde işlem yapar İki zıt literal çifti birbirlerini geçersiz hale koyar, iki disjunct’tan tüm diğer literaller çıkarılan cümle olarak yeni bir disjunct oluşturmak için birleştirilir Çözümleme kuralı diğer tüm çıkarsama kurallarının yerine geçebilir Modus Ponens A, ~A v B B Modus Tollens ~B, ~A v B ~A Chaining ~A v B, ~B v C ~A v C

Önermeler mantığı-Propositional logic Önermeler mantığı temel mantıksal fikirleri ifade eden en basit mantıktır. Önermeler mantığında her cümle bir önermedir. Önermeler genelde harflerle gösterilir. “Ali iyi öğrencidir”, “Fatma çok iyi öğrencidir”, “Mehmet’in babası Ahmet’tir” önermeleri uygun olarak, A,F, M gibi tanımlana bilir. Her bir önerme gerçek (doğru veya yanlış) değer alır. Önermeler mantığının ifade gücü zayıftır. Örneğin, ilk iki cümle anlamsal olarak çok yakındır. 3. cümle ise farklıdır. Önermeler mantığı bu farkı dikkate alamıyor.

Önermeler mantığı cümleleri eğer S1 ve S2 cümle ise, S1  S2 cümledir (koşul- implication) (~S1 v S2) eğer S1 ve S2 cümle ise, S1  S2 cümledir (iki yönlü koşul -biconditional) Basit (atomik) cümle- tek bir önermeden oluşur. Basit cümleler arasında mantık bağlayıcıları kullanmakla birleşik cümleler oluşturulur P1,2  (P2,2  P3,1) = doğru  (doğru  yanlış) = doğru  doğru = doğru

gerçeklik tablosu Gerçeklik tablosu, mantıksal ifadenin argümanlarının alabileceği değerlere göre, ifadenin değerini hesaplayan tablodur. Özellikle, geçerlik tabloları bir önerme ifadesinin, tüm yasal giriş değerleri için doğru olup olmadığın, yani mantıksal olarak geçerliliğini söyler. P Q P P Q P Q P Q P Q yanlış doğru

Vampir dünyasının önermeler mantığında ifadesi Pi,j – doğrudur; eğer [i, j] ‘de kuyu varsa. Bi,j -doğrudur; eğer [i, j]’de rüzgar varsa. Kural: “Kuyular komşu karelerde rüzgara neden oluyor“  P1,1 B1,1 B2,1 B1,1  (P1,2  P2,1) B2,1  (P1,1  P2,2  P3,1)

Vampir dünyasının basit Bilgi Tabanı R1:  P1,1 /* [1,1]’de kuyu yoktur */ R4: B1,1 /* [1,1]’de rüzgar yoktur */ R5: B2,1 /* [2,1]’de rüzgar var */ R2: B1,1  (P1,2  P2,1) R3: B2,1  (P1,1  P2,2  P3,1)

Vampir dünyasında (1,2 odası güvenlidir) cümlesinin mantıksal çıkarımı için gerçeklik tablosu Önceki örneklerde gösterilmiş kareler için yalnız rüzgar ve kuyu olup-olmaması değerlendirmeleri dikkate alınmıştır. B rüzgarı, P-kuyuyu simgeler. Örnek anlatım: 1. satırda 1,1 ve 2,1 karelerinde rüzgar olmadığı, diğer karelerde ise kuyu olmadığı ifade edilmiştir. Bilgi tabanında böyle bir bilgi yoktur. “1,2 ‘de kuyu yoktur” doğrudur. Yalnız okla gösterilmiş modeller bilgi tabanında vardır. KB o halde doğrudur ki, R1-R5 kuralları doğrudur

Mantıksal eşitlik ifadeleri Eğer aynı cümleler aynı modellerde doğru ise onlar mantıksal eşittirler: α ≡ ß iff α╞ β and β╞ α Commutativity-yerdeğişme Associativity-birleşme Double negation elimination- ikikat değil elemesi Contraposition-zıtlık İmplication elimination “koşul” elemesi Biconditional elimination –iki yönlü koşul elemesi Distributivity-dağılma

Önerme örnekleri “Bütün köpekler vahşidir” önermesinin tersi şunlar olabilir: • Bütün köpeklerin vahşi olması söz konusu değildir. • Köpeklerin hepsi vahşi değildir. • Bazı köpekler vahşi değildir. “Hiçbir köpek vahşi değildir” önermesi “Bütün köpekler vahşidir” önermesinin tersi değildir. • Tersini alma işleminde, ilk ifadenin doğru olduğu her durumda ikinci ifade yanlış olmalıdır (veya tersi) “Bütün köpekler vahşidir” önermesi sadece bir köpeğin vahşi olduğu durumda yanlıştır, ancak “Hiçbir köpek vahşi değildir” önermesi bu durumda doğru değildir. Açıklaması: Örn., A köpeği vahşi değilse 1. önerme yanlış değer almış olacak. Onun tersi «doğru» değer almalıdır. Ama 2. önerme de bu durumda «yanlış» değer almış oluyor, yani bu cümleler ters cümleler değiller.

Mantıksal çıkarsama kuralları Modus Ponens eğer p=>q doğru ise ve p doğru ise, o zaman q doğru olmalıdır Modus Tolens eğer p=>q doğru ise ve q yanlış ise, p yanlış olmalıdır Ve_eleme (And-Elimination) eğer p*q doğru ise, p doğrudur ve q doğrudur Ve_ya eleme (Or-Introduction) eğer p doğru ise, o zaman p+q doğrudur İki kat değil elemesi (Double-Negation Elimination) Değil’in değil’i artıdır

Örnekler p, q, ve r önermelerdir: p: Sınava gireceksin q: Kitaptaki tüm alıştırmaları yaptın r: Dersten A aldın. Bu önermeleri kullanmakla aşağıdaki cümleleri ifade edin: 1. Dersten A aldın, ama kitaptaki tüm alıştırmaları yapmadın Dersten A almak için sınava girmek gerekmektedir. Sınava girmek ve kitaptaki tüm çalışmaları yapmak , dersten A almak için yeterlidir Çözüm 1 r∧¬q 2. r⇒p 3. p∧q⇒r

Çözünürlük (Resolution) Bağlaçlı normal biçim (Conjunctive Normal Form (CNF) cümlelerin ayırmalarının birleşmesi (conjunction of disjunctions of literals clauses) örnek: (A  B)  (B  C  D) Çözünürlük çıkarsama kuralı (Resolution inference rule): l1 …  lk, m1  …  mn verilmişse ve li ve mj zıt değerli simgeler ise l1  …  li-1  li+1  …  lk  m1  …  mj-1  mj+1 ...  mn doğrudur. (“, “ “ve” anlamındadır) Örnek: P1,3  P2,2, P2,2 ifadesinden P1,3 çıkıyor, çünkü (P2,2 ve P2,2 zıttır)

İfadelerin bağlaçlı normal biçime (CNF) dönüştürülmesi B1,1  (P1,2  P2,1) örneği üzerinde  aradan götürülmeli, α  β ifadesini (α  β)(β  α) ile değişmeli. (B1,1  (P1,2  P2,1))  ((P1,2  P2,1)  B1,1) 2. aradan götürülmeli, α  β ifadesini α β ile değişmeli. (B1,1  P1,2  P2,1)  ((P1,2  P2,1)  B1,1) 3.  , Morgan kuralları ve iki kat değil(double-negation) kullanılmakla ifade içine alınmalı: (B1,1  P1,2  P2,1)  ((P1,2  P2,1)  B1,1) 4. Dağılma (distributivity) kurallarını uygulamalı: (B1,1  P1,2  P2,1)  (P1,2  B1,1)  (P2,1  B1,1)

Çözünürlük algoritması Giriş: aksiyomlar denen öneriler ve amaç Çıkış: aksiyomlardan amacı almak mümkün mü? Aksiyomlar ve eksi amaçtan oluşan S kümesini oluşturmalı S’in her bir öğesini bağlaçlı normal biçimde (CNF) ifade etmeli a) her bir “eğer … o halde…” ifadesini DEGİL ve VEYA işlemleri ile ifade etmeli. (“Eğer a ise b” ifadesini ~a v b gibi ifade etmeli) b)Alınmış cümleleri aşağıdaki biçimde ifade etmeli (öneriler “değil” biçiminde de ola bilir) 3. Tekrarlamalı a) S kümesinden her hangi iki cümle seçmeli; bu cümleler zıt değerli simge içermelidirler b) bu iki cümleyi çözmeli (Sonuç cümleye çözücü (resolvent) denir). O zamana dek ki, boş küme alınacak veya ilerleme mümkün olmayacak

Çözümleme ile İspat Q ~Q v P ~P v ~Q v R P ~Q v R R Öncüller P ~Q v R R teorem Arama olarak teorem ispatlama Başlangıç düğümü: verilen öncüllerin/aksiyomların kümesi (KB + Giriş) Operatör: Çıkarsama kuralı (Ata düğüme yeni bir cümle ekle) Hedef: İspatlanması sorgulanan teoremi içeren bir durum Çözüm: Başlangıç düğümden hedef düğüme yol

Çözünürlük algoritmasına örnek Bilgi tabanında aşağıdaki cümleler vardır: Havanın nemliği yüksektir veya gökyüzü bulutludur Eğer gökyüzü bulutlu ise o halde yağmur yağacak Eğer havanın nemliği yüksek ise hava sıcaktır Hava sıcak değil Amaç: yağmur yağacak Çözünürlük teoremi ile amacın bilgi tabanından çıkarıla bileceğini kanıtlayalım. İspatı: p- nemlik yüksektir; q-gökyüzü bulutludur; r-yağmur yağacak; s-hava sıcaktır. Bu cümlelerin CNF biçimleri böyle olacak: Eksi amaç:~r. S kümesinde bu 5 cümle vardır. Sonra çözünürlük algoritması ile uygun çözüm ağacı oluşturuluyor. Sonuçta null cümleye ulaştığımız için amaç ispat edilmiş sayılıyor

Çözünürlük örneği KB = (B1,1  (P1,2 P2,1))  B1,1 Amaç: α = P1,2 ters amaç KB ifadesi önce sadeleştirilir( “ise” yerine mantık bağlayıcıları kullanılır. Sonra ise De Morgan kuralı uygulanır. (dönüştürme sonuçları 41.ci sayfada)

Vampir dünyasının önermeler mantığında ifadesi W1,1 (1,1) odasında vampir yoktur Bx,y  (Px,y+1  Px,y-1  Px+1,y  Px-1,y) Sx,y  (Wx,y+1  Wx,y-1  Wx+1,y  Wx-1,y) Sx,y- (x,y) odasında koku var (x ve y yerine her kuralda sayılar yazılmalıdır) W1,1  W1,2  …  W4,4 W1,1  W1,2 W1,1  W1,3  64 tane farklı önerme simgesi, 155 cümle

PL cümlelerinin normal formları Disjunctive normal form (DNF) Herhangi bir cümle literallerin conjunction’larının disjunction’ı olarak yazılabilir. Örnekler: P ^ Q ^ ~R; A^B v C^D v P^Q^R; P Lojiksel devre tasarımında yaygın olarak kullanılır (basitleştirme) Conjunctive normal form (CNF) Herhangi bir cümle literallerin disjunction’larının conjunction’ı olarak yazılabilir. Örnekler: P v Q v ~R; (A v B) ^ (C v D) ^ (P v Q v R); P Normal formlar denklik kuralı uygulanarak elde edilebilir [(A v B) => (C v D)] => P ~[~(A v B) v (C v D)] v P [~~(A v B) ^ ~(C v D)] v P [(A v B)^(~C ^ ~D)] v P (A v B v P)^(~C^~D v P) (A v B v P)^(~C v P)^(~D v P) bir CNF

Horn Cümleleri Bir Horn cümle literallerin en fazla bir tanesinin negatif olmadığı literallerin bir disjunction’ıdır. ~P1 v ~P2 v ~P3 ... v ~Pn v Q; ya da alternatif olarak P1 ^ P2 ^ P3 ... ^ Pn => Q; (bir uzantı ya da if-then kuralı) Horn Cümlelerinin bazı özellikleri P => Q ^ R (P => Q) ^ (P => R) P v Q => R (P => R) ^ (Q => R) P => Q v R Horn Cümle olarak temsil edilemez Horn Cümleleri birinci derece lojikte Horn Clause’lara genişleteceğiz ve daha fazla tartışacağız Daha sonra göreceğimiz gibi, Horn clauses lojiksel çıkarsama otomatikleştirmeyi basitleştirir.

PL Çok Zayıf bir Temsil Dilidir. Aşağıdaki bilgiyi temsil eden problemi düşünün : Her insan ölümlüdür. (S1) Konfiçyüs bir insandır. (S2) Konfiçyüs ölümlüdür. (S3) S3 açıkça S1 ve S2’nin mantıksal sonucudur. Fakat bu cümleler PL kullanılarak üçüncü cümleyi ilk ikiden çıkaracak şekilde nasıl temsil edilebilir? P, Q ve R sembollerini 3 öneriyi göstermek için kullanabiliriz ancak bu bizi bir yere götürmez çünkü P ve Q dan R’yi çıkarsamak için önemli olan bilgi (mesela bir insan olmakla ölümcüllük ilişkisi ve Konfiçyüsle insan sınıfı arasındaki üyelik ilişkisi) çıkarsama kurallarıyla kullanılabilecek bir şekilde ifade edilmez

Alternatif olarak, her cümlenin kısımları için semboller kullanabiliriz P = “insan”; M = “ölümlü”; C = “konfiçyüs" Yukarıdaki 3 cümle kabaca şu şekilde temsil edilebilir : S2: C => P; S1: P => M; S3: C => M. O zaman S3 chaining kuralıyla S1 ve S2 den gerektirilir. Kötü semantics “konfiçyüs” (ve “insan” ve “ölümlü”) PL cümleleri değildir (tanıtan (declarative)bir ifade değildir) ve bir doğruluk değeri yoktur. P => M ne anlama gelir? Her bir birey için sonsuz ayrı X sembolüne ihtiyaç duyarız, ve bu X’leri P (insan) ve M (ölümlü) ile birleştirmek için sonsuz uzantıya ihtiyaç duyarız çünkü her birey için tek bir sembole ihtiyacımız vardır. İnsan_1 => P; insan_1 => M; İnsan _2 => P; insan _2 => M; ... ... İnsan => P; insan _n => M

PL’nin zayıflığı “Bireyleri” tanımlama zordur, mesela Ali, 3 Bireylerin kendileri PL cümleleri olamaz. Direk ve açıkça bireylerin özellikleri hakkında ya da bireyler arasındaki ilişkiler hakkında konuşmak zordur (bireyleri sınıf özelliklerine bağlamak zordur). Mesela bir insan olma özelliği ölümlü olma özelliğini ifade eder Genelleştirme, örüntüler (patterns), düzenlilikler (regularities) kolayca temsil edilemez. Bir sınıfın tüm üyeleri bu özelliğe sahiptir Bir sınıfın bazı üyeleri bu özelliğe sahiptir Nesneler ve sınıflar arasında ilişkileri ve farkları yakalamak için sınıflara ve bireylere ait özellikleri de içeren daha iyi bir temsile ihtiyaç vardır Birinci derece lojik (First-Order Logic - FOL ya da FOPC) bu tür durumları az ve öz olarak temsil için yeterlidir, sınıfları ve bireyleri ayırır Bireylerin ve sınıfların açık, kesin temsili, x, Ali, 3, kişiler. İlişkiler, değişkenler ve quantifier lar ilave eder mesela, “Her insan ölümlüdür” Forall X: insan(X) => ölümlü(X) “Beyaz bir timsah vardır” There exists some X: Timsah(X) ^ beyaz(X)