Kecerdasan Buatan (Artificial Intelligence)

ARTIFICIAL INTELIGENCE

Oleh : Sinar Sinurat 1

Kecerdasan Buatan (Artificial Intelligence)

“Cabang Ilmu Komputer yang berhubungan dengan otomasi “Cabang Ilmu Komputer yang berhubungan dengan otomasi perilaku yang cerdas” perilaku yang cerdas” (Luger & Stubblefield) (‘93) (Luger & Stubblefield) (‘93)

Artificial Inteligencia adalah suatu kemampuan rekayasa yang Artificial Inteligencia adalah suatu kemampuan rekayasa yang menjamin adanya aturan-aturan main secara sistematis. menjamin adanya aturan-aturan main secara sistematis.

Tujuan AI : Tujuan AI : Membuat komputer Lebih Pintar (smart) (lebih berdaya guna) Membuat komputer Lebih Pintar (smart) (lebih berdaya guna) Memahami Kecerdasan Memahami Kecerdasan Menerima knowledge yang aplikatif Menerima knowledge yang aplikatif

Sekarang Tujuan AI bagaimana membuat komputer seakan-akan dapat berpikir, melihat/ mendengar/ berjalan/ bermain dan bahkan merasakan (neural network) hingga proses genetika

Artificial Intelligence

Karakteristik : menggambarkan sains dan teknologi yang dinotasi dalam bahasa matematik.

Expert Systems

Sistem Inteligensi

Suatu sistem pakar yang berfokus pada penyediaan perangkat pakar, misalnya :

Semantic Web. It is an extension of the current Web, in which information is given a well-defined meaning, based in part on NLP, on XML presentation, and new technologies such as resource description framework (RDF).

Artificial neural networks (ANNs)

simulate massive parallel processes that involve processing elements interconnected in a network.

Fuzzy logic deals with uncertainties by simulating the process of human reasoning, allowing the computer to behave less precisely and logically

than conventional computers do. 6

Perbandingan Kecerdasan Buatan (AI) dengan Kecerdasan Manusia

• AI Lebih Bersifat Parmanen • AI Mudah Digandakan / Disebarluaskan • AI Dapat Lebih Murah • AI Bersifat Konsisten Dan Teliti • AI Dapat Didokumentasi

Domain Aplikasi AI AI

Pengetahuan Antar Muka

Robotika

Kognitif Alami

• Sistem Pakar

• Rangsangan

• Virtual Reality • Sistem Belajar

• Ketangkasan

• Pengenalan Per • Agen Cerdas

• Daya Pengerak

cakapan (voice • Jaringan Saraf

• Navigasi

Recognition)

Robot merupakan peranti elektronik yang dapat di- program untuk melakukan otomasi terhadap suatu tugas

SISTEM PAKAR Sistem Yang Meniru Kepakaran (Keahlian) Seseorang Dalam Bidang Tertentu

SISTEM PAKAR SISTEM PAKAR : APAKAH BUAH BERBENTUK BULAT ? : APAKAH BUAH BERBENTUK BULAT ? PEMAKAI PEMAKAI

: YA√ TIDAK : YA√ TIDAK

SISTEM PAKAR SISTEM PAKAR : APAKAH BUAH BERWARNA HIJAU KETI- : APAKAH BUAH BERWARNA HIJAU KETI- KA MUDA DAN KUNING KETIKA SUDAH KA MUDA DAN KUNING KETIKA SUDAH TUA ? TUA ?

PEMAKAI PEMAKAI

: YA TIDAK √ : YA TIDAK √

SISTEM PAKAR SISTEM PAKAR : APAKAH BUAH BERWARNA HIJAU : APAKAH BUAH BERWARNA HIJAU KETIKA MUDA DAN MERAH KETIKA KETIKA MUDA DAN MERAH KETIKA SUDAH TUA ? SUDAH TUA ?

PEMAKAI PEMAKAI

: YA √ TIDAK : YA √ TIDAK

SISTEM PAKAR SISTEM PAKAR

: APAKAH BERBATANG ? : APAKAH BERBATANG ?

PEMAKAI PEMAKAI

: YA √ TIDAK : YA √ TIDAK

SISTEM PAKAR SISTEM PAKAR

: APAKAH BERDAUN LEBAR ? : APAKAH BERDAUN LEBAR ?

PEMAKAI PEMAKAI

: YA √ TIDAK : YA √ TIDAK

SISTEM PAKAR SISTEM PAKAR : MENURUT PENGETAHUAN YANG : MENURUT PENGETAHUAN YANG SAYA MILIKI, APEL MEMENUHI SAYA MILIKI, APEL MEMENUHI KRITERIA YANG ANDA SEBUTKAN KRITERIA YANG ANDA SEBUTKAN

MODEL PEMECAHAN MASALAH TERSEBUT DAPAT

BERISI DARI FAKTA ;

JERUK JERUK

* BUAH BERBENTUK BULAT * BUAH BERBENTUK BULAT * WARNA HIJAU KETIKA MUDA DAN KUNING KETIKA TUA * WARNA HIJAU KETIKA MUDA DAN KUNING KETIKA TUA * BERBATANG * BERBATANG * BATANG BERDURI * BATANG BERDURI

APEL APEL

* BUAH BERBENTUK BULAT * BUAH BERBENTUK BULAT * WARNA HIJAU KETIKA MUDA DAN MERAH KETIKA TUA * WARNA HIJAU KETIKA MUDA DAN MERAH KETIKA TUA

* BERDAUN LEBAR * BERDAUN LEBAR

* BERBATANG * BERBATANG

JAMBU BIJI JAMBU BIJI

* BUAH BERBENTUK BULAT * BUAH BERBENTUK BULAT * WARNA HIJAU KETIKA MUDA DAN MERAH KETIKA TUA * WARNA HIJAU KETIKA MUDA DAN MERAH KETIKA TUA

* BERDAUN LEBAR * BERDAUN LEBAR

* BERBATANG * BERBATANG

JAMBU JAMBU

* BUAH BERBENTUK BULAT * BUAH BERBENTUK BULAT * WARNA HIJAU KETIKA MUDA DAN MERAH/KUNING * WARNA HIJAU KETIKA MUDA DAN MERAH/KUNING

KETIKA TUA KETIKA TUA * BERBATANG * BERBATANG

DASAR PEMIKIRAN

1. 1. Historis dan aplikasi dari Artificial Inteligencia ini lebih Historis dan aplikasi dari Artificial Inteligencia ini lebih menekankan pada letak : menekankan pada letak :

a. Intelligence (Watak) a. Intelligence (Watak) b. Knowledge (Pengetahuan) b. Knowledge (Pengetahuan) c. Human artifice (Kelicikan/kelihaian manusia) c. Human artifice (Kelicikan/kelihaian manusia)

Dasar Historis Dasar Historis

Secara umum dasar artificial inteligencia terdapat dalam : Secara umum dasar artificial inteligencia terdapat dalam :

a. Metafisik (penulisan fisik disertai dengan komposisi logic). a. Metafisik (penulisan fisik disertai dengan komposisi logic). b. Logic adalah instrumen (organ) dengan notasi True atau b. Logic adalah instrumen (organ) dengan notasi True atau

False False

c. Argumen logic merupakan silogisme yang menggunakan c. Argumen logic merupakan silogisme yang menggunakan deduksi modus ponens deduksi modus ponens

2. 2. Pengembangan dari logic Pengembangan dari logic 3. 3. Pengujian Turing, menggunakan suatu komputer dilengkapi Pengujian Turing, menggunakan suatu komputer dilengkapi

dengan formulasi tertentu yang direlasikan dengan dengan formulasi tertentu yang direlasikan dengan komputer lain yang dinyatakan sebagai interrogator untuk komputer lain yang dinyatakan sebagai interrogator untuk selanjutnya ditransfer ke media lain. selanjutnya ditransfer ke media lain.

Ciri-ciri penting dalam pengujian Turing sebagai berikut : Ciri-ciri penting dalam pengujian Turing sebagai berikut : • • Memberikan deskripsi objek inteligence, misalnya Memberikan deskripsi objek inteligence, misalnya

perilaku suatu inteligence menjadikan sesuatu perilaku suatu inteligence menjadikan sesuatu terhadap sejumlah pertanyaan terhadap sejumlah pertanyaan

• • Menghindari adanya kebingungan atau tidak adanya Menghindari adanya kebingungan atau tidak adanya

jawaban dari suatu pertanyaan jawaban dari suatu pertanyaan • • Mengurangi pembiasan kehidupan suatu organisme Mengurangi pembiasan kehidupan suatu organisme

pada mesin intelektual dengan mengupayakan suatu pada mesin intelektual dengan mengupayakan suatu interrogator dengan fokus isi jawaban dari suatu interrogator dengan fokus isi jawaban dari suatu pertanyaan pertanyaan

AREA APLIKASI ARTIFICIAL INTELLIGENCE

1. Bidang Pertanian, dibuat ES untuk memprediksi 1. Bidang Pertanian, dibuat ES untuk memprediksi kerusakan pada jagung yang disebabkan oleh ulat hitam kerusakan pada jagung yang disebabkan oleh ulat hitam dan memberikan konsultasi untuk mendiagnosa dan memberikan konsultasi untuk mendiagnosa kerusakan pada kacang kedelai dengan menggunakan kerusakan pada kacang kedelai dengan menggunakan pengetahuan tentang gejala kerusakan dan lingkungan pengetahuan tentang gejala kerusakan dan lingkungan tanaman. tanaman.

2. Bidang Kimia, dibuat ES untuk menganalisa struktur DNA 2. Bidang Kimia, dibuat ES untuk menganalisa struktur DNA

dari pembatasan segmentasi data enzim dengan dari pembatasan segmentasi data enzim dengan menggunakan paradigma generate & test. menggunakan paradigma generate & test.

3. Bidang Sistem Komputer, dibuat ES untuk membantu 3. Bidang Sistem Komputer, dibuat ES untuk membantu operator komputer untuk monitoring dan mengontrol MVS operator komputer untuk monitoring dan mengontrol MVS (multiple virtual storage) sistem operasi pada komputer (multiple virtual storage) sistem operasi pada komputer mainframe IBM. mainframe IBM.

4. Bidang Elektronik, dibuat ES untuk 4. Bidang Elektronik, dibuat ES untuk mengidentifikasi masalah pada jaringan telepon, mengidentifikasi masalah pada jaringan telepon, ES untuk simulasi perancangan DLC (digital logic ES untuk simulasi perancangan DLC (digital logic circuits) dan mengajari pelajar bagaimana cara circuits) dan mengajari pelajar bagaimana cara mengatasi masalah pada sirkuit elektronik. mengatasi masalah pada sirkuit elektronik.

5. Bidang Hukum, dibuat ES untuk membantu para 5. Bidang Hukum, dibuat ES untuk membantu para auditor profesional dalam mengevaluasi potensi auditor profesional dalam mengevaluasi potensi kegagalan pinjaman klien berdasarkan sejarah kegagalan pinjaman klien berdasarkan sejarah pinjaman, status ekonomi, kondisi piutang. pinjaman, status ekonomi, kondisi piutang.

6. Bidang Militer, dibuat ES untuk membantu 6. Bidang Militer, dibuat ES untuk membantu menganalisa perkiraan situasi pertempuran, menganalisa perkiraan situasi pertempuran, memberikan interpretasi taktik laporan sensor memberikan interpretasi taktik laporan sensor intelijen dan memberikan rekomendasi alokasi intelijen dan memberikan rekomendasi alokasi senjata kepada komandan militer pada saat situasi senjata kepada komandan militer pada saat situasi perang perang

Disiplin Ilmu AI

1. Natural Languange Processing (NLP) atau 1. Natural Languange Processing (NLP) atau Pemrosesan Bahasa Alami, merupakan salah satu Pemrosesan Bahasa Alami, merupakan salah satu cabang AI yang mempelajari pembuatan sistem untuk cabang AI yang mempelajari pembuatan sistem untuk menerima input bahasa alami manusia. NLP berusaha menerima input bahasa alami manusia. NLP berusaha mengubah bahasa alami komputer (bit dan byte) mengubah bahasa alami komputer (bit dan byte) menjadi bahasa alami manusia yang dapat kita menjadi bahasa alami manusia yang dapat kita mengerti. NLP merupakan ilmu dasar yang dapat mengerti. NLP merupakan ilmu dasar yang dapat dijadikan jembatan untuk membuat komunikasi antara dijadikan jembatan untuk membuat komunikasi antara mesin dengan manusia. mesin dengan manusia.

2. Expert System (ES) atau Sistem Pakar, merupakan 2. Expert System (ES) atau Sistem Pakar, merupakan salah satu cabang AI yang mempelajari pembuatan salah satu cabang AI yang mempelajari pembuatan sebuah sistem yang dapat bekerja layaknya seorang sebuah sistem yang dapat bekerja layaknya seorang pakar. ES dapat menyimpan pengetahuan seorang pakar. ES dapat menyimpan pengetahuan seorang pakar dan memberikan solusi berdasarkan pakar dan memberikan solusi berdasarkan pengetahuan yang dimilikinya tadi. ES juga pengetahuan yang dimilikinya tadi. ES juga merupakan salah satu cabang AI yang sering merupakan salah satu cabang AI yang sering melakukan kerja sama dengan disiplin ilmu lain karena melakukan kerja sama dengan disiplin ilmu lain karena sifatnya yang dapat menyimpan pengetahuan. sifatnya yang dapat menyimpan pengetahuan.

16

3. Pattern Recognition (PR) atau Pengenalan 3. Pattern Recognition (PR) atau Pengenalan Pola, merupakan salah satu cabang AI yang Pola, merupakan salah satu cabang AI yang mempelajari pembuatan sebuah sistem untuk mempelajari pembuatan sebuah sistem untuk dapat mengenali suatu pola tertentu. Misalnya dapat mengenali suatu pola tertentu. Misalnya sistem PR untuk mengenali huruf dari tulisan sistem PR untuk mengenali huruf dari tulisan tangan, walaupun terdapat perbedaan penulisan tangan, walaupun terdapat perbedaan penulisan huruf A dari masing-masing orang tetapi PR huruf A dari masing-masing orang tetapi PR dapat mengenali bahwa huruf tersebut adalah dapat mengenali bahwa huruf tersebut adalah huruf A. Beberapa aplikasi dari PR antara lain : huruf A. Beberapa aplikasi dari PR antara lain : voice recognition, Fingerprint Identification, Face voice recognition, Fingerprint Identification, Face Identification, Handwriting Identification, Optical Identification, Handwriting Identification, Optical Character Recognition, Biological Slide Analysis, Character Recognition, Biological Slide Analysis, Robot Vision dan lainnya Robot Vision dan lainnya

Kesimpulan :

Bahwa AI mempertimbangkan aspek : Bahwa AI mempertimbangkan aspek : • • Penggunaan komputer untuk melakukan Penggunaan komputer untuk melakukan

symbolic reasoning symbolic reasoning • • Suatu fokus masalah yang yang tidak Suatu fokus masalah yang yang tidak

meresponsi solusi algoritma meresponsi solusi algoritma • • Penyelesaian masalah dengan suatu Penyelesaian masalah dengan suatu

representasi formalis yang menghubungkan representasi formalis yang menghubungkan programmer untuk mengkompensasi programmer untuk mengkompensasi berbagai permasalahan berbagai permasalahan

• • Usaha manipulasi dengan metode numerik Usaha manipulasi dengan metode numerik • • Penempatan arti semantik dalam bentuk Penempatan arti semantik dalam bentuk

sintaksis sintaksis

ASPEK ARTIFICIAL INTELIGENCIA

• Manusia punya kapasitas mental, pikiran dalam setiap • Manusia punya kapasitas mental, pikiran dalam setiap rekayasa rekayasa

• Bidang intelijensia buatan memahami entitas-entitas • Bidang intelijensia buatan memahami entitas-entitas cerdas. cerdas.

• AI berguna untuk lebih memahami diri kita sendiri. • AI berguna untuk lebih memahami diri kita sendiri. • Komputer, filosofi dan psikologi cenderung berhubungan • Komputer, filosofi dan psikologi cenderung berhubungan

dengan AI dengan AI • AI berusaha membangun smart entity sesuai dengan • AI berusaha membangun smart entity sesuai dengan

pemahaman manusia. pemahaman manusia. • AI berguna dalam kebenarannya sendiri. • AI berguna dalam kebenarannya sendiri. • AI telah menghasilkan banyak produk berarti dan • AI telah menghasilkan banyak produk berarti dan

mengesankan, walau tidak seorangpun dapat memprediksi mengesankan, walau tidak seorangpun dapat memprediksi masa depannya masa depannya

• Komputer dengan kecerdasan setingkat manusia akan • Komputer dengan kecerdasan setingkat manusia akan berpengaruh pada kehidupuan dan sebagian dari berpengaruh pada kehidupuan dan sebagian dari peradaban masa depan. peradaban masa depan.

Perkembangan teknologi komputer yang cerdas Perkembangan teknologi komputer yang cerdas dewasa ini adalah komputer tanpa kawat (wireless dewasa ini adalah komputer tanpa kawat (wireless computer). computer).

Dalam wireless computer data ditransfer sepenuhnya Dalam wireless computer data ditransfer sepenuhnya melalui berkas cahaya (light beams) yang dapat saling melalui berkas cahaya (light beams) yang dapat saling Berpotongan tanpa terjadinya interferensi. Berpotongan tanpa terjadinya interferensi.

Komputer optikal (rudimentary), awalnya untuk Komputer optikal (rudimentary), awalnya untuk mengerjakan persoalan matematika sederhana dan mengerjakan persoalan matematika sederhana dan beroperasi dengan kecepatan cahaya dan beroperasi dengan kecepatan cahaya dan kemampuan komunikasi melalui ribuan jalur dalam kemampuan komunikasi melalui ribuan jalur dalam serat optik serat optik

Pengembangan komputer hibrida dengan Pengembangan komputer hibrida dengan mengkombinasikan teknologi elektronik dengan mengkombinasikan teknologi elektronik dengan teknologi fotonik, yaitu dengan mengembangkan teknologi fotonik, yaitu dengan mengembangkan hubungan optik antara berbagai electronic processor, hubungan optik antara berbagai electronic processor, memory units, dan communication ports. memory units, dan communication ports.

Definisi Inteligensi buatan

“The exciting new effort to make “The exciting new effort to make “The study of mental faculties computers think … machines with computers think … machines with

through the use of computational minds,in the full and literal sense” minds,in the full and literal sense”

models”

(Haugeland, 1985) (Haugeland, 1985) (Charniak and McDermott, 1985) “[The automation of] activities that “[The automation of] activities that

“The study of the computations that we associate with human thinking, we associate with human thinking,

take it possible to perceive, reason, activities such as decision making, activities such as decision making,

and act” (Winston, 1992)

problem solving, learning …” problem solving, learning …” (Bellman, 1978) (Bellman, 1978)

“The art of creating machines that A field of study that seeks to explain perform functions that require

and emulate intelligent behavior in intelligence when performed by

term of computational processes” people” (Kurzweil, 1990)

(Schalkoff, 1990)

“The study of how to make “The branch of computer science computers do things which, at the

that is concerned with the moment, people do better” (Rich and automation of intelligent behavior” Knight, 1991).

(Luger and Stubblefield, 1993)

Prinsip AI :

Sehingga : Systems that think like humans, Systems that think rationally, Systems that act like humans, Systems that act rationally.

Proses AI:

Intelligence phase Intelligence phase

Define Define the the “Process or Problem” “Process or Problem”

Modeling phase Modeling phase

Develop Develop Develop Develop

Alternative Alternative Alternative Alternative Courses of Action Courses of Action Courses of Action Courses of Action

Select Select The “Best” The “Best”

One One

Choice phase Choice phase

Review It Review It

Act on it Act on it

Implementation Implementation phase phase

Thinking Humanly: The cognitive modeling approach. Thinking Humanly: The cognitive modeling approach.

1. 1. Melalui introspeksi: mencoba menangkap Melalui introspeksi: mencoba menangkap pemikiran-pemikiran kita sendiri pada saat kita pemikiran-pemikiran kita sendiri pada saat kita berpikir. Tetapi seorang psikolog Barat berpikir. Tetapi seorang psikolog Barat mengatakan: “how do you know that you mengatakan: “how do you know that you understand?”. Bagaimana anda sadar bahwa understand?”. Bagaimana anda sadar bahwa anda sedang sadar? Karena pada saat anda anda sedang sadar? Karena pada saat anda menyadari pemikiran anda, ternyata pemikiran menyadari pemikiran anda, ternyata pemikiran tersebut sudah lewat dan digantikan kesadaran tersebut sudah lewat dan digantikan kesadaran anda. anda.

2. 2. Melalui eksperimen-eksperimen psikologi. Melalui eksperimen-eksperimen psikologi.

TELL and ASK (Assertion and Queries)

Sentences are added to a KB using TELL : Sentences are added to a KB using TELL :

TELL(KB, King(John)). TELL(KB, King(John)). TELL(KB, TELL(KB,   x King(x) x King(x)   Person(x)). Person(x)).

We can ask questions of the KB using ASK : We can ask questions of the KB using ASK :

ASK(KB, King(John)). ASK(KB, King(John)). ASK(KB, Person(John)). ASK(KB, Person(John)). ASK(KB, ASK(KB,   x Person(x)). x Person(x)).

A Knowledge-Based Agent

• A knowledge-based agent consists of a knowledge base (KB) • A knowledge-based agent consists of a knowledge base (KB) and an inference engine (IE). and an inference engine (IE).

• A knowledge-base is a set of representations of what one • A knowledge-base is a set of representations of what one

knows about the world (objects and classes of objects, the knows about the world (objects and classes of objects, the fact about objects, relationships among objects, etc.) fact about objects, relationships among objects, etc.)

• Each individual representation is called a sentence. • Each individual representation is called a sentence. • The sentences are expressed in a knowledge • The sentences are expressed in a knowledge

representation language. representation language. • Examples of sentences • Examples of sentences

– The moon is made of green cheese – The moon is made of green cheese – If A is true then B is true – If A is true then B is true – A is false – A is false – All humans are mortal – All humans are mortal – Confucius is a human – Confucius is a human

• The Inference engine derives new sentences from the • The Inference engine derives new sentences from the input and KB input and KB

• The inference mechanism depends on representation in KB • The inference mechanism depends on representation in KB • The agent operates as follows: • The agent operates as follows:

1. It receives percepts from environment 1. It receives percepts from environment

2. It computes what action it should perform (by IE and 2. It computes what action it should perform (by IE and KB) KB)

3. It performs the chosen action (some actions are simply 3. It performs the chosen action (some actions are simply inserting inferred new facts into KB). inserting inferred new facts into KB).

Input from

Learning (KB update)

Knowledge Base

Representation, Reasoning, and Logic

• The objective of knowledge representation is to express • The objective of knowledge representation is to express knowledge in a computer-tractable form, so that agents can knowledge in a computer-tractable form, so that agents can perform well. perform well.

• A knowledge representation language is defined by: • A knowledge representation language is defined by: – Its syntax which defines all possible sequences of – Its syntax which defines all possible sequences of

symbols that constitute sentences of the language symbols that constitute sentences of the language (grammar to form sentences) (grammar to form sentences)

– Its semantics determines the facts in the world to – Its semantics determines the facts in the world to

which the sentences refer (meaning of sentences) which the sentences refer (meaning of sentences) • Each sentence makes a claim about the world. • Each sentence makes a claim about the world. – Its proof theory (inference rules and proof procedures) – Its proof theory (inference rules and proof procedures)

The Connection between Sentences and Facts

Semantics maps sentences in logic to facts in the world. The property of one fact following from another is mirrored by the property of one sentence being entailed by (inferred from) another.

Propositional Logic : Syntax

• Symbols: • Symbols: Logical constants: true (T), False (F) Logical constants: true (T), False (F) Propositional symbols: P, Q, S, ... Propositional symbols: P, Q, S, ... logical connectives: logical connectives:

... conjunction (and) ... conjunction (and)

  ... disjunction (or) ... disjunction (or)

=> ... implication (if) => ... implication (if) <=> <=> ... logical equivalence (if and only if) ... logical equivalence (if and only if)

... negation (not) ... negation (not)

Wrapping parentheses: ( … ) Wrapping parentheses: ( … ) • A proposition (denoted by a proposition symbol) is a • A proposition (denoted by a proposition symbol) is a

declarative statement which can be either true or false but declarative statement which can be either true or false but not both or neither. not both or neither.

– The moon is made of green cheese (F) – The moon is made of green cheese (F) – UMBC is closer to Baltimore than to Washington, DC (T) – UMBC is closer to Baltimore than to Washington, DC (T) – – P = NP P = NP (truth unknown) (truth unknown)

• Sentence • Sentence

1. T or F itself is a sentence 1. T or F itself is a sentence

2. Individual proposition symbols P, Q, ... are sentences 2. Individual proposition symbols P, Q, ... are sentences

3. If S1 and S2 are sentences, so are 3. If S1 and S2 are sentences, so are S1  S2, S1 S2, S1 => S2, S1 <=> S2, ~ S1 S1  S2, S1 S2, S1 => S2, S1 <=> S2, ~ S1 • Order of precedence of logical connectors • Order of precedence of logical connectors

• Minimum set of logical connectors • Minimum set of logical connectors (~ , ), or (~ , ) (~ , ), or (~ , ) • Atomic sentences: T, F, P, Q, ... • Atomic sentences: T, F, P, Q, ... • Literals: atomic sentences and their negations • Literals: atomic sentences and their negations

A BNF Grammar of Sentences in Propositional Logic

S := <Sentence> ; S := <Sentence> ; <Sentence> := <AtomicSentence>|<ComplexSentence> ; <Sentence> := <AtomicSentence>|<ComplexSentence> ; <AtomicSentence> := "T" | "F" | <AtomicSentence> := "T" | "F" |

"P" | "Q" | "S" ; "P" | "Q" | "S" ;

<ComplexSentence> := "(" <Sentence> ")" | <ComplexSentence> := "(" <Sentence> ")" | <Sentence> <Connective> <Sentence> | <Sentence> <Connective> <Sentence> | ~<Sentence> ; ~<Sentence> ;

<Connective> :=  |  | => | <=> | Ex-OR; <Connective> :=  |  | => | <=> | Ex-OR; <literal> := <AtomicSentence> | ~ <AtomicSentence> <literal> := <AtomicSentence> | ~ <AtomicSentence>

Examples of PL sentences

• P means "It is hot" • P means "It is hot" • Q means "It is humid" • Q means "It is humid" • R means "It is raining" • R means "It is raining" • P ^ Q => R • P ^ Q => R

"If it is hot and humid, then it is raining" "If it is hot and humid, then it is raining" • Q => P • Q => P "If it is humid, then it is hot" "If it is humid, then it is hot" •Q •Q "It is humid." "It is humid."

Sound Inference Rules (deductive rules)

• Here are some examples of sound rules of inference. • Here are some examples of sound rules of inference. • Each can be shown to be sound using a truth table -- • Each can be shown to be sound using a truth table --

a rule is sound if it’s conclusion is true whenever the a rule is sound if it’s conclusion is true whenever the premise is true. premise is true.

RULE RULE

PREMISE PREMISE

CONCLUSION CONCLUSION

Modus Ponens Modus Ponens

A, A => B A, A => B

Modus Tollens ~B, A => B Modus Tollens ~B, A => B

~A ~A

A^B A^B And Elimination And Elimination

And Introduction And Introduction

A, B A, B

A^B A^B

Or Introduction A A v B Or Introduction A A v B Double Negation Double Negation

~~A ~~A

Chaining Chaining

A => B, B => C A => B, B => C

A => C A => C

• Resolution rule • Resolution rule Unit Resolution Unit Resolution

A v B, ~A A v B, ~A B B

Resolution A v B, ~B v C Resolution A v B, ~B v C AvC AvC

Let  1 ...  i ,  ,  1 ...  k be literals. Then

 1  ...   i   , ~  ,  1  ...  k  1  ...   i   1  ...  k

– Operates on two disjunctions of literals – Operates on two disjunctions of literals – The pair of two opposite literals cancel – The pair of two opposite literals cancel ( (   and and ~ ~   ) )

each other, all other literals from the two disjuncts are each other, all other literals from the two disjuncts are combined to form a new disjunct as the inferred combined to form a new disjunct as the inferred sentence sentence

– Resolution rule can replace all other inference rules – Resolution rule can replace all other inference rules

Modusponens Modusponens

A, ~A v B B A, ~A v B B

Modustollens ~B, ~A v B ~A Modustollens ~B, ~A v B ~A Chaining Chaining

~A v B, ~B v C ~A v C ~A v B, ~B v C ~A v C

• Bila dalam sebuah knowledge base (KB) diketahui terdapat • Bila dalam sebuah knowledge base (KB) diketahui terdapat premise-premise sebagai berikut : premise-premise sebagai berikut :

1. Q=>P Premise “if it is humid, it is hot” 1. Q=>P Premise “if it is humid, it is hot”

2. (P^Q)=>R Premise 2. (P^Q)=>R Premise “If it’s hot & humid, it’s raining” “If it’s hot & humid, it’s raining”

Pertanyaan : Pertanyaan : a.Buktikan bahwa hujan akan turun bila knowledge-based a.Buktikan bahwa hujan akan turun bila knowledge-based

agent Saudara menerima input bahwa cuaca sangat lembab !!. agent Saudara menerima input bahwa cuaca sangat lembab !!. Gunakan aturan inferensi yang telah Saudara pelajari. Gunakan aturan inferensi yang telah Saudara pelajari.

b.Pertanyaan sama dengan (a) tetapi pembuktian menggunakan b.Pertanyaan sama dengan (a) tetapi pembuktian menggunakan teknik resolusi. teknik resolusi.

Proving things

• A proof is a sequence of sentences, where each sentence is • A proof is a sequence of sentences, where each sentence is either a premise (also called an axiom) or a sentence derived either a premise (also called an axiom) or a sentence derived from earlier sentences in the proof by one of the rules of from earlier sentences in the proof by one of the rules of inference. inference.

• The last sentence is the theorem (also called goal or query) that • The last sentence is the theorem (also called goal or query) that we want to prove. we want to prove.

• Complete proof procedure for PL has time complexity exponential • Complete proof procedure for PL has time complexity exponential to the number of premises to the number of premises

• Example for the "weather problem" given before. • Example for the "weather problem" given before. 1Q 1Q

Premise Premise

“It is humid” “It is humid”

“if it is humid, then it is hot” “if it is humid, then it is hot” 3P 3P

2 Q=>P 2 Q=>P

Premise Premise

Modus Ponens(1,2) Modus Ponens(1,2) “It is hot” “It is hot”

4 (P^Q)=>R Premise 4 (P^Q)=>R Premise “If it’s hot & humid then “If it’s hot & humid then

it’s raining” it’s raining”

5 P^Q 5 P^Q And Introduction(1) And Introduction(1) “It is hot and humid” “It is hot and humid” 6R 56 6R Modus Ponens(4,5) Modus Ponens(4,5) “It is raining” “It is raining”

•Proof by resolution

theorem theorem

• Theorem proving as search

– Start node: the set of given premises/axioms (KB + Input) – Operator: inference rule (add a new sentence into parent

node) – Goal: a state that contains the theorem asked to prove – Solution: a path from start node to a goal

Normal forms of PL sentences

• Disjunctive normal form (DNF) • Disjunctive normal form (DNF) – Any sentence can be written as a disjunction of conjunctions – Any sentence can be written as a disjunction of conjunctions of literals. of literals. – Examples: P ^ Q ^ ~R ; A^B v C^D v P^Q^R ; P – Examples: P ^ Q ^ ~R ; A^B v C^D v P^Q^R ; P

• Conjunctive normal form (CNF) • Conjunctive normal form (CNF) – Any sentence can be written as a conjunction of disjunctions – Any sentence can be written as a conjunction of disjunctions

of literals. of literals. – Examples: P v Q v ~R; (A v B) ^ (C v D) ^ (P v Q v R); – Examples: P v Q v ~R; (A v B) ^ (C v D) ^ (P v Q v R);

P P • Normal forms can be obtained by applying equivalence laws : • Normal forms can be obtained by applying equivalence laws :

[(A v B) => (C v D)] => P [(A v B) => (C v D)] => P

~[~(A v B) v (C v D)] v P ~[~(A v B) v (C v D)] v P [~~(A v B) ^ ~(C v D)] v P [~~(A v B) ^ ~(C v D)] v P [(A v B)^(~C ^ ~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^~D ) v P]

(A v B v P)^(~C v P)^(~D v P) 58 (A v B v P)^(~C v P)^(~D v P) a CNF a CNF

Weakness of PL

• Hard to identify "individuals." E.g., Mary • Hard to identify "individuals." E.g., Mary • Difficult to directly and clearly talk about properties of • Difficult to directly and clearly talk about properties of

individuals or relations between individuals (hard to individuals or relations between individuals (hard to connect individuals to class properties). connect individuals to class properties).

– E.g., property of being a human implies property of – E.g., property of being a human implies property of

being mortal being mortal • Generalizations, patterns, regularities can't easily be • Generalizations, patterns, regularities can't easily be

represented. represented. – All members of a class have this property – All members of a class have this property – Some member of a class have this property – Some member of a class have this property

• A better representation is needed to capture the • A better representation is needed to capture the relationship (and distinction) between objects and classes, relationship (and distinction) between objects and classes, including properties belonging to classes and individuals including properties belonging to classes and individuals

Weakness of PL

• First-Order Logic (abbreviated FOPL or FOPC) is • First-Order Logic (abbreviated FOPL or FOPC) is

expressive enough to concisely represent this kind of expressive enough to concisely represent this kind of situation by separating classes and individuals situation by separating classes and individuals

– Explicit representation of individuals and classes, x, – Explicit representation of individuals and classes, x, Mary, 3, persons. Mary, 3, persons.

– Adds relations, variables, and quantifiers, e.g., – Adds relations, variables, and quantifiers, e.g., • • “Every person is mortal” “Every person is mortal” For all X: person(X) => mortal(X) For all X: person(X) => mortal(X) • • “There is a white alligator” “There is a white alligator”

There exists some X: Alligator(X) ^ white(X) There exists some X: Alligator(X) ^ white(X)

First Order Predicate Logic (FOPL)

• First-order logic is used to model the world in terms of • First-order logic is used to model the world in terms of

– objects which are things with individual identities. – objects which are things with individual identities.

e.g., individual students, lecturers, companies, cars ... e.g., individual students, lecturers, companies, cars ... – properties of objects that distinguish them from – properties of objects that distinguish them from

other objects. e.g., mortal, blue, oval, even, large, ... other objects. e.g., mortal, blue, oval, even, large, ... – classes of objects (often defined by properties). e.g., – classes of objects (often defined by properties). e.g.,

human, mammal, machine, ... human, mammal, machine, ... – relations that hold among objects. e.g., brother of, – relations that hold among objects. e.g., brother of,

bigger than, outside, part of, has color, occurs after, bigger than, outside, part of, has color, occurs after, owns, a member of, ... owns, a member of, ...

– functions which are a subset of the relations in – functions which are a subset of the relations in which there is only one ``value'' for any given which there is only one ``value'' for any given ``input''. e.g., father of, best friend, second half, one ``input''. e.g., father of, best friend, second half, one more than ... more than ...

Syntax of FOPL

• Predicates: • Predicates: P(x[1], ..., x[n]) P(x[1], ..., x[n])

– P: predicate name; (x[1], ..., x[n]): argument list – P: predicate name; (x[1], ..., x[n]): argument list – Examples: human(x), /* x is a human */ – Examples: human(x), /* x is a human */

father(x, y) /* x is the father of y */ father(x, y) /* x is the father of y */ – When all arguments of a predicate is assigned values (said – When all arguments of a predicate is assigned values (said

to be instantiated), the predicate becomes either true or to be instantiated), the predicate becomes either true or false, i.e., it becomes a proposition. Ex. Father(Fred, Joe) false, i.e., it becomes a proposition. Ex. Father(Fred, Joe)

– A predicate, like a membership function, defines a set (or a – A predicate, like a membership function, defines a set (or a class) of objects class) of objects

• Terms (arguments of predicates must be terms) • Terms (arguments of predicates must be terms) – Constants are terms (e.g., Fred, a, Z, “red”, etc.) – Constants are terms (e.g., Fred, a, Z, “red”, etc.) – Variables are terms (e.g., x, y, z, etc.), a variable is – Variables are terms (e.g., x, y, z, etc.), a variable is

instantiated when it is assigned a constant as its value instantiated when it is assigned a constant as its value – Functions of terms are terms (e.g., f(x, y, z), f(x, g(a)), – Functions of terms are terms (e.g., f(x, y, z), f(x, g(a)),

etc.) etc.)

• Quantifiers • Quantifiers Universal quantification  Universal quantification  (or (or for all for all ) )

– (x)P(x) means that P holds for all values of x in the – (x)P(x) means that P holds for all values of x in the

domain associated with that variable. domain associated with that variable. – E.g., (x) dolphin(x) => mammal(x) – E.g., (x) dolphin(x) => mammal(x)

(x) human(x) => mortal(x) (x) human(x) => mortal(x)

– Universal quantifiers often used with "implication (=>)" – Universal quantifiers often used with "implication (=>)" to form "rules" about properties of a class to form "rules" about properties of a class

(x) student(x) => smart(x) (All students are smart) (x) student(x) => smart(x) (All students are smart) – Often associated with English words “all”, “everyone”, – Often associated with English words “all”, “everyone”,

“always”, etc. “always”, etc.

Existential quantification  Existential quantification 

– (x)P(x) means that P holds for some value(s) of x in – (x)P(x) means that P holds for some value(s) of x in the domain associated with that variable. the domain associated with that variable.

– E.g., (x) mammal(x) ^ lays-eggs(x) – E.g., (x) mammal(x) ^ lays-eggs(x) (x) taller(x, Fred) (x) taller(x, Fred) (x) UMBC-Student (x) ^ taller(x, Fred) (x) UMBC-Student (x) ^ taller(x, Fred)

– Existential quantifiers usually used with “^ (and)" to – Existential quantifiers usually used with “^ (and)" to specify a list of properties about an individual. specify a list of properties about an individual.

(x) student(x) ^ smart(x) (there is a student who is (x) student(x) ^ smart(x) (there is a student who is smart.) smart.)

– A common mistake is to represent this English – A common mistake is to represent this English sentence as the FOL sentence: sentence as the FOL sentence:

(x) student(x) => smart(x) (x) student(x) => smart(x) – Often associated with English words “someone”, – Often associated with English words “someone”,

“sometimes”, etc. “sometimes”, etc.

Sentences are built from terms and atoms

• A term (denoting a individual in the world) is a constant symbol, a • A term (denoting a individual in the world) is a constant symbol, a variable symbol, or a function of terms. variable symbol, or a function of terms.

• An atom (atomic sentence) is a predicate P(x[1], ..., x[n]) • An atom (atomic sentence) is a predicate P(x[1], ..., x[n]) – Ground atom: all terms in its arguments are ground terms (does – Ground atom: all terms in its arguments are ground terms (does

not involve variables) not involve variables) – A ground atom has value true or false (like a proposition in PL) – A ground atom has value true or false (like a proposition in PL) • A literal is either an atom or a negation of an atom • A literal is either an atom or a negation of an atom • A sentence is an atom, or, • A sentence is an atom, or,

– ~P, P v Q, P ^ Q, P => Q, P <=> Q, (P) where P and Q are – ~P, P v Q, P ^ Q, P => Q, P <=> Q, (P) where P and Q are sentences sentences

– If P is a sentence and x is a variable, then (x)P and (x)P are – If P is a sentence and x is a variable, then (x)P and (x)P are

sentences sentences • A well-formed formula (wff) is a sentence containing no "free" • A well-formed formula (wff) is a sentence containing no "free"

variables. i.e., all variables are "bound" by universal or existential variables. i.e., all variables are "bound" by universal or existential quantifiers. quantifiers.

(x)P(x,y) has x bound as a universally quantified variable, but y is (x)P(x,y) has x bound as a universally quantified variable, but y is free. free.

A BNF for FOL Sentences

S := <Sentence> ; S := <Sentence> ; <Sentence> := <AtomicSentence> | <Sentence> := <AtomicSentence> |

<Sentence> <Connective> <Sentence> | <Sentence> <Connective> <Sentence> | <Quantifier> <Variable>,... <Sentence> | <Quantifier> <Variable>,... <Sentence> | ~ <Sentence> | "(" <Sentence> ")"; ~ <Sentence> | "(" <Sentence> ")";

<AtomicSentence> := <Predicate> "(" <Term>, ... ")" | <AtomicSentence> := <Predicate> "(" <Term>, ... ")" |

<Term> "=" <Term>; <Term> "=" <Term>;

<Term> := <Function> "(" <Term>, ... ")" | <Term> := <Function> "(" <Term>, ... ")" | <Constant> |<Variable>; <Constant> |<Variable>; <Connective> := ^ | v | => | <=>; <Connective> := ^ | v | => | <=>; <Quantifier> :=  | ; <Quantifier> :=  | ; <Constant> := "A" | "X1" | "John" | ... ; <Constant> := "A" | "X1" | "John" | ... ; <Variable> := "a" | "x" | "s" | ... ; <Variable> := "a" | "x" | "s" | ... ; <Predicate> := "Before" | "HasColor" | "Raining" | ... ; <Predicate> := "Before" | "HasColor" | "Raining" | ... ; <Function> := "Mother" | "LeftLegOf" | ... ; <Function> := "Mother" | "LeftLegOf" | ... ; <Literal> := <AutomicSetence> | ~ <AutomicSetence> <Literal> := <AutomicSetence> | ~ <AutomicSetence>

Contoh silogisme

Semua gajah adalah abu-abu : Semua gajah adalah abu-abu :   x : gajah(x)  warna(x,GRAY) x : gajah(x)  warna(x,GRAY)

Seseorang menulis buku komputer catur : Seseorang menulis buku komputer catur :   x : menulis(x,COMPUTER-CHESS) x : menulis(x,COMPUTER-CHESS)

Setiap orang membenci seseorang : Setiap orang membenci seseorang :   xy : benci(x,y) sama dengan yx : benci(x,y) (ada y xy : benci(x,y) sama dengan yx : benci(x,y) (ada y

dibenci setiap orang) dibenci setiap orang) Semua siswa yang lulus suatu mata kuliah bergembira : Semua siswa yang lulus suatu mata kuliah bergembira :

  x[siswa(x)  y[matakuliah(y)  lulus(x,y)]  gembira(x)] x[siswa(x)  y[matakuliah(y)  lulus(x,y)]  gembira(x)] Seorang siswa yang tidak gembira tidak lulus semua mata Seorang siswa yang tidak gembira tidak lulus semua mata

kuliah yang diambilnya: kuliah yang diambilnya:   x[siswa(x)  ¬gembira(x)  y[matakuliah(y)  ¬lulus(x,y)]] x[siswa(x)  ¬gembira(x)  y[matakuliah(y)  ¬lulus(x,y)]]

Perhatikan kalimat cerita “happy student” berikut ini : Perhatikan kalimat cerita “happy student” berikut ini : Setiap orang yang lulus ujian matakuliah Intelijensia Setiap orang yang lulus ujian matakuliah Intelijensia

Buatan(AI) dan memenangkan undian akan Buatan(AI) dan memenangkan undian akan berbahagia. Tetapi setiap orang yang belajar atau berbahagia. Tetapi setiap orang yang belajar atau beruntung akan dapat lulus dari seluruh ujian- beruntung akan dapat lulus dari seluruh ujian- ujiannya. Ali tidak belajar tetapi dia beruntung. Setiap ujiannya. Ali tidak belajar tetapi dia beruntung. Setiap orang yang beruntung akan memenangkan undian. orang yang beruntung akan memenangkan undian. Apakah Ali berbahagia” Apakah Ali berbahagia”

Pertanyaan : Pertanyaan :

a. Ubah kalimat di atas ke dalam bentuk logika a. Ubah kalimat di atas ke dalam bentuk logika predikatif. predikatif.

b. Buktikan dengan teknik resolusi bahwa Ali berbahagia. b. Buktikan dengan teknik resolusi bahwa Ali berbahagia.

A. Ubah ke logika predikatif

- x : lulus (x, AI)  menang (x, undian)  bahagia (x) - x y : belajar (x)  beruntung (x)  lulus (x, y) - ¬belajar (Ali)  beruntung (Ali) - x : beruntung (x)  menang (x, undian)

B. Bentuk klausa dari kalimat di atas B. Bentuk klausa dari kalimat di atas

- ¬lulus (x, AI)  ¬menang (x, undian)  bahagia (x) - ¬lulus (x, AI)  ¬menang (x, undian)  bahagia (x) (a) (a) - ¬belajar (y)  lulus (y, z) - ¬belajar (y)  lulus (y, z)

(b) (b) - ¬beruntung (w)  lulus (w, z) - ¬beruntung (w)  lulus (w, z)

(c) (c) - ¬belajar (Ali) - ¬belajar (Ali)

(d) (d) - beruntung (Ali) - beruntung (Ali)

(e) (e) - ¬beruntung (u)  menang (u, undian) - ¬beruntung (u)  menang (u, undian)

(f) (f) - ¬bahagia (Ali) - ¬bahagia (Ali)

(g) (g)

B. Bentuk klausa dari kalimat di atas

- ¬lulus (x,A) ¬menang (x,undian)bahagia(x) (a) - ¬belajar (y)  lulus (y, z)

(b) - ¬beruntung (w)  lulus (w, z)

(c) - ¬belajar (Ali)

(d) - beruntung (Ali)

(e) - ¬beruntung (u)  menang (u, undian)

(f) - ¬bahagia (Ali)

(g)

Pembuktian : apakah Ali berbahagia ?

(a) dan (f) : ¬lulus (u, AI)  ¬beruntung (u)  bahagia (u) (aa) (aa) dan (g) : ¬lulus (Ali, AI)  ¬beruntung (Ali)

(bb) (bb) dan (e) : ¬lulus (Ali, AI)

(cc) (cc) dan (c) : ¬beruntung (Ali)

(dd) (dd) dan (e) : nil (terbukti)

¬lulus (x, AI)  ¬menang (x, undian)  bahagia (x) ¬beruntung (u)  menang (u, undian)

u/x

¬lulus (u, AI)  ¬beruntung (u)  bahagia (u)

¬bahagia (Ali) Ali/u

¬lulus (Ali, AI)  ¬beruntung (Ali) beruntung (Ali) beruntung (Ali)

¬lulus (Ali, AI)

beruntung (Ali) ¬beruntung (w)  lulus (w, z)

¬beruntung (Ali)

NIL

Teknik Pencarian

Sasaran : Sasaran : Bagaimana membuat ruang masalah dapat diselesai- Bagaimana membuat ruang masalah dapat diselesai-

kan dengan metode tertentu. kan dengan metode tertentu. Sebagian masalah mempunyai ruang (space) yang Sebagian masalah mempunyai ruang (space) yang

dapat diprediksi dan sebagian lainnya mungkin tidak dapat diprediksi dan sebagian lainnya mungkin tidak (pembuatan batasan masalah). (pembuatan batasan masalah).

Identifikasi Teknik Pencarian :

1. Pendefinisian masalah sebagai pencarian ruang keadaan

2. Teknik pencarian untuk sistem produksi

1. Pendefinisian Masalah Sebagai Pencarian Ruang Keadaan

Masalah utama : Masalah utama : • Bagaimana membangun sistem berbasis AI • Bagaimana membangun sistem berbasis AI

• Bagaimana mengkonversikan situasi tertentu • Bagaimana mengkonversikan situasi tertentu diberikan ke dalam situasi lain yang diinginkan diberikan ke dalam situasi lain yang diinginkan menggunakan sekumpulan operasi tertentu. menggunakan sekumpulan operasi tertentu.

Contoh :

A Water Jug Problem A Water Jug Problem

Diberi dua buah wadah, ukuran X 4 galon dan Y Diberi dua buah wadah, ukuran X 4 galon dan Y

3 galon. Pompa digunakan untuk mengisi wadah 3 galon. Pompa digunakan untuk mengisi wadah dengan air. Bagaimana mendapatkan tepat 2 dengan air. Bagaimana mendapatkan tepat 2 galon air di dalam wadah Y? galon air di dalam wadah Y?

Ruang keadaan untuk masalah di atas dapat Ruang keadaan untuk masalah di atas dapat digambarkan sebagai himpunan pasangan digambarkan sebagai himpunan pasangan bilangan bulat (x,y) yang terurut, sedemikian bilangan bulat (x,y) yang terurut, sedemikian hingga x = 0, 1, 2, 3, atau 4 dan y = 0, 1, 2, atau hingga x = 0, 1, 2, 3, atau 4 dan y = 0, 1, 2, atau 3; Keadaan mula-mula adalah (0,0). State tujuan 3; Keadaan mula-mula adalah (0,0). State tujuan adalah (2,n) untuk setiap nilai n. adalah (2,n) untuk setiap nilai n.

Aturan-Aturan Produksi : Aturan-Aturan Produksi : 1. (x,y) If x < 4 → (4,y) 1. (x,y) If x < 4 → (4,y) Isi penuh wadah 4 galon Isi penuh wadah 4 galon 2. (x,y) If y < 3 → (x,3) 2. (x,y) If y < 3 → (x,3) Isi penuh wadah 3 galon Isi penuh wadah 3 galon 3. (x,y) If x > 0 → (x-d,y) Buang sebagian air dari wadah 4 galon 3. (x,y) If x > 0 → (x-d,y) Buang sebagian air dari wadah 4 galon 4. (x,y) If y > 0 → (x,y-d) Buang sebagian air dari ukuran 3 galon 4. (x,y) If y > 0 → (x,y-d) Buang sebagian air dari ukuran 3 galon 5. (x,y) If x > 0 → (0,y) 5. (x,y) If x > 0 → (0,y) Kosongkan wadah 4 galon Kosongkan wadah 4 galon 6. (x,y) If y > 0 → (x,0) 6. (x,y) If y > 0 → (x,0) Kosongkan wadah 3 galon Kosongkan wadah 3 galon 7. (x,y) If x+y ≥ 4 and y>0,(4,y-(4-x)) Tuangkan air dari wadah 3 7. (x,y) If x+y ≥ 4 and y>0,(4,y-(4-x)) Tuangkan air dari wadah 3

galon ke wadah 4 galon s/d wadah 4 galon penuh galon ke wadah 4 galon s/d wadah 4 galon penuh 8. (x,y) If x+y ≥3 and x>0, (x-(3-y),3) Tuangkan air dari wadah 4 8. (x,y) If x+y ≥3 and x>0, (x-(3-y),3) Tuangkan air dari wadah 4 galon ke wadah 3 galon s/d wadah 3 galon penuh galon ke wadah 3 galon s/d wadah 3 galon penuh 9. (x,y) If x+y ≤ 4 and y>0,(x+y,0) Tuangkan seluruh air dari wadah 3 9. (x,y) If x+y ≤ 4 and y>0,(x+y,0) Tuangkan seluruh air dari wadah 3

galon ke wadah 4 galon galon ke wadah 4 galon

10. (x,y) If x+y ≤ 3 and x>0, (0,x+y) Tuangkan seluruh air dari wadah 10. (x,y) If x+y ≤ 3 and x>0, (0,x+y) Tuangkan seluruh air dari wadah

4 galon ke wadah 3 galon 4 galon ke wadah 3 galon

11. (0,2),(2,0) 11. (0,2),(2,0) Tuangkan 2 galon air dari wadah 3 galon Tuangkan 2 galon air dari wadah 3 galon

ke wadah 4 galon ke wadah 4 galon

12. (2,y),(0,y) 12. (2,y),(0,y) Buang 2 galon dalam wadah 4 galon sampai habis. Buang 2 galon dalam wadah 4 galon sampai habis.

Jumlah galon Jumlah galon Aturan yang dilakukan

dalam gelas 4 dalam gelas 3 galon

galon

0 0 2 2 5 atau 12 5 atau 12

0 0 9 atau 11 9 atau 11

2. Teknik pencarian untuk sistem produksi

Sistem produksi terdiri dari : Sistem produksi terdiri dari : • Himpunan aturan, masing-masing terdiri dari sisi kiri (pola) • Himpunan aturan, masing-masing terdiri dari sisi kiri (pola)

yang menentukan kemampuan aplikasi pada aturan tersebut yang menentukan kemampuan aplikasi pada aturan tersebut dan sisi kanan yang menggambarkan operasi akan dan sisi kanan yang menggambarkan operasi akan dilewatkan jika aturan dilaksanakan. dilewatkan jika aturan dilaksanakan.

• Satu atau lebih Knowledge pada Basis Data yang berisi • Satu atau lebih Knowledge pada Basis Data yang berisi informasi untuk tugas tertentu dimana beberapa bagian basis informasi untuk tugas tertentu dimana beberapa bagian basis data bisa permanen, sedangkan bagian yang lain hanya bisa data bisa permanen, sedangkan bagian yang lain hanya bisa sebagai solusi masalah saat ini (temporer). Informasi dalam sebagai solusi masalah saat ini (temporer). Informasi dalam basis data harus menurut standar basis data. basis data harus menurut standar basis data.

• Strategi kontrol yang menspesifikasikan urutan dimana • Strategi kontrol yang menspesifikasikan urutan dimana

aturan tersebut akan dibandingkan dengan basis data serta aturan tersebut akan dibandingkan dengan basis data serta membuat spesifikasi cara pemecahan masalah yang timbul membuat spesifikasi cara pemecahan masalah yang timbul ketika beberapa aturan sesuai sekaligus dalam waktu yang ketika beberapa aturan sesuai sekaligus dalam waktu yang sama. sama.

• A rule applier (pengaplikasi aturan). • A rule applier (pengaplikasi aturan).

Strategi Kontrol

Syarat-syarat strategi kontrol: Syarat-syarat strategi kontrol: • Cause Motion • Cause Motion

Perhatikan kembali water jug problem. Implementasi strategi Perhatikan kembali water jug problem. Implementasi strategi kontrol sederhana dengan memilih aturan pertama dari ke 12 kontrol sederhana dengan memilih aturan pertama dari ke 12 daftar aturan yang telah dibuat, tidak akan pernah daftar aturan yang telah dibuat, tidak akan pernah memecahkan masalah. Strategi kontrol yang tidak memecahkan masalah. Strategi kontrol yang tidak menyebabkan motion maka tidak akan pernah mencapai menyebabkan motion maka tidak akan pernah mencapai solusi. solusi.