570 likes | 951 Views
Temel Kavramlar. Sıfır tertip yüklemler mantığı Birinci tertip yüklemler mantığı –bilgi ifadeetme biçimi Niceleyiciler Mantıksal Çıkarım Kuralları Çözülüm yöntemi. Temel kavramlar. 0-tertip yüklem veya önerme hesabı (propositional calculus) veya önermeler mantığı
E N D
Temel Kavramlar • Sıfır tertip yüklemler mantığı • Birinci tertip yüklemler mantığı –bilgi ifadeetme biçimi • Niceleyiciler • Mantıksal Çıkarım Kuralları • Çözülüm yöntemi
Temel kavramlar • 0-tertip yüklem veya önerme hesabı (propositional calculus) veya önermeler mantığı • Her cümle, önerme simgesi denen bir simge ile ifade edilir: • Ali iyi öğrencidir • Fatma çok iyi öğrencidir • Ahmet’in babası Mehmet’tir Bu cümleleri uygun olarak A,F,M ile ifade edebiliriz • A,F,M- önerme simgeleridir ve gerçek değerler (doğru veya yanlış) alıyorlar • 0- tertip yüklemin ifade gücü zayıftır.
Önermeler mantığının artı ve eksi yönleri Önermeler mantığı tanımlayıcıdır (declarative)Önermeler mantığı düzenseldir (compositional): B1,1 P1,2‘nin anlamı B1,1ve P1,2’ ‘nin anlamlarından alınıyor Önermeler mantığının anlamı bağlamdan bağımsızdır (context-independent)(doğal dilde anlam bağlama bağlıdır) Önermeler mantığının ifade gücü doğal dilden farklı olarak çok sınırlıdır Örneğin, bunu söylemek mümkün değil: “kuyular, komşu karelerde rüzgarlara neden oluyor“; bunun için her kare için bir cümle yazmak zorundayız
Birinci tertip mantık (First Order Logic-FOP) Önermeler mantığı dünyanın olgulardan oluştuğunu varsayıyor Birinci tertip mantık ise doğal dilde olduğu gibi dünyanın nesnelerden, ilişkilerden,işlevlerden oluştuğunu varsaymaktadır:Nesneler (isim ve isim birleşmeleri): insanlar, atlar, sayılar, renkler, oyunlar,savaşlar… İlişkiler (fiil ve fiil birleşmeleri): kırmızıdır, kardeşidir, … ‘dan büyüktür, … aralığındadır, … İşlevler (verilmiş nesne için tek bir “değer” veren ilişki) : en iyisi, üçüncüsü, babası…
Birinci Tertip mantık -Örnek Nesneler: kişi,taç, kişi kral, sol bacaklar İlişkiler: Kardeşidir Başındadır işlevler : Sol bacağıdır
Birinci Tertip Mantık-Temel unsurlar • Sabitler (nesnelere uygun)(Constants): KralJohn,2,… • Yüklemler (ilişkilere uygun)(Predicates)Kardeş • İşlevler (işlevlere uygun) Sqrt, SolBacağıdır,... • Değişkenler x, y, a, b,... • Bağlayıcılar, , , , • Eşitlik = • Niceleyiciler (Quantifiers),
Yüklemler (predicate) • Terim-nesneyi ifade eden mantıksal ifadedir; sabit-basit terimdir, işlev-karmaşık terimdir • N dereceli yüklem, yüklem adından ve n argümandan (terim) oluşmaktadır. • “Ali iyi öğrencidir“ “iyi-öğrenci (ali), “öğrencidir (ali, iyi)”, öğrenci(ali, iyi)“ olarak, “Fatma çok iyi öğrencidir”ise “öğrenci(fatma, çok iyi)" gibi ifade edile bilir • Genel olarak “öğrenci(X, Y)“ gibi yazmak mümkündür • “Ahmet‘in babası Mehmet’tir" • babasıdır(ahmet, mehmet)" veya sadece “baba(ahmet, mehmet)" gibi ifade edile biler. • “Ahmet‘in babası ve Ali’nin babası arkadaştırlar" • arkadaş(baba(ahmet), baba(ali)).
Değişken, terim,cümle Değişken-değeri değişe bilen simge; küçük harflerle yazılıyor Terim = işlev(terim1,...,terimn) veyasabit veya değişken Bölünmez cümle = yüklem(terim1,...,terimn) veyaterim1 = terim2 Karmaşık cümle- bölünmez cümlelerden oluşuyor (bağlayıcılar, niceleyiciler ve değişkenler kullanmakla) • Örnek:Kardeşidir(John,Richard) ^ Kardeşidir(Richard,John)~Kardeşidir(Solbacağı(Richard),John) • ~Kral (Richard) => Kral (John)
Niceleyiciler • Değişkenlerin kullanımı ifadenin gücünü arttırıyor. • Değişkenler niceleyicilerle birlikte kullanıla biliyor. Niceleyici değişkenin ifadedeki rolünü gösteriyor. • Yüklemler mantığında iki tür niceleyici kullanılmaktadır: • Genel (universal) ∀ (“tümü için") • Mevcutluk (existential) ∃ (“öyle biri mevcuttur"). • Birinci tertip yüklemler hesabı veya yüklemler mantığı (First order predicate calculus veya first order predicate logic-FOPL) niceleyicili değişkenlerin kullanımına izin veriyor. Ama FOPL’da yüklemler veya fonksiyonlar kullanılamaz.
Niceleyiciler için kurallar • ¬∃X p(X) = ∀X ¬p(X) veya ∃X p(X) = ¬ ∀X ¬p(X) • ¬∀X p(X) = ∃X ¬p(X) veya ∀X p(X) = ¬∃X ¬p(X) • ∃X p(X) = ∃Y p(Y) • ∀X q(X) = ∀Y q(Y) • x y veyx aynıdır • x y veyx aynıdır • x yveyx aynı değil
Niceleyiciler-örnekler x ySeviyor(x,y) -“Öyle bir insan var ki, o dünyada herkesi seviyor” xySeviyor(x,y)-Her kişinin sevdiği bir insan var yxSeviyor(x,y)- öyle bir insan var ki, o herkes tarafından seviliyor (dikkat edin: bu cümlede y, x’den önce kullanılmıştır) • Bir niceleyici diğer tür niceleyici ile ifade edile bilir xBayılıyor(x,Dondurma)x Bayılıyor(x,Dondurma) x Bayılıyor(x,Brokoli) xBayılıyor(x,Brokoli)
Niceleyiciler –örnek (devamı) • F(x, y)- “x, y’den daha hızlıdır” anlamını veriyor. X ve Y, uçaklar kümesine aittir. • xyF(x, y): “her bir x uçağı için aşağıdaki doğrudur: x, her hangi y uçağından daha hızlıdır". Daha basit dilde, “her bir uçak her bir uçaktan (kendisi de dahil olmakla!) hızlıdır". • xyF(x, y): “her bir x uçağı için aşağıdaki doğrudur:bazı y ve bazı x uçakları için x y’den daha hızlıdır". Daha basit dilde: “Her bir uçak bazı uçaklardan hızlıdır". • xy F(x, y): “öyle bir x uçağı var ki, her bir y uçağı için, x y’den hızlıdır”. Daha basit dilde: “bazı uçaklar her bir uçaktan daha hızlıdır". • xyF(x, y): “bazı x uçağı için öyle bir y uçağı var ki, x y’den hızlıdır“. Daha basit dilde: “bazı uçaklar bazı uçaklardan hızlıdırlar”
Karmaşık cümlelere örnekler Kardeş(KralJohn,Richard) Kardeş(Richard,KralJohn) • p,c Ebeveyn(p,c)=>Evlat(c,p) • g,c Dede(g,c) p Ebeveyn(g,p) Ebeveyn(p,c) • s Rüzgar(s) => r Komşu(r,s) Kuyu (r) • “Haftanın her Pazartesi ve Çarşamba günleri ben Ahmetlerin evine öğlen yemeğine gidiyorum” X ((haftanın_günü(X,pazartesi) v haftanın_günü(X,çarşamba))=>(gitmek(ben,ev_ahmet) • yemek(ben,öğlen_yemeği)))) Birisinin annesi o kişinin kadın ebeveynidir m,c Anne(c) = m (Kadın(m) Ebeveyn(m,c)
Çıkarım kuralları • Yüklemler mantığı ifadelerinden oluşan S’ kümesini tatmin eden her bir atanmış yorum veya değişken, X’i de tatmin ediyorsa , X, S’ten mantıksal çıkarıla bilir • Modus ponens: { (P→Q) ∧ P } ⇒ Q • “Eğer P formülü ile P’den Q elde edilir” önermesi doğru ise,Q de doğrudur. • p→q vep,ise q çıkarıla bilir. • Yüklemler için de doğrudur: • eğer ∀X p(X) →q(X) ve p(a) iseq(a) çıkarıla bilir. • Modus tollens: {(P→Q) ∧ ¬Q} ⇒ ¬P • “Eğer programım doğru ise o çalışmalıdır ve programım çalışmıyor”, anlaşılıyor ki, programım doğru değil” • Zincir (Chain) kuralı (transitivity, veya syllogism kuralı): • (P → Q)∧ (Q→ R) ⇒ P → R
Yerine Geçme • Yerine Geçme iki yüklem mantığı ifadesini eşleştirme işlemidir • p(X,a,b)yerinep(c, Y, Z) veyap(Z,W,X) kullanmak mümkündür • Baba (X,Y) • baba(ali,fatma). • baba(mehmet,akif). • baba(akif,selim).
Yerine Geçme • Tanıyor(ali,x)ileTanıyor(y,z) cümlelerini eşleştirmek için aşağıdaki yerine kullanmalar mümkündür: θ = {y/ali, x/z }veyaθ= {y/ali, x/ali, z/ali} (y yerine ali,x yerine z kullanılacak) Θ –birleştiricidir (unifier ). Birleştirici, iki yüklemi aynı yapan yerine geçmeler kümesidir. • baba (X,Y) ve baba(U, V) yüklemleri için {X /ali, Y/fatma, U/ali, V/fatma} birleştiricidir, çünkü biz iki yüklemi, X ve U’yu “ali” sabiti ile, Y ve V’yi “fatma“ sabiti ile değişmekle aynı yapa biliriz. • {X/U, Y/V} (veya {U/X, V/Y}) en genel birleştiricidir (most general unifier unifier (MGU)) ,çünkü bu iki yüklem için tüm mümkün birleştiriciler en genel birleştiricinin özel halleridir.
Yerine Geçme p q θ Tanıyor(Ali,x) Tanıyor(Ali,Ahmet) {x/Ahmet}} Tanıyor(Ali,x) Tanıyor(y,Fatma) {x/Fatma,y/Ali}} Tanıyor(Ali,x) Tanıyor(y,Baba(y)){y/Ali,x/Baba(Ali)}} Tanıyor(Ali,x) Tanıyor(x,Fatma) {mümkünsüz}
Bilgi Tabanının içeriği böyledir: x kral(x) açgözlü(x) kötü(x) kral(John) kral(Richard) açgözlü(John) Açgözlü(Richard) kardeş(Richard,John) Kral (baba(John)) Açgözlü(baba(John))
Genel niceleyicili “yerine koyma” işlemi • Kral(x) veAçgözlü(x) yüklemleriniKral(John)veAçgözlü(y) yüklemleri ile eşleştiren θ yerine koyma işlemini kullanmış olursa bu mantıksal sonuçları alarız • Örnek:x Kral(x) Açgözlü(x) Kötü(x) aşağıdaki cümlelerle uyumludur: Kral(John) Açgözlü(John) Kötü(John) Kral(Richard) Açgözlü(Richard) Kötü(Richard) Kral(Baba(John)) Açgözlü(Baba(John)) Kötü(Baba(John)) .
varlık niceleyicili “yerine geçme” işlemi • Her bir α cümlesi, v değişkeni, vek sabiti (bilgi tabanının başka bir yerinde rastlanmayan) için: vα yerine Subst({v/K}, α) yazmak mümkündür (Subst()-yerine geçme işlemidir) (α cümlesini doğru yapan öyle bir v var ki, onu K sabiti ile değişmek mümkündür) • Örnek:x Taç(x) Başında(x,john)cümlesi Taç(C1) Başında(C1,john) gibi yazılabiler C1-Skolem constantdenen yeni sabittir
Yüklemler mantığı ve çözülüm(resolution) • Çözülüm yöntemi tersini kanıtlamaya dayanmaktadır. • Tersini kanıtlama- bilgi tabanını ve ters amacı kullanmakla null yantümcesini almaktır (zıtlık) • Tersini kanıtlamada kullanılan bilgi tabanı yantümce biçimindedir (clause form). Tersini kanıtlamada zıtlık alınırsa, esil hedef doğrudur. Yantümceler ayrımların bağlacı gibi ifade ediliyor (CNF biçim): • (a ∧ b) ∨ c yantümce değil. (a ∨ c) ∧ (b ∨ c) gibi yazılmalı idi
Tersini kanıtlama örneği • Verilen:Bir insan canlıdır • Tüm canlılar ölecek. • Socrates insandır. • Amaç: Socrates’in öleceğinin kanıtlanması
Tersini kanıtlama örneği (devamı) • Yüklem biçimi Yantümce biçimi • 1. ∀ X (kişi(X) → canlı(X) ) 1.¬kişi(X) ∨ canlı(X) • 2. kişi(socrates) 2. kişi(socrates) • 3. ∀Y (canlı(Y) →ölmek(Y)) 3. ¬canlı(Y) ∨ ölmek(Y) Ters amaç:Ters amaç: • ¬ölmek(socrates) ¬ölmek(socrates)
Bilgi Tabanı • Yüklemler mantığı bilginin ifadesi için esneklik sağlar • Bilgi birimi kural veya olgu olabilir Genel not ortalaması iyi olan mezun, iyi iş bulabilir ∀X iyiGNO(X) iyi_iş(X) kuraldır Ali’nin not ortalaması iyidir iyiGNO(ali) olgudur. • Olgularda ”eğer… o zaman” işlemi ve değişken kullanılamaz. • Bilgi tabanı olgular ve kurallardan oluşmaktadır. Buna bazen veri tabanı da denir
Bilgi Tabanına örnek Yasada deniliyor ki, saldırgan ülkeye silah satmak Amerikalı için suç sayılmaktadır. Nono ülkesi, Amerika’nın düşmanıdır ve füze silahı vardır ve bu füzelerin tümünü Amerikalı Colonel West’ten satın almıştır. Kanıtlamalı: Colonel West suçludur
Bilgi Tabanına örnek (devamı) ... Bir Amerikalının saldırgan devlete silah satması suç sayılıyor: Amerikalı(x) Silah(y) Satmak(x,y,z) Saldırgan(z) Suçlu(x) Nono’da bazı füzeler vardır: x Sahip_olmak(Nono,x) Füze(x): Sahip_olmak(Nono,M1) ve Füze(M1) … tüm bu füzeleri Colonel West satmıştır Füze(x) Sahip_olmak(Nono,x) Satmak(West,x,Nono) Füzeler silahtır: Füze(x) Silah(x) Amerikanın düşmanı saldırgandır Düşman(x,Amerika) Saldırgan(x) West Amerikalıdır: Amerikalı(West) Nono ülkesi Amerika’nın düşmanıdır Düşman(Nono,Amerika) Kanıtlamalı: West suçludur Amerikalı(West) Füze(M1), Sahip_olmak(M1) Düşman(Nono,Amerika)
İleri zincirleme yolu ile kanıtlama-Forward chaining proof • ... Bir Amerikalının saldırgan devlete silah satması suç sayılıyor: • Amerikalı(x) Silah(y) Satmak(x,y,z) Saldırgan(z) Suçlu(x) • Nono’da bazı füzeler vardır: • x Sahip_olmak(Nono,x) Füze(x): • Sahip_olmak(Nono,M1) veFüze(M1) • … tüm bu füzeleri Colonel West satmıştır • Füze(x) Sahip_olmak(Nono,x) Satmak(West,x,Nono) • Füzeler silahtır: • Füze(x) Silah(x) • Amerika’nın düşmanı saldırgandır • Düşman(x,America) Saldırgan(x) • West Amerikalıdır: • Amerikalı(West) • Nono ülkesi Amerika’nın düşmanıdır • Düşman(Nono,Amerika) • Kanıtlamalı: West suçludur Amerikalı(West) Füze(M1), Sahip_olmak(M1) Düşman(Nono,Amerika)
İleri zincirleme yolu ile kanıtlama-Forward chaining proof • ... Bir Amerikalının saldırgan devlete silah satması suç sayılıyor: • Amerikalı(x) Silah(y) Satmak(x,y,z) Saldırgan(z) Suçlu(x) • Nono’da bazı füzeler vardır: • x Sahip_olmak(Nono,x) Füze(x): • Sahip_olmak(Nono,M1) veFüze(M1) • … tüm bu füzeleri Colonel West satmıştır • Füze(x) Sahip_olmak(Nono,x) Satmak(West,x,Nono) • Füzeler silahtır: • Füze(x) Silah(x) • Amerikanın düşmanı saldırgandır • Düşman(x,Amerika) saldırgan(x) • West Amerikalıdır: • Amerikalı(West) • Nono ülkesi Amerika’nın düşmanıdır … • Düşman(Nono,Amerika) • Kanıtlamalı: West suçludur
İleri zincirleme yolu ile kanıtlama-Forward chaining proof • ... Bir Amerikalının saldırgan devlete silah satması suç sayılıyor: • Amerikalı(x) Silah(y) Satmak(x,y,z) Saldırgan(z) Suçlu(x) • Nono’da bazı füzeler vardır: • x Sahip_olmak(Nono,x) Füze(x): • Sahip_olmak(Nono,M1) veFüze(M1) • … tüm bu füzeler Colonel West’e satılıp • Füze(x) Sahip_olmak(Nono,x) Satmak(West,x,Nono) • Füzeler silahtır: • Füze(x) Silah(x) • Amerikanın düşmanı saldırgandır • Düşman(x,Amerika) Saldırgan(x) • West Amerikalıdır: • Amerikalı(West) • Nono ülkesi Amerika’nın düşmanıdır … • Düşman(Nono,Amerika)Kanıtlandı: West suçludur
Geriye zincirleme-Backward chaining algorithm SUBST(COMPOSE(θ1, θ2), p) = SUBST(θ2, SUBST(θ1, p))
Geriye zincirleme örneği Suçlu(West)
Geriye zincirleme örneği Suçlu(West) Amerikalı(X) Silah(Y) Satmak(X,Y,Z) Saldırgan(Z)
Geriye zincirlemenin özellikleri • Derinine arama ile kanıtlama • Sonsuz döngülerde tam değil • Tekrarlanan altamaçlar yüzünden verimsizdir • Mantıksal programlamada yaygın kullanılmaktadır
CNF biçimine dönüştürme örneği • Hayvanları seven herkes birileri tarafından seviliyor: x [y Animal(y) Loves(x,y)] [y Loves(y,x)] • 1. Eliminate biconditionals and implications x [y Animal(y) Loves(x,y)] [yLoves(y,x)] • 2. Move inwards: x p ≡x p, x p ≡x p x [y (Animal(y) Loves(x,y))] [y Loves(y,x)] x [y Animal(y) Loves(x,y)] [y Loves(y,x)] x [y Animal(y) Loves(x,y)] [y Loves(y,x)]
CNF biçimine dönüştürme örneği (devamı) • Her niceleyici farklı değişken için kullanılmalıdır x [y Animal(y) Loves(x,y)] [z Loves(z,x)] • Skolemleştirme:her varlık değişkenin yerine skolem fonksiyonu yazılyor: x [Animal(F(x)) Loves(x,F(x))] Loves(G(x),x) • Genel niceleyicileri atılıyor: [Animal(F(x)) Loves(x,F(x))] Loves(G(x),x) • üzere paylaştırma yapılıyor: : [Animal(F(x)) Loves(G(x),x)] [Loves(x,F(x)) Loves(G(x),x)]
Çözülümle kanıtlama-Resolution proof: yantümcelerin tanımlanması
Kısıtlamalı soruna çözüm örneği Diff(wa,nt) Diff(wa,sa) Diff(nt,q) Diff(nt,sa) Diff(q,nsw) Diff(q,sa) Diff(nsw,v) Diff(nsw,sa) Diff(v,sa) Colorable() Diff(Red,Blue) Diff (Red,Green) Diff(Green,Red) Diff(Green,Blue) Diff(Blue,Red) Diff(Blue,Green) • Eğer sorunun çözümü var ise Colorable()mantıksal olarak çıkarıla bilir
Bilginin ifade yolları • Yapay Zekada veriler değil, bilgiler önemlidir: • Olgular • Yordamlar • Anlam • Bilginin ifadesinin Dört Yolu: • Mantıksal ifade • Anlamsal Ağlar • Üretim Kuralları • Çerçeveler
Anlamsal ağlar-Semantic Networks • Sebep –netice, anlamsal, işlevsel bağlantılar
Grafik ifade • Graflar kolay anlaşılan ve kaydedilendir • Graf bilgilerinin etkili kullanıla bilinmesi için graflar doğru biçimlendirilmelidir (formalism) • Jason’un15, Bryan’ın 40, Arthur’un 70, Jim’in 74 yaşı var • Julia kaç yaşındadır?