Pengantar Intelijensia Buatan

Slides:



Advertisements
Presentasi serupa
TEKNIK PENCARIAN (SEARCHING)
Advertisements

PIB Pertemuan 12 Resolution & Refutation (review) Short Quiz
Artificial Intelligent
KALKULUS PREDIKAT PENDAHULUAN DEFINISI SIMBOL DEFINISI TERM
Pengantar Intelijensia buatan
1 Algoritma Bahasa Pemrograman dan Bab 1.1. Pengertian Algoritma.
INFERENSI.
Inferensi pada Kalkulus Predikat Orde 1
Sistem Pakar.
Introduction to Logic Propositional Logic
MESIN INFERENSI.
Knowledge Representation and Deduction First Order Logic (Lanj.)
Knowledge Representation and Deduction Agents That Reason Logically
2. Introduction to Algorithm and Programming
Representasi Pengetahuan
1 Analisis dan Perancangan Perangkat Lunak PEMODELAN DATA.
Arsitektur Sistem Pakar
METODE INFERENSI Dr. Kusrini, M.Kom.
Artificial Intelligence
Pengenalan Prolog Teny Handhayani Referensi:
Course MMS 2901 Departement of Computer Science Gadjah Mada University © Aina Musdholifah & Sri Mulyana.
Game Theory Purdianta, ST., MT..
Logika Matematika Bab 3: Kalkulus Predikat
K-Map Using different rules and properties in Boolean algebra can simplify Boolean equations May involve many of rules / properties during simplification.
Teorema Green.
Perancangan Database Pertemuan 07 s.d 08
Presented By : Group 2. A solution of an equation in two variables of the form. Ax + By = C and Ax + By + C = 0 A and B are not both zero, is an ordered.
PENGETAHUAN BERDASARKAN RULES PERTEMUAN MINGGU KE-6.
1 Diselesaikan Oleh KOMPUTER Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. ALGORITMA.
Menulis Kolom  Kolom adalah opini atau artikel. Tidak seperti editorial, kolom memiliki byline.  Kolom Biasanya ditulis reguler. Biasanya mingguan atau.
Basic Konstruksi,Artikulasi & kesimbangan 01 Pertemuan 03 Matakuliah : UO646 / DKV III Tahun : 2009.
1 Pertemuan 6 Using Predicate logic Matakuliah: T0264/Inteligensia Semu Tahun: Juli 2006 Versi: 2/1.
Dr. Nur Aini Masruroh Deterministic mathematical modeling.
Sistem Pakar Pertemuan II “Inteligensia Semu” (Lanjutan)
1 HAMPIRAN NUMERIK SOLUSI PERSAMAAN LANJAR Pertemuan 5 Matakuliah: K0342 / Metode Numerik I Tahun: 2006 TIK:Mahasiswa dapat meghitung nilai hampiran numerik.
9.3 Geometric Sequences and Series. Objective To find specified terms and the common ratio in a geometric sequence. To find the partial sum of a geometric.
Binary Search Tree. Sebuah node di Binary Search Tree memiliki path yang unik dari root menurut aturan ordering – Sebuah Node, mempunyai subtree kiri.
REPRESENTASI PENGETAHUAN
Kecerdasan buatan Nelly Indriani Widiastuti S.Si.,M.T.
Penyelesaian Masalah menggunakan Teknik Pencarian Blind Search
INFERENCE Artificial Intelligence
Representasi Pengetahuan
Induksi Matematika.
Reasoning dengan Logika
Inferensi pada FOL (First Order Logic)
INFERENSI.
Pendekatan Inferensi dalam Sistem Pakar
EXPERT SYSTEM By Daniel Damaris NS.
Wumpus World Propositional Logic.
Pendekatan Inferensi dalam Sistem Pakar
Teori Dasar Sistem.
BASIS PENGETAHUAN DAN METODE INFERENSI
SISTEM BERBASIS PENGETAHUAN
Model Heuristik Dr. Sri Kusumadewi, S.Si., MT. Materi Kuliah [8]:
KNOWLEDGE REPRESENTATION
Artificial Intelegence/ P_7-8
Algorithms and Programming Searching
The Logical Basis For Computer Programming
Reasoning : Propositional Logic
Reasoning and Planning
Pertemuan 9 PENGANTAR SISTEM PAKAR
ARTIFICIAL INTELEGENCE
MATERI PERKULIAHAN KECERDASAN BUATAN
Implementasi Logika Proposisi
Pertemuan 10 REASONING (PENALARAN)
Simultaneous Linear Equations
CSG3G3 Kercerdasan Mesin dan Artifisial Reasoning 1
GUNAWAN Materi Kuliah [8]: (Sistem Pendukung Keputusan)
THE INFORMATION ABOUT HEALTH INSURANCE IN AUSTRALIA.
Lesson 2-1 Conditional Statements 1 Lesson 2-1 Conditional Statements.
Transcript presentasi:

Pengantar Intelijensia Buatan Pertemuan XI FOL Reasoning & PROLOG

Previously on AI Pengenalan FOL Metode inferensi FOL Masalah dengan inferensi ??

Topic for Today Generalized Modus Ponens Forward & backward Chaining Resolution & Refutation Introduction to PROLOG

Generalized modus ponens Generalized modus ponens menggabungkan and introduction, universal elimination, dan modus ponens menjadi satu aksi. Untuk setiap atomic sentence p1’,p2’, dan q , dimana terdapat subtitution Ө sehingga SUBST(Ө,p1’)=SUBST(Ө,p1), untuk semua i :

Generalized modus ponens Contoh : P1’ is Missile(M1)  P1 is Missile(x) P2’ is Owns(y,M1)  P2 is Owns(nono,x) Ө is {x/M1,y/nono}  q is Sells(west,nono,x) Then SUBST(Ө,q) is Sells (west,nono,M1)

Generalized modus ponens Generalized modus ponens adalah metode inferensi yang efisien karena 3 alasan : GMP mereduksi 3 langkah inferensi yang kecil menjadi satu langkah yang besar. Daripada menggunakan universal elimination GMP mengambil langkah yang masuk akal dengan menggunakan subtitusi yang dijamin menguntungkan Agar lebih efisien GMP menggunakan langkah pre- compilation dengan menggubah semua kalimat di KB dalam bentuk canonical form agar mudah untuk diproses

Canonical form Dalam GMP semua kalimat dalam KB harus berupa atomic sentence atau sebuah implikasi dengan konjungsi di sebelah kiri dan sebuah kalimat atomic di sebelah kanan Bentuk seperti ini disebut juga horn sentences atau canonical form. Kita harus menggubah semua kalimat yang masuk ke dalam KB ke dalam bentuk canonical.

Unification Unification adalah bagian yang penting dalam GMP, unification mengambil dua kalimat dan mengembalikan sebuah subtitusi yang membuat dua kalimat itu sama apabila subtitusi seperti itu memungkinkan. Example : UNIFY(Knows(John, x), Knows(John, Jane) = {x/Jane}

Unification Algorithm

Sample proof revisited

Constructing a reasoning program Ada dua cara untuk menggunakan generalized modus ponens untuk membentuk reasoning program: Forward Chaining Backward Chaining

Forward Chaining. Forward Chaining dilakukan ketika sebuah fakta baru (anggap saja p1) dimasukan ke dalam KB Idenya adalah mencari semua implikasi yang mungkin terjadi dengan p1 sebagai premis, ketika suatu implikasi sudah ditemukan, implikasi itu mentrigger kembali forward chaining, sampai akhirnya semua fakta yang bisa ditemukan dikeluarkan

Forward chaining Contoh Kita mulai dengan KB yang mengandung implikasi dalam bentuk horn clause. Cari kemudian fakta yang dapat diunifikasikan ke dalamnya.

Forward chaining Forward chaining secara bertahap membentuk gambaran baru akan dunia bersamaan dengan penerimaan data, forward chaining tidak diarahkan untuk menyelesaikan suatu permasalahan tertentu, karenanya metoda ini disebut juga data-driven atau data-directed procedure. Forward chaining dapat menghasilkan banyak kesimpulan yang pada akhirnya tidak digunakan (sia-sia)

Forward chaining FOL-FC-ASK(KB, American(West)) Criminal(West) Weapon(M1) Sells(West,Nono,M1) Hostile(Nono) American(West) Missile(M1) Owns(Nono,M1) Enemy(Nono, America) FOL-FC-ASK(KB, American(West)) FOL-FC-ASK(KB, Country(Nono)) FOL-FC-ASK(KB, Enemy(Nono, America)) FOL-FC-ASK(KB, Hostile(Nono)) FOL-FC-ASK(KB, Owns(Nono,M1)) FOL-FC-ASK(KB, Missile(M1)) FOL-FC-ASK(KB, Sells(West,Nono,M1)) FOL-FC-ASK(KB, Weapon(M1)) FOL-FC-ASK(KB, Criminal(West)) Country(Nono)

Forward Chaining

Backward Chaining Backward chaining di desain untuk menemukan semua jawaban atas pertanyaan yang diajukan kepada knowledge base. Cara kerjanya adalah dengan memeriksa apakah jawaban dapat dihasilkan secara langsung dari knowledge base, lalu ia mencari semua implikasi yang kesimpulannya adalah jawaban dari pertanyaan dan kemudian berusaha untuk memenuhi semua premis yang membentuk implikasi tersebut

Backward Chaining Criminal(x) American(x) Weapon(y) Country(z) Hostile(z) Sells(x,z,y) Yes{x/West} Yes{z/nono} Missile(y) Enemy(z,America) Yes{y/M1t} Yes{z/Nono} Owns(Nono,M1) Missile(M1) Yes{} Yes{}

Backward Chaining

Backward Chaining Criminal(x) American(x) Weapon(y) Country(z) Hostile(America) Sells(x,z,y) Yes {x/West} Yes {z/America} failed Missile(y) Yes {y/M1t}

Resolution Generalized modus ponens tidak complete, masih ada beberapa kalimat benar yang tidak bisa diinferensi oleh prosedur ini. Untuk mengatasi masalah ini kita menggunakan metode resolusi, prosedure inferensi yang lebih complete.

Inference resolution rule ?

Resolution inference Untuk mencari solusi menggunakan resolusi kita harus mengubah KB menjadi bentuk Conjunctive Normal Form (CNF) atau Implicative Normal Form (INF).

Generalized resolution (disjunction)

Generalized resolution (implication)

Example of resolution Anggaplah kita memiliki KB berikut : Kita ingin membuktikan S(A) adalah true

Example of resolution Apply: -elemination Apply:  elem, resolution Apply: Resolution

Refutation Chaining dengan resolusi lebih baik dari GMP namun tetap tidak complete Cobalah menyelesaikan masalah ini dengan resolution dalam sebuah KB kosong : Prosedur inferensi yang totally complete adalah refutation

Refutation Refutation adalah pembuktian berdasarkan kontradiksi atau reductio ad absurdum Idenya adalah untuk membuktikan P itu benar, maka kita asumsikan bahwa P itu salah (tambahkan ~P ke KB) dan buktikan bahwa suatu kontradiksi terjadi (true => false, false => true). Jika suatu kontradiksi terjadi maka P dikatakan terbukti benar

Refutation example Rules Facts

Conversion to Normal Form

Conversion to Normal Form

Example proof of refutation Jack owns a dog Every dog owner is an animal lover No animal lover kills animal Either jack or curiosity killed the cat, who is named tuna Did “curiosity” kill the cat ? / Who kills the cat ?

FOL

Implicative Normal Form

Refutation ? Dog (y)  Owns(x,y) AnimalLover(x) Dog (D) Dog (y)  Owns(x,y) AnimalLover(x) Owns(x,D) AnimalLover(x) Owns(Jack,D) AnimalLover(Jack)

Refutation

Refutation

Refutation

Another resolution example

Introduction to prolog PROLOG = “Programmation en logique” (Marseille, 1972) Declarative programming language with procedural elements Used for problems of AI / knowledge-based (expert) systems Motivation: reconcile use of logic as declarative knowledge representation with procedural representation of knowledge Strengths: Logical descriptions of problems, instead of HOW to solve them  let computer work out the solution Well-suited for problems involving search Simple programs can be understood by reading the code Limitations Flow of control / procedural semantics

Facts Prolog-program = collection of clauses Facts Rules Goals (queries), shaped liked facts Facts describe properties of objects and relations between objects; comparable to tables in a relational database student Name interest Name Subject Hans Hans Math Tina Tina Datalogi Lars Lars Physics Frida Frida Math Prolog notation: student(hans). student(tina). student(lars). student(frida). Prolog notation: interest(hans,math). interest(tina,datalogi). interest(lars,physics). interest(frida,math). Prolog notation: <predicate_name>(arg1, arg2…).

Rules Simple IF-THEN statements “Every reasonable student is interested in math.” interest(X,math) :- student(X). head body All specified conditions in the body (all clauses) must be true to make the predicate in the head true. Conjunctions (AND connected): mother(X,Person) :- parent(X,Person),sex(X,female). Disjunctions (OR connected): interest(X,prolog) :- interest(X,artificial_intelligence). interest(X,prolog) :- interest(X,logic).

Goals Goals are queries One ore more subgoals ?- student(thomas). => no Pattern matching: a fact matches a goal if Same predicate Same corresponding arguments. Goals can contain variables: ?- student(X). => X = hans ; => X = tina ; => X = lars ; => X = frida ; => no. Variables are instantiated, but cannot be declared!

Prolog’s Inference mechanism Leftmost-depth-first search for solutions Matching: either two terms are identical, or they become identical by variable substitution (resolution based on pred.logic) Processing of subgoals from left to right Backtracking 1: s(a). 2: s(b). 3: q(a). 4: p(X) :- s(X). 5: p(Y) :- q(Y). ?- p(Z). p(Z) 4 5 s(Z) q(Z) 1 2 3 Z=a Z=b Z=a

Backward Chaining the Prolog interpreter uses backward chaining: starting from a goal (theorem) prove the goal by searching for rules whose ”head” (action part) matches the goal Given are the following rules: 1 X 2 H 3 4 OR 5 F&C B&E facts prove AND AND F C B E AND B A C B

Latihan Inferensi dan Refutasi FOL (1) Buktikan bahwa “Marcus membenci Caesar” Facts Marcus adalah seorang manusia Marcus orang Pompei Marcus mencoba membunuh Caesar Caesar adalah seorang penguasa Rules Semua orang Pompei adalah orang Romawi Semua orang Romawi setia pada Caesar atau membenci Caesar Setiap orang setia pada minimal 1 orang Orang hanya mencoba membunuh penguasa yang kepadanya mereka tidak setia

Latihan FOL (2) Gunakan FOL ini menjadi bentuk CNF Buktikan : Rich(Me) dengan refutation.