Mantıksal Vekiller
Konular Bilgi Tabanlı Vekiller Mantık – modeller ve gerektirme (entailment) Önerme (ikili) mantığı-Propositional (Boolean) logic Çıkarsama (Inference) kuralları İleri zincirleme (forward chaining) Geri zincirleme (backward chaining) - Çözünürlük (resolution)
Basit Bilgi Tabanlı Vekil -Edindiği Bilgilere uygun hareketler yapabilmeli
Vekilin Bilgi Tabanı Vekilin 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: vekilin ö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 vekilin tüm yaşamı boyunca öğrenme süresince değişmektedir
Çıkarsama Modülü Vekil, 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ı Vekil Vekilin Dünyası Vekil Mantıksal Çıkarsama
Vekilin tanımlanması Vekiller 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ı Vekil Programı Bilgi Tabanında (KB) başlangıçta ön bilgiler tutuluyor. Her zaman anında vekil 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.
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 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-vekil? Evet
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ı
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)
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
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}…
Gerektirme (Entailment) Gerektirme bir sonuçtan diğer bir sonucun mantıksal alınmasıdır: α ╞ β α ‘nin doğru olduğu tüm modellerde β doğru ise, α cümlesi β cümlesini gerektirir. Yani, α ’nin doğru olması, β‘nın da doğru olması anlamını veriyor . X ve Y’nin artı değerlerinde, yani, tüm (x>0,y>0) modellerinde X 2 + Y 2 >0 cümlesi x+y>0 cümlesini gerektirir: X 2 + Y 2 >0 ╞ x+y >0
Vampir dünyasında gerektirme [1,1]’de vekili 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. Vekilin 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
Vampir Dünyasının Modelleri 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 KB = vampir dünyasının kuralları + gözlemler α1 = "[1,2] güvenlidir“ sonucunu vekilin 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.
Mantıksal Çıkarsama (Inference) Gerektirme, 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 genel 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 modeller tarandı. 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
Ö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 (anlamını vermek- implication) (~S1 v S2) eğer S1 ve S2 cümle ise, S1 S2 cümledir (iki taraflı koşul sağlanması-biconditional) Basit (atomik) cümle- tek bir önermeden oluşur. Basit cümleler arasında mantık bağlayıcıları kullanmakla karmaşık cümleler oluşturulur P1,2 (P2,2 P3,1) = doğru (doğru yanlış) = doğru doğru = doğru
gerçeklik tablosu 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 mantıksal çıkarsama 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
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 eşitlik 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 “ise” elemesi Biconditional elimination –iki yönlü koşul elemesi Distributivity-dağılma
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
Çözünürlük (Resolution) Bağlayıcılı normal biçim (Conjunctive Normal Form (CNF) cümlelerin ayırmalarının birleşmesi (conjunction of disjunctions of literals clauses) (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, çünki (P2,2 ve P2,2 zıttır)
Bağlaçlı normal biçime (CNF) dönüştürme için tavsiyeler 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 teoremi Eğer üç p,q ve r önerileri verilmişse p v r, q v ~r => p v q Çözünürlük algoritması Giriş: aksiyomlar denen öneriler ve amaç Çıkış: aksiyomlardan amaç alına biliyor mu? Başla: 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” ~a v b gibi ifade edilmeli)
Çözünürlük algoritması (devamı) b)Alınmış cümleleri aşağıdaki biçimde ifade etmeli (öneriler “değil” biçiminde de ola bilir) 3. Aşağıdaki adımları 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). Baba cümleyi S’den çıkarmalı O zamana dek ki, null cümle alınacak veya ilerleme mümkün olmayacak
Çö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
Resolution example KB = (B1,1 (P1,2 P2,1)) B1,1 α = P1,2 KB ifadesi önce sadeleştirir( “ise” yerine mantık bağlayıcıları kullanılır. Sonra ise De Morgan kuralı uygulanır.
Resolution algorithm Proof by contradiction, i.e., show KBα unsatisfiable
Horn cümlesi (Horn clause) Gerçek uygulamalarda bilgi tabanlarının cümleleri genellikle Horn cümlesi biçiminde ifade ediliyor. Horn cümlesi en fazla biri artı olan simgelerin (önerilerin) ayrıçlı biçimidir. Örnek: (~L11 v ~ Rüzgar v B11) (burada L11-vekilin bulunduğu yerdir) (~B11 vP12 V P21) Horn cümlesi değildir Her bir Horn cümlesi implikasyıonla ifade edile bilir; sol taraf eksi önerilerin bağlacı, sağ taraf ise tek artı öneridir Örnek: (~L11 v ~ Rüzgar v B11) böyle yazıla bilir (L11 ^ Rüzgar)=>B11
Horn cümlesi-Mantıksal çıkarım Bir artı simgesi bulunan Horn cümlesi belirlenmiş (defined) cümledir Artı simgeye cümlenin başı (head) denir. Eksi simgeler metni (body) oluşturuyor Eksisi olmayan cümle olgudur (fact) Artısı olmayan Horn cümlesi, sonucu yanlış değer veren implikasyon şeklinde yazıla bilir Örnek: (~W11 v ~W12) aşağıdaki ifadeye eşittir: W11 ^ W12 =>yanlış Belirlenmiş Horn cümleleri Mantıksal Programlamanın temelini oluşturuyor İleri ve Geri zincirleme çıkarsama algoritmaları Horn cümleleri ile çalışıyor
İleri zincirleme Temel düşünce: bilgi tabanında her hangi kuralın tetiklenmesi (etkinleştirilmesi), Bunun sonucunun bilgi tabanına eklenmesi Sorgu gerçekleşene dek bu işlemlerin devam ettirilmesi
Forward chaining algorithm Forward chaining is sound and complete for Horn KB
İleri zincirleme örneği İleri zincirleme bilgi tabanındaki olgulardan (artı simgeler) başlar. Amaç sonuç önerinin (Q) Horn cümlelerinden oluşan bilgi tabanından çıkarılıp-çıkarılamayacağını belirlemektir. Eğer implikasyonda sol taraftaki tüm basit öneriler belli ise onun sağ tarafı bilgi tabanına olgu olarak ekleniyor Örneğin, L11 ve Rüzgar belli ise ve (L11 ^ Rüzgar)=>B11 bigi tabanında var ise B11 bilgi tabanına eklenecek Bu süreç Q ilave edilene dek veya yeni çıkarımlın oluşturulması mümkün olmayana dek devam ettiriliyor
İleri zincirleme Sayılar her bir kuralda sol tarafta kaç değişkenin tetiklenmeli olduğunu gösteriyor.
İleri zincirleme örneği +
İleri zincirleme örneği + ++
İleri zincirleme örneği + ++
İleri zincirleme örneği ++ +
İleri zincirleme örneği ++
Proof of completeness FC derives every atomic sentence that is entailed by KB FC reaches a fixed point where no new atomic sentences are derived Consider the final state as a model m, assigning true/false to symbols Every clause in the original KB is true in m a1 … ak b Hence m is a model of KB If KB╞ q, q is true in every model of KB, including m
Geri zincirleme Temel düşünce: q sorgusundan başlayarak geriye –belli olgulara dek hareket etmek: Bilgi tabanında Q’yü çıkaran implikasyonlar bulunuyor.Bu implikasyonların sol taraflarının doğruluğu kanıtlanırsa o halde Q doğrudur. Döngülerden kaçınmalı: yeni altamacın artık amaç yığınında olup olmadığını kontrol etmeli Tekrarlamaları önlemeli: yeni altamacın doğruluğunun artık kanıtlanıp kanıtlanmadığını, veya başarısızlığının kanıtlanıp-kanıtlanmadığını yoklamalı
Geri Zincirleme örneği
Geri Zincirleme örneği
Geri Zincirleme örneği
Geri Zincirleme örneği
Geri Zincirleme örneği
Geri Zincirleme örneği
Geri Zincirleme örneği
Geri Zincirleme örneği
Geri Zincirleme örneği
Geri Zincirleme örneği
Forward vs. backward chaining FC is data-driven, automatic, unconscious processing, e.g., object recognition, routine decisions May do lots of work that is irrelevant to the goal BC is goal-driven, appropriate for problem-solving, e.g., Where are my keys? How do I get into a PhD program? Complexity of BC can be much less than linear in size of KB
Inference-based agents in the wumpus world A wumpus-world agent using propositional logic: P1,1 W1,1 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) W1,1 W1,2 … W4,4 W1,1 W1,2 W1,1 W1,3 … 64 distinct proposition symbols, 155 sentences
Expressiveness limitation of propositional logic KB contains "physics" sentences for every single square For every time t and every location [x,y], Lx,y FacingRightt Forwardt Lx+1,y Rapid proliferation of clauses t t
Summary Logical agents apply inference to a knowledge base to derive new information and make decisions Basic concepts of logic: syntax: formal structure of sentences semantics: truth of sentences wrt models entailment: necessary truth of one sentence given another inference: deriving sentences from other sentences soundness: derivations produce only entailed sentences completeness: derivations can produce all entailed sentences Wumpus world requires the ability to represent partial and negated information, reason by cases, etc. Resolution is complete for propositional logic Forward, backward chaining are linear-time, complete for Horn clauses Propositional logic lacks expressive power
Ö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ınavda A almak 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
Yararlı siteler http://people.hofstra.edu/Stefan_Waner/RealWorld/logic/logic1.html