• Tidak ada hasil yang ditemukan

Kecerdasan Buatan (Artificial Intelligence)

N/A
N/A
Protected

Academic year: 2018

Membagikan "Kecerdasan Buatan (Artificial Intelligence)"

Copied!
181
0
0

Teks penuh

(1)
(2)

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

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

Tujuan AI :

Membuat komputer Lebih Pintar (smart) (lebih berdaya guna) Memahami Kecerdasan

Menerima knowledge yang aplikatif

Kecerdasan Buatan (Artificial Intelligence)

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

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

Tujuan AI :

Membuat komputer Lebih Pintar (smart) (lebih berdaya guna) Memahami Kecerdasan

Menerima knowledge yang aplikatif

(3)
(4)

Artificial Intelligence

(5)
(6)

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.

(7)

Perbandingan Kecerdasan Buatan (AI) dengan Kecerdasan Manusia

• AI Lebih Bersifat Parmanen

• AI Mudah Digandakan / Disebarluaskan • AI Dapat Lebih Murah

(8)

Domain Aplikasi AI

AI

Pengetahuan

Kognitif

Robotika

Antar Muka

Alami

• Sistem Pakar • Sistem Belajar • Agen Cerdas • Jaringan Saraf

• Rangsangan • Ketangkasan • Daya Pengerak • Navigasi

• Virtual Reality • Pengenalan Per

(9)

SISTEM PAKAR

Sistem Yang Meniru Kepakaran (Keahlian) Seseorang

Dalam Bidang Tertentu

Robot merupakan peranti elektronik yang dapat

(10)

SISTEM PAKAR : APAKAH BUAH BERBENTUK BULAT ?

PEMAKAI : YA√ TIDAK

SISTEM PAKAR : APAKAH BUAH BERWARNA HIJAU

KETI-KA MUDA DAN KUNING KETIKETI-KA SUDAH TUA ?

PEMAKAI : YA TIDAK √

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

PEMAKAI : YA √ TIDAK

SISTEM PAKAR : APAKAH BERBATANG ? PEMAKAI : YA √ TIDAK

SISTEM PAKAR : APAKAH BERDAUN LEBAR ?

PEMAKAI : YA √ TIDAK

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

SISTEM PAKAR : APAKAH BUAH BERBENTUK BULAT ?

PEMAKAI : YA√ TIDAK

SISTEM PAKAR : APAKAH BUAH BERWARNA HIJAU

KETI-KA MUDA DAN KUNING KETIKETI-KA SUDAH TUA ?

PEMAKAI : YA TIDAK √

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

PEMAKAI : YA √ TIDAK

SISTEM PAKAR : APAKAH BERBATANG ? PEMAKAI : YA √ TIDAK

SISTEM PAKAR : APAKAH BERDAUN LEBAR ?

PEMAKAI : YA √ TIDAK

(11)

MODEL PEMECAHAN MASALAH TERSEBUT DAPAT BERISI DARI FAKTA ;

JERUK * BUAH BERBENTUK BULAT

* WARNA HIJAU KETIKA MUDA DAN KUNING KETIKA TUA * BERBATANG

* BATANG BERDURI

APEL * BUAH BERBENTUK BULAT

* WARNA HIJAU KETIKA MUDA DAN MERAH KETIKA TUA

* BERDAUN LEBAR

* BERBATANG

JAMBU BIJI * BUAH BERBENTUK BULAT

* WARNA HIJAU KETIKA MUDA DAN MERAH KETIKA TUA

* BERDAUN LEBAR

* BERBATANG

JAMBU * BUAH BERBENTUK BULAT

* WARNA HIJAU KETIKA MUDA DAN MERAH/KUNING KETIKA TUA

* BERBATANG

JERUK * BUAH BERBENTUK BULAT

* WARNA HIJAU KETIKA MUDA DAN KUNING KETIKA TUA * BERBATANG

* BATANG BERDURI

APEL * BUAH BERBENTUK BULAT

* WARNA HIJAU KETIKA MUDA DAN MERAH KETIKA TUA

* BERDAUN LEBAR

* BERBATANG

JAMBU BIJI * BUAH BERBENTUK BULAT

* WARNA HIJAU KETIKA MUDA DAN MERAH KETIKA TUA

* BERDAUN LEBAR

* BERBATANG

JAMBU * BUAH BERBENTUK BULAT

* WARNA HIJAU KETIKA MUDA DAN MERAH/KUNING KETIKA TUA

(12)

DASAR PEMIKIRAN

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

a. Intelligence (Watak)

b. Knowledge (Pengetahuan)

c. Human artifice (Kelicikan/kelihaian manusia) Dasar Historis

Secara umum dasar artificial inteligencia terdapat dalam : a. Metafisik (penulisan fisik disertai dengan komposisi logic). b. Logic adalah instrumen (organ) dengan notasi True atau

False

c. Argumen logic merupakan silogisme yang menggunakan deduksi modus ponens

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

a. Intelligence (Watak)

b. Knowledge (Pengetahuan)

c. Human artifice (Kelicikan/kelihaian manusia) Dasar Historis

Secara umum dasar artificial inteligencia terdapat dalam : a. Metafisik (penulisan fisik disertai dengan komposisi logic). b. Logic adalah instrumen (organ) dengan notasi True atau

False

(13)

2. Pengembangan dari logic

3. Pengujian Turing, menggunakan suatu komputer dilengkapi dengan formulasi tertentu yang direlasikan dengan

komputer lain yang dinyatakan sebagai interrogator untuk selanjutnya ditransfer ke media lain.

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

perilaku suatu inteligence menjadikan sesuatu terhadap sejumlah pertanyaan

• Menghindari adanya kebingungan atau tidak adanya jawaban dari suatu pertanyaan

• Mengurangi pembiasan kehidupan suatu organisme pada mesin intelektual dengan mengupayakan suatu interrogator dengan fokus isi jawaban dari suatu

pertanyaan

2. Pengembangan dari logic

3. Pengujian Turing, menggunakan suatu komputer dilengkapi dengan formulasi tertentu yang direlasikan dengan

komputer lain yang dinyatakan sebagai interrogator untuk selanjutnya ditransfer ke media lain.

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

perilaku suatu inteligence menjadikan sesuatu terhadap sejumlah pertanyaan

• Menghindari adanya kebingungan atau tidak adanya jawaban dari suatu pertanyaan

• Mengurangi pembiasan kehidupan suatu organisme pada mesin intelektual dengan mengupayakan suatu interrogator dengan fokus isi jawaban dari suatu

(14)

AREA APLIKASI ARTIFICIAL INTELLIGENCE

1. Bidang Pertanian, dibuat ES untuk memprediksi

kerusakan pada jagung yang disebabkan oleh ulat hitam dan memberikan konsultasi untuk mendiagnosa

kerusakan pada kacang kedelai dengan menggunakan pengetahuan tentang gejala kerusakan dan lingkungan tanaman.

2. Bidang Kimia, dibuat ES untuk menganalisa struktur DNA dari pembatasan segmentasi data enzim dengan

menggunakan paradigma generate & test.

3. Bidang Sistem Komputer, dibuat ES untuk membantu

operator komputer untuk monitoring dan mengontrol MVS (multiple virtual storage) sistem operasi pada komputer mainframe IBM.

1. Bidang Pertanian, dibuat ES untuk memprediksi

kerusakan pada jagung yang disebabkan oleh ulat hitam dan memberikan konsultasi untuk mendiagnosa

kerusakan pada kacang kedelai dengan menggunakan pengetahuan tentang gejala kerusakan dan lingkungan tanaman.

2. Bidang Kimia, dibuat ES untuk menganalisa struktur DNA dari pembatasan segmentasi data enzim dengan

menggunakan paradigma generate & test.

3. Bidang Sistem Komputer, dibuat ES untuk membantu

(15)

4. Bidang Elektronik, dibuat ES untuk

mengidentifikasi masalah pada jaringan telepon,

ES untuk simulasi perancangan DLC (digital logic

circuits) dan mengajari pelajar bagaimana cara

mengatasi masalah pada sirkuit elektronik.

5. Bidang Hukum, dibuat ES untuk membantu para

auditor profesional dalam mengevaluasi potensi

kegagalan pinjaman klien berdasarkan sejarah

pinjaman, status ekonomi, kondisi piutang.

6. Bidang Militer, dibuat ES untuk membantu

menganalisa perkiraan situasi pertempuran,

memberikan interpretasi taktik laporan sensor

intelijen dan memberikan rekomendasi alokasi

senjata kepada komandan militer pada saat situasi

perang

4. Bidang Elektronik, dibuat ES untuk

mengidentifikasi masalah pada jaringan telepon,

ES untuk simulasi perancangan DLC (digital logic

circuits) dan mengajari pelajar bagaimana cara

mengatasi masalah pada sirkuit elektronik.

5. Bidang Hukum, dibuat ES untuk membantu para

auditor profesional dalam mengevaluasi potensi

kegagalan pinjaman klien berdasarkan sejarah

pinjaman, status ekonomi, kondisi piutang.

6. Bidang Militer, dibuat ES untuk membantu

menganalisa perkiraan situasi pertempuran,

memberikan interpretasi taktik laporan sensor

intelijen dan memberikan rekomendasi alokasi

(16)

Disiplin Ilmu AI

1. Natural Languange Processing (NLP) atau

Pemrosesan Bahasa Alami, merupakan salah satu

cabang AI yang mempelajari pembuatan sistem untuk menerima input bahasa alami manusia. NLP berusaha mengubah bahasa alami komputer (bit dan byte)

menjadi bahasa alami manusia yang dapat kita mengerti. NLP merupakan ilmu dasar yang dapat

dijadikan jembatan untuk membuat komunikasi antara mesin dengan manusia.

2. Expert System (ES) atau Sistem Pakar, merupakan salah satu cabang AI yang mempelajari pembuatan sebuah sistem yang dapat bekerja layaknya seorang pakar. ES dapat menyimpan pengetahuan seorang pakar dan memberikan solusi berdasarkan

pengetahuan yang dimilikinya tadi. ES juga merupakan salah satu cabang AI yang sering

melakukan kerja sama dengan disiplin ilmu lain karena 1. Natural Languange Processing (NLP) atau

Pemrosesan Bahasa Alami, merupakan salah satu

cabang AI yang mempelajari pembuatan sistem untuk menerima input bahasa alami manusia. NLP berusaha mengubah bahasa alami komputer (bit dan byte)

menjadi bahasa alami manusia yang dapat kita mengerti. NLP merupakan ilmu dasar yang dapat

dijadikan jembatan untuk membuat komunikasi antara mesin dengan manusia.

2. Expert System (ES) atau Sistem Pakar, merupakan salah satu cabang AI yang mempelajari pembuatan sebuah sistem yang dapat bekerja layaknya seorang pakar. ES dapat menyimpan pengetahuan seorang pakar dan memberikan solusi berdasarkan

pengetahuan yang dimilikinya tadi. ES juga merupakan salah satu cabang AI yang sering

(17)

3.

Pattern Recognition

(PR) atau Pengenalan

Pola, merupakan salah satu cabang AI yang

mempelajari pembuatan sebuah sistem untuk

dapat mengenali suatu pola tertentu. Misalnya

sistem PR untuk mengenali huruf dari tulisan

tangan, walaupun terdapat perbedaan penulisan

huruf A dari masing-masing orang tetapi PR

dapat mengenali bahwa huruf tersebut adalah

huruf A. Beberapa aplikasi dari PR antara lain :

voice recognition, Fingerprint Identification, Face

Identification, Handwriting Identification, Optical

Character Recognition, Biological Slide Analysis,

Robot Vision

dan lainnya

3.

Pattern Recognition

(PR) atau Pengenalan

Pola, merupakan salah satu cabang AI yang

mempelajari pembuatan sebuah sistem untuk

dapat mengenali suatu pola tertentu. Misalnya

sistem PR untuk mengenali huruf dari tulisan

tangan, walaupun terdapat perbedaan penulisan

huruf A dari masing-masing orang tetapi PR

dapat mengenali bahwa huruf tersebut adalah

huruf A. Beberapa aplikasi dari PR antara lain :

(18)

Kesimpulan :

Bahwa

AI

mempertimbangkan aspek :

Penggunaan komputer untuk melakukan

symbolic reasoning

Suatu fokus masalah yang yang tidak

meresponsi solusi algoritma

Penyelesaian masalah dengan suatu

representasi formalis yang menghubungkan

programmer untuk mengkompensasi

berbagai permasalahan

Usaha manipulasi dengan metode numerik

Penempatan arti semantik dalam bentuk

sintaksis

Bahwa

AI

mempertimbangkan aspek :

Penggunaan komputer untuk melakukan

symbolic reasoning

Suatu fokus masalah yang yang tidak

meresponsi solusi algoritma

Penyelesaian masalah dengan suatu

representasi formalis yang menghubungkan

programmer untuk mengkompensasi

berbagai permasalahan

Usaha manipulasi dengan metode numerik

(19)

ASPEK ARTIFICIAL INTELIGENCIA

• Manusia punya kapasitas mental, pikiran dalam setiap

rekayasa

• Bidang intelijensia buatan memahami entitas-entitas cerdas.

• AI berguna untuk lebih memahami diri kita sendiri.

• Komputer, filosofi dan psikologi cenderung berhubungan dengan AI

• AI berusaha membangun smart entity sesuai dengan pemahaman manusia.

• AI berguna dalam kebenarannya sendiri.

• AI telah menghasilkan banyak produk berarti dan

mengesankan, walau tidak seorangpun dapat memprediksi masa depannya

• Komputer dengan kecerdasan setingkat manusia akan berpengaruh pada kehidupuan dan sebagian dari

peradaban masa depan.

• Manusia punya kapasitas mental, pikiran dalam setiap rekayasa

• Bidang intelijensia buatan memahami entitas-entitas cerdas.

• AI berguna untuk lebih memahami diri kita sendiri.

• Komputer, filosofi dan psikologi cenderung berhubungan dengan AI

• AI berusaha membangun smart entity sesuai dengan pemahaman manusia.

• AI berguna dalam kebenarannya sendiri.

• AI telah menghasilkan banyak produk berarti dan

mengesankan, walau tidak seorangpun dapat memprediksi masa depannya

• Komputer dengan kecerdasan setingkat manusia akan berpengaruh pada kehidupuan dan sebagian dari

(20)

Perkembangan teknologi komputer yang cerdas

dewasa ini adalah komputer tanpa kawat (

wireless

computer

).

Dalam

wireless computer

data ditransfer sepenuhnya

melalui berkas cahaya (

light beams

) yang dapat saling

Berpotongan tanpa terjadinya interferensi.

Komputer optikal (

rudimentary

), awalnya untuk

mengerjakan persoalan matematika sederhana dan

beroperasi dengan kecepatan cahaya dan

kemampuan komunikasi melalui ribuan jalur dalam

serat optik

Pengembangan komputer hibrida dengan

mengkombinasikan teknologi elektronik dengan

teknologi fotonik, yaitu dengan mengembangkan

hubungan optik antara berbagai

electronic processor

,

memory units

, dan

communication ports

.

Perkembangan teknologi komputer yang cerdas

dewasa ini adalah komputer tanpa kawat (

wireless

computer

).

Dalam

wireless computer

data ditransfer sepenuhnya

melalui berkas cahaya (

light beams

) yang dapat saling

Berpotongan tanpa terjadinya interferensi.

Komputer optikal (

rudimentary

), awalnya untuk

mengerjakan persoalan matematika sederhana dan

beroperasi dengan kecepatan cahaya dan

kemampuan komunikasi melalui ribuan jalur dalam

serat optik

Pengembangan komputer hibrida dengan

mengkombinasikan teknologi elektronik dengan

teknologi fotonik, yaitu dengan mengembangkan

hubungan optik antara berbagai

electronic processor

,

(21)

Definisi Inteligensi buatan

“The exciting new effort to make computers think … machines with minds,in the full and literal sense” (Haugeland, 1985)

“[The automation of] activities that we associate with human thinking, activities such as decision making, problem solving, learning …”

(Bellman, 1978)

“The study of mental faculties through the use of computational models”

(Charniak and McDermott, 1985)

“The study of the computations that take it possible to perceive, reason, and act” (Winston, 1992)

“The exciting new effort to make computers think … machines with minds,in the full and literal sense” (Haugeland, 1985)

“[The automation of] activities that we associate with human thinking, activities such as decision making, problem solving, learning …”

(Bellman, 1978)

“The art of creating machines that perform functions that require intelligence when performed by people” (Kurzweil, 1990)

“The study of how to make

computers do things which, at the moment, people do better” (Rich and Knight, 1991).

A field of study that seeks to explain and emulate intelligent behavior in term of computational processes” (Schalkoff, 1990)

“The branch of computer science that is concerned with the

(22)

Prinsip AI :

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

Define the

“Process or Problem” Define

the

“Process or Problem”

Develop Alternative Courses of Action

Develop Alternative Courses of Action

Intelligence phase Intelligence phase

Modeling phase Modeling phase

Proses AI:

Act on it Act on it Review It

Review It Develop

Alternative Courses of Action

Develop Alternative Courses of Action

Select The “Best”

One Select The “Best”

(23)

Thinking Humanly

:

The cognitive modeling approach.

1.

Melalui introspeksi: mencoba menangkap

pemikiran-pemikiran kita sendiri pada saat kita

berpikir. Tetapi seorang psikolog Barat

mengatakan: “

how do you know that you

understand?

”. Bagaimana anda sadar bahwa

anda sedang sadar? Karena pada saat anda

menyadari pemikiran anda, ternyata pemikiran

tersebut sudah lewat dan digantikan kesadaran

anda.

2.

Melalui eksperimen-eksperimen psikologi.

Thinking Humanly

:

The cognitive modeling approach.

1.

Melalui introspeksi: mencoba menangkap

pemikiran-pemikiran kita sendiri pada saat kita

berpikir. Tetapi seorang psikolog Barat

mengatakan: “

how do you know that you

understand?

”. Bagaimana anda sadar bahwa

anda sedang sadar? Karena pada saat anda

menyadari pemikiran anda, ternyata pemikiran

tersebut sudah lewat dan digantikan kesadaran

anda.

(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)

TELL and ASK (Assertion and Queries)

Sentences are added to a KB using TELL :

TELL(KB, King(John)).

TELL(KB,

x King(x)

Person(x)).

We can ask questions of the KB using ASK :

ASK(KB, King(John)).

ASK(KB, Person(John)).

ASK(KB,

x Person(x)).

Sentences are added to a KB using TELL :

TELL(KB, King(John)).

TELL(KB,

x King(x)

Person(x)).

We can ask questions of the KB using ASK :

ASK(KB, King(John)).

ASK(KB, Person(John)).

(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)

A Knowledge-Based Agent

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

• A knowledge-base is a set of representations of what one knows about the world (objects and classes of objects, the fact about objects, relationships among objects, etc.)

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

representation language. • Examples of sentences

– The moon is made of green cheese – If A is true then B is true

– A is false

– All humans are mortal – Confucius is a human

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

• A knowledge-base is a set of representations of what one knows about the world (objects and classes of objects, the fact about objects, relationships among objects, etc.)

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

representation language. • Examples of sentences

– The moon is made of green cheese – If A is true then B is true

– A is false

(46)

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

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

1. It receives percepts from environment

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

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

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

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

1. It receives percepts from environment

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

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

(47)

Representation, Reasoning, and Logic

• The objective of knowledge representation is to express

knowledge in a computer-tractable form, so that agents can perform well.

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

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

– Its semantics determines the facts in the world to which the sentences refer (meaning of sentences)

• Each sentence makes a claim about the world.

– Its proof theory (inference rules and proof procedures) • The objective of knowledge representation is to express

knowledge in a computer-tractable form, so that agents can perform well.

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

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

– Its semantics determines the facts in the world to which the sentences refer (meaning of sentences)

• Each sentence makes a claim about the world.

(48)

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

(49)

Propositional Logic : Syntax

Symbols:

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

... conjunction (and) ... disjunction (or)

~ ... negation (not) => ... implication (if)

<=> ... logical equivalence (if and only if) Wrapping parentheses: ( … )

• A proposition (denoted by a proposition symbol) is a

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

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

Symbols:

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

... conjunction (and) ... disjunction (or)

~ ... negation (not) => ... implication (if)

<=> ... logical equivalence (if and only if) Wrapping parentheses: ( … )

• A proposition (denoted by a proposition symbol) is a

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

(50)

Sentence

1. T or F itself is a sentence

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

3. If S1 and S2 are sentences, so are

S1

S2, S1

S2, S1

=>

S2, S1

<=>

S2,

~

S1

Order of precedence of logical connectors

~

,

,

,

=>

,

<=>

• Minimum set of logical connectors

(

~

,

), or (

~

,

)

• Atomic sentences: T, F, P, Q, ...

• Literals: atomic sentences and their negations

Sentence

1. T or F itself is a sentence

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

3. If S1 and S2 are sentences, so are

S1

S2, S1

S2, S1

=>

S2, S1

<=>

S2,

~

S1

Order of precedence of logical connectors

~

,

,

,

=>

,

<=>

• Minimum set of logical connectors

(

~

,

), or (

~

,

)

• Atomic sentences: T, F, P, Q, ...

(51)

A BNF Grammar of Sentences in

Propositional Logic

S := <Sentence> ;

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

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

<ComplexSentence> := "(" <Sentence> ")" |

<Sentence> <Connective> <Sentence> | ~<Sentence> ;

<Connective> := | | => | <=> | Ex-OR;

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

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

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

<ComplexSentence> := "(" <Sentence> ")" |

<Sentence> <Connective> <Sentence> | ~<Sentence> ;

<Connective> := | | => | <=> | Ex-OR;

(52)

Examples of PL sentences

• P means "It is hot"

• Q means "It is humid"

• R means "It is raining"

• P ^ Q => R

"If it is hot and humid, then it is raining"

• Q => P

"If it is humid, then it is hot"

• Q

"It is humid."

• P means "It is hot"

• Q means "It is humid"

• R means "It is raining"

• P ^ Q => R

"If it is hot and humid, then it is raining"

• Q => P

"If it is humid, then it is hot"

• Q

(53)

Sound Inference Rules (deductive rules)

• Here are some examples of sound rules of inference.

• Each can be shown to be sound using a truth table

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

premise is true.

RULE

PREMISE

CONCLUSION

Modus Ponens

A, A => B

B

Modus Tollens ~B, A => B

~A

And Introduction

A, B

A ^ B

And Elimination

A ^ B

A

Or Introduction A A v B

Double Negation

~~A

A

Chaining

A => B, B => C

A => C

• Here are some examples of sound rules of inference.

• Each can be shown to be sound using a truth table

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

premise is true.

RULE

PREMISE

CONCLUSION

Modus Ponens

A, A => B

B

Modus Tollens ~B, A => B

~A

And Introduction

A, B

A ^ B

And Elimination

A ^ B

A

Or Introduction A A v B

Double Negation

~~A

A

(54)

Resolution rule

Unit Resolution A v B, ~A B

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

– Operates on two disjunctions of literals

– The pair of two opposite literals cancel each other, all other literals from the two disjuncts are combined to form a new disjunct as the inferred

sentence

– Resolution rule can replace all other inference rules Modusponens A, ~A v B B

Modustollens ~B, ~A v B ~A

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

k i k i k i

...

...

...

,

~

,

...

Then

literals.

be

...

,

,

...

Let

1 1 1 1 1 1

) ~ and (

Resolution rule

Unit Resolution A v B, ~A B

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

– Operates on two disjunctions of literals

– The pair of two opposite literals cancel each other, all other literals from the two disjuncts are combined to form a new disjunct as the inferred

sentence

– Resolution rule can replace all other inference rules Modusponens A, ~A v B B

Modustollens ~B, ~A v B ~A

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

) ~ and

(55)

• Bila dalam sebuah knowledge base (KB) diketahui terdapat

premise-premise sebagai berikut :

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

2. (P^Q)=>R Premise

“If it’s hot & humid, it’s raining”

Pertanyaan :

a.Buktikan bahwa hujan akan turun bila knowledge-based

agent Saudara menerima input bahwa cuaca sangat lembab !!.

Gunakan aturan inferensi yang telah Saudara pelajari.

b.Pertanyaan sama dengan (a) tetapi pembuktian menggunakan

teknik resolusi.

• Bila dalam sebuah knowledge base (KB) diketahui terdapat

premise-premise sebagai berikut :

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

2. (P^Q)=>R Premise

“If it’s hot & humid, it’s raining”

Pertanyaan :

a.Buktikan bahwa hujan akan turun bila knowledge-based

agent Saudara menerima input bahwa cuaca sangat lembab !!.

Gunakan aturan inferensi yang telah Saudara pelajari.

(56)

Proving things

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

inference.

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

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

• Example for the "weather problem" given before.

1 Q Premise “It is humid”

2 Q=>P Premise “if it is humid, then it is hot”

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

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

5 P^Q And Introduction(1) “It is hot and humid” • A proof is a sequence of sentences, where each sentence is

either a premise (also called an axiom) or a sentence derived from earlier sentences in the proof by one of the rules of

inference.

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

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

• Example for the "weather problem" given before.

1 Q Premise “It is humid”

2 Q=>P Premise “if it is humid, then it is hot”

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

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

(57)

Proof by resolution

Q ~Q v P ~P v ~Q v R premises

P

~Q v R

R 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

(58)

Normal forms of PL sentences

Disjunctive normal form (DNF)

– Any sentence can be written as a disjunction of conjunctions of literals.

– Examples: P ^ Q ^ ~R ; A^B v C^D v P^Q^R ; P • Conjunctive normal form (CNF)

– Any sentence can be written as a conjunction of disjunctions of literals.

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

• Normal forms can be obtained by applying equivalence laws :

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

~[~(A v B) v (C v D)] v P

[~~(A v B) ^ ~(C v D)] v P [(A v B)^(~C ^ ~D)] v P

[(A v B) v P] ^[(~C^~D ) v P] • Disjunctive normal form (DNF)

– Any sentence can be written as a disjunction of conjunctions of literals.

– Examples: P ^ Q ^ ~R ; A^B v C^D v P^Q^R ; P • Conjunctive normal form (CNF)

– Any sentence can be written as a conjunction of disjunctions of literals.

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

• Normal forms can be obtained by applying equivalence laws :

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

~[~(A v B) v (C v D)] v P

[~~(A v B) ^ ~(C v D)] v P [(A v B)^(~C ^ ~D)] v P

(59)

Weakness of PL

• Hard to identify "individuals." E.g., Mary

• Difficult to directly and clearly talk about properties of individuals or relations between individuals (hard to connect individuals to class properties).

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

• Generalizations, patterns, regularities can't easily be represented.

– All members of a class have this property – Some member of a class have this property • A better representation is needed to capture the

relationship (and distinction) between objects and classes, including properties belonging to classes and individuals • Hard to identify "individuals." E.g., Mary

• Difficult to directly and clearly talk about properties of individuals or relations between individuals (hard to connect individuals to class properties).

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

• Generalizations, patterns, regularities can't easily be represented.

– All members of a class have this property – Some member of a class have this property • A better representation is needed to capture the

(60)

Weakness of PL

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

expressive enough to concisely represent this kind of

situation by separating classes and individuals

– Explicit representation of individuals and classes, x,

Mary, 3, persons.

– Adds relations, variables, and quantifiers, e.g.,

“Every person is mortal”

For all X: person(X) => mortal(X)

“There is a white alligator”

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

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

expressive enough to concisely represent this kind of

situation by separating classes and individuals

– Explicit representation of individuals and classes, x,

Mary, 3, persons.

– Adds relations, variables, and quantifiers, e.g.,

“Every person is mortal”

For all X: person(X) => mortal(X)

“There is a white alligator”

(61)

First Order Predicate Logic (FOPL)

• First-order logic is used to model the world in terms of – objects which are things with individual identities.

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

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

human, mammal, machine, ...

relations that hold among objects. e.g., brother of, bigger than, outside, part of, has color, occurs after, owns, a member of, ...

functions which are a subset of the relations in which there is only one ``value'' for any given

``input''. e.g., father of, best friend, second half, one more than ...

• First-order logic is used to model the world in terms of – objects which are things with individual identities.

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

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

human, mammal, machine, ...

relations that hold among objects. e.g., brother of, bigger than, outside, part of, has color, occurs after, owns, a member of, ...

functions which are a subset of the relations in which there is only one ``value'' for any given

(62)

Syntax of FOPL

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

– P: predicate name; (x[1], ..., x[n]): argument list

– Examples: human(x), /* x is a human */ father(x, y) /* x is the father of y */

– When all arguments of a predicate is assigned values (said to be instantiated), the predicate becomes either true or false, i.e., it becomes a proposition. Ex. Father(Fred, Joe) – A predicate, like a membership function, defines a set (or a

class) of objects

Terms (arguments of predicates must be terms)

Constants are terms (e.g., Fred, a, Z, “red”, etc.) – Variables are terms (e.g., x, y, z, etc.), a variable is

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)), • Predicates: P(x[1], ..., x[n])

– P: predicate name; (x[1], ..., x[n]): argument list

– Examples: human(x), /* x is a human */ father(x, y) /* x is the father of y */

– When all arguments of a predicate is assigned values (said to be instantiated), the predicate becomes either true or false, i.e., it becomes a proposition. Ex. Father(Fred, Joe) – A predicate, like a membership function, defines a set (or a

class) of objects

Terms (arguments of predicates must be terms)

Constants are terms (e.g., Fred, a, Z, “red”, etc.) – Variables are terms (e.g., x, y, z, etc.), a variable is

(63)

Quantifiers

Universal quantification (or

for all

)

– (x)P(x) means that P holds for all values of x in the domain associated with that variable.

– E.g., (x) dolphin(x) => mammal(x)

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

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

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

“always”, etc. • Quantifiers

Universal quantification (or

for all

)

– (x)P(x) means that P holds for all values of x in the domain associated with that variable.

– E.g., (x) dolphin(x) => mammal(x)

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

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

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

(64)

Existential quantification 

– (x)P(x) means that P holds for some value(s) of x in

the domain associated with that variable. – E.g., (x) mammal(x) ^ lays-eggs(x)

(x) taller(x, Fred)

(x) UMBC-Student (x) ^ taller(x, Fred)

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

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

smart.)

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

(x) student(x) => smart(x)

– Often associated with English words “someone”,

Existential quantification 

– (x)P(x) means that P holds for some value(s) of x in

the domain associated with that variable. – E.g., (x) mammal(x) ^ lays-eggs(x)

(x) taller(x, Fred)

(x) UMBC-Student (x) ^ taller(x, Fred)

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

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

smart.)

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

(x) student(x) => smart(x)

(65)

Sentences are built from terms and atoms

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

• An atom (atomic sentence) is a predicate P(x[1], ..., x[n])

– Ground atom: all terms in its arguments are ground terms (does not involve variables)

– 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 sentence is an atom, or,

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

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

sentences

• A well-formed formula (wff) is a sentence containing no "free" variables. i.e., all variables are "bound" by universal or existential quantifiers.

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

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

• An atom (atomic sentence) is a predicate P(x[1], ..., x[n])

– Ground atom: all terms in its arguments are ground terms (does not involve variables)

– 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 sentence is an atom, or,

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

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

sentences

• A well-formed formula (wff) is a sentence containing no "free" variables. i.e., all variables are "bound" by universal or existential quantifiers.

(66)

A BNF for FOL Sentences

S := <Sentence> ;

<Sentence> := <AtomicSentence> |

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

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

<Term> := <Function> "(" <Term>, ... ")" | <Constant> |<Variable>;

<Connective> := ^ | v | => | <=>; <Quantifier> := | ;

<Constant> := "A" | "X1" | "John" | ... ; <Variable> := "a" | "x" | "s" | ... ;

<Predicate> := "Before" | "HasColor" | "Raining" | ... ; <Function> := "Mother" | "LeftLegOf" | ... ;

S := <Sentence> ;

<Sentence> := <AtomicSentence> |

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

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

<Term> := <Function> "(" <Term>, ... ")" | <Constant> |<Variable>;

<Connective> := ^ | v | => | <=>; <Quantifier> := | ;

<Constant> := "A" | "X1" | "John" | ... ; <Variable> := "a" | "x" | "s" | ... ;

(67)

Semua gajah adalah abu-abu :

x : gajah(x) warna(x,GRAY)

Seseorang menulis buku komputer catur :

x : menulis(x,COMPUTER-CHESS)

Setiap orang membenci seseorang :

xy : benci(x,y) sama dengan yx : benci(x,y) (ada y

dibenci setiap orang)

Semua siswa yang lulus suatu mata kuliah bergembira :

x[siswa(x)  y[matakuliah(y) lulus(x,y)] gembira(x)]

Seorang siswa yang tidak gembira tidak lulus semua mata kuliah yang diambilnya:

x[siswa(x) ¬gembira(x)  y[matakuliah(y) ¬lulus(x,y)]]

Contoh silogisme

Semua gajah adalah abu-abu :

x : gajah(x) warna(x,GRAY)

Seseorang menulis buku komputer catur :

x : menulis(x,COMPUTER-CHESS)

Setiap orang membenci seseorang :

xy : benci(x,y) sama dengan yx : benci(x,y) (ada y

dibenci setiap orang)

Semua siswa yang lulus suatu mata kuliah bergembira :

x[siswa(x)  y[matakuliah(y) lulus(x,y)] gembira(x)]

Seorang siswa yang tidak gembira tidak lulus semua mata kuliah yang diambilnya:

(68)

Perhatikan kalimat cerita “happy student” berikut ini :

Setiap orang yang lulus ujian matakuliah Intelijensia

Buatan(AI) dan memenangkan undian akan

berbahagia. Tetapi setiap orang yang belajar atau

beruntung akan dapat lulus dari seluruh

ujian-ujiannya. Ali tidak belajar tetapi dia beruntung. Setiap

orang yang beruntung akan memenangkan undian.

Apakah Ali berbahagia”

Pertanyaan :

a. Ubah kalimat di atas ke dalam bentuk logika

predikatif.

b. Buktikan dengan teknik resolusi bahwa Ali berbahagia.

Perhatikan kalimat cerita “happy student” berikut ini :

Setiap orang yang lulus ujian matakuliah Intelijensia

Buatan(AI) dan memenangkan undian akan

berbahagia. Tetapi setiap orang yang belajar atau

beruntung akan dapat lulus dari seluruh

ujian-ujiannya. Ali tidak belajar tetapi dia beruntung. Setiap

orang yang beruntung akan memenangkan undian.

Apakah Ali berbahagia”

Pertanyaan :

a. Ubah kalimat di atas ke dalam bentuk logika

predikatif.

(69)

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

- ¬lulus (x, AI) ¬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)

B. Bentuk klausa dari kalimat di atas

- ¬lulus (x, AI) ¬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)

(70)

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 ?

(71)

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

¬beruntung (u) menang (u, undian)

¬lulus (x, AI) ¬menang (x, undian) bahagia (x)

u/x

¬bahagia (Ali)

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

Ali/u

beruntung (Ali) beruntung (Ali)

¬lulus (Ali, AI)

¬beruntung (w) lulus (w, z)

¬beruntung (Ali) beruntung (Ali)

(72)

Teknik Pencarian

Sasaran :

Bagaimana membuat ruang masalah dapat

diselesai-kan dengan metode tertentu.

Sebagian masalah mempunyai ruang (space) yang

dapat diprediksi dan sebagian lainnya mungkin tidak

(pembuatan batasan masalah).

Sasaran :

Bagaimana membuat ruang masalah dapat

diselesai-kan dengan metode tertentu.

Sebagian masalah mempunyai ruang (space) yang

dapat diprediksi dan sebagian lainnya mungkin tidak

(pembuatan batasan masalah).

Identifikasi Teknik Pencarian :

1.

Pendefinisian masalah sebagai pencarian ruang

keadaan

(73)

1. Pendefinisian Masalah Sebagai

Pencarian Ruang Keadaan

Masalah utama :

• Bagaimana membangun sistem berbasis AI

• Bagaimana mengkonversikan situasi tertentu

diberikan ke dalam situasi lain yang diinginkan

menggunakan sekumpulan operasi tertentu.

Masalah utama :

• Bagaimana membangun sistem berbasis AI

• Bagaimana mengkonversikan situasi tertentu

(74)

Contoh :

A Water Jug Problem

Diberi dua buah wadah, ukuran X 4 galon dan Y

3 galon. Pompa digunakan untuk mengisi wadah

dengan air. Bagaimana mendapatkan tepat 2

galon air di dalam wadah Y?

Ruang keadaan untuk masalah di atas dapat

digambarkan sebagai himpunan pasangan

bilangan bulat (x,y) yang terurut, sedemikian

hingga x = 0, 1, 2, 3, atau 4 dan y = 0, 1, 2, atau

3; Keadaan mula-mula adalah (0,0).

State

tujuan

adalah (2,n) untuk setiap nilai n.

A Water Jug Problem

Diberi dua buah wadah, ukuran X 4 galon dan Y

3 galon. Pompa digunakan untuk mengisi wadah

dengan air. Bagaimana mendapatkan tepat 2

galon air di dalam wadah Y?

Ruang keadaan untuk masalah di atas dapat

digambarkan sebagai himpunan pasangan

bilangan bulat (x,y) yang terurut, sedemikian

(75)
(76)

Aturan-Aturan Produksi :

1. (x,y) If x < 4 → (4,y) Isi penuh wadah 4 galon 2. (x,y) If y < 3 → (x,3) Isi penuh wadah 3 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 5. (x,y) If x > 0 → (0,y) Kosongkan wadah 4 galon

6. (x,y) If y > 0 → (x,0) Kosongkan wadah 3 galon

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 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 9. (x,y) If x+y ≤ 4 and y>0,(x+y,0) Tuangkan seluruh air dari wadah 3

galon ke wadah 4 galon

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

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

12. (2,y),(0,y) Buang 2 galon dalam wadah 4 galon sampai habis. Aturan-Aturan Produksi :

1. (x,y) If x < 4 → (4,y) Isi penuh wadah 4 galon 2. (x,y) If y < 3 → (x,3) Isi penuh wadah 3 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 5. (x,y) If x > 0 → (0,y) Kosongkan wadah 4 galon

6. (x,y) If y > 0 → (x,0) Kosongkan wadah 3 galon

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 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 9. (x,y) If x+y ≤ 4 and y>0,(x+y,0) Tuangkan seluruh air dari wadah 3

galon ke wadah 4 galon

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

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

(77)

Jumlah galon

dalam gelas 4

galon

Jumlah galon

dalam gelas 3

galon

Aturan yang

dilakukan

0

0

3

3

4

0

2

0

3

0

3

2

2

0

-2

9

2

7

5 atau 12

9 atau 11

0

0

3

3

4

0

2

0

3

0

3

2

2

0

-2

9

2

7

(78)

2. Teknik pencarian untuk sistem produksi

Sistem produksi terdiri dari :

Himpunan aturan, masing-masing terdiri dari sisi kiri (pola) yang menentukan kemampuan aplikasi pada aturan tersebut dan sisi kanan yang menggambarkan operasi akan

dilewatkan jika aturan dilaksanakan.

• Satu atau lebih Knowledge pada Basis Data yang berisi

informasi untuk tugas tertentu dimana beberapa bagian basis data bisa permanen, sedangkan bagian yang lain hanya bisa sebagai solusi masalah saat ini (temporer). Informasi dalam basis data harus menurut standar basis data.

• Strategi kontrol yang menspesifikasikan urutan dimana

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

• A rule applier (pengaplikasi aturan). Sistem produksi terdiri dari :

Himpunan aturan, masing-masing terdiri dari sisi kiri (pola) yang menentukan kemampuan aplikasi pada aturan tersebut dan sisi kanan yang menggambarkan operasi akan

dilewatkan jika aturan dilaksanakan.

• Satu atau lebih Knowledge pada Basis Data yang berisi

informasi untuk tugas tertentu dimana beberapa bagian basis data bisa permanen, sedangkan bagian yang lain hanya bisa sebagai solusi masalah saat ini (temporer). Informasi dalam basis data harus menurut standar basis data.

• Strategi kontrol yang menspesifikasikan urutan dimana

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

(79)

Strategi Kontrol

Syarat-syarat strategi kontrol: • Cause Motion

Perhatikan kembali water jug problem. Implementasi strategi kontrol sederhana dengan memilih aturan pertama dari ke 12 daftar aturan yang telah dibuat, tidak akan pernah

memecahkan masalah. Strategi kontrol yang tidak

menyebabkan motion maka tidak akan pernah mencapai solusi.

Systematic

Strategi kontrol lain untuk water jug problem: setiap siklus, dengan memilih secara random aturan-aturan yang dapat

diaplikasikan yang dapat menyebabkan motion tetapi mungkin akan mengunjungi beberapa state yang sama selama proses tersebut mungkin menggunakan lebih banyak langkah dari jumlah langkah yang diperlukan. Hal ini disebabkan strategi

kontrol tersebut tidak sistematik. Beberapa strategi kontrol yang sistematik telah diusulkan, yang biasa disebut sebagai metoda-metoda dalam teknik searching.

Syarat-syarat strategi kontrol: • Cause Motion

Perhatikan kembali water jug problem. Implementasi strategi kontrol sederhana dengan memilih aturan pertama dari ke 12 daftar aturan yang telah dibuat, tidak akan pernah

memecahkan masalah. Strategi kontrol yang tidak

menyebabkan motion maka tidak akan pernah mencapai solusi.

Systematic

Strategi kontrol lain untuk water jug problem: setiap siklus, dengan memilih secara random aturan-aturan yang dapat

diaplikasikan yang dapat menyebabkan motion tetapi mungkin akan mengunjungi beberapa state yang sama selama proses tersebut mungkin menggunakan lebih banyak langkah dari jumlah langkah yang diperlukan. Hal ini disebabkan strategi

(80)

Terdapat delapan metoda pencarian yaitu :

1. Breadth First Search

2. Uniform Cost Search

3. Depth First Search

4. Depth-Limited Search

5. Iterative-Deepening Depth-First Search

6. Bi-directional search

7. Interpolation Search

8. Binary Search

Catatan : Setiap metoda mempunyai

karakteristik yang berbeda.

Terdapat delapan metoda pencarian yaitu :

1. Breadth First Search

2. Uniform Cost Search

3. Depth First Search

4. Depth-Limited Search

5. Iterative-Deepening Depth-First Search

6. Bi-directional search

7. Interpolation Search

8. Binary Search

(81)

Strategi Pencarian

Terdapat empat kriteria dalam strategi pencarian,

yaitu:

Completeness:

Apakah strategi tersebut

menjamin penemuan solusi jika solusinya

memang ada?

Time complexity:

Berapa lama waktu yang

diperlukan?

Space complexity:

Berapa banyak memori

yang diperlukan?

Optimality:

Apakah strategi ini menemukan

solusi terbaik jika terdapat beberapa solusi

berbeda pada permasalahan yang ada?

Terdapat empat kriteria dalam strategi pencarian,

yaitu:

Completeness:

Apakah strategi tersebut

menjamin penemuan solusi jika solusinya

memang ada?

Time complexity:

Berapa lama waktu yang

diperlukan?

Space complexity:

Berapa banyak memori

yang diperlukan?

(82)

Breadth-First Search (BFS)

Pencarian pada semua node dalam setiap level secara berurutan dari kiri ke kanan. Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya. Demikian seterusnya sampai ditemukan

solusi (Optimal). BFS menyimpan semua node yang pernah dibangkitkan untuk penelusuran balik jika solusi sudah ditemukan.

Sedangkan masalah Water Jug, pembangkitan suksesor dari suatu node bergantung pada urutan dari Aturan

Produksi yang dibuat Jika urutan dari aturan 4 ditukar dengan aturan 5, maka pohon BFS yang dibangkitkan juga akan berubah.

Pencarian pada semua node dalam setiap level secara berurutan dari kiri ke kanan. Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya. Demikian seterusnya sampai ditemukan

solusi (Optimal). BFS menyimpan semua node yang pernah dibangkitkan untuk penelusuran balik jika solusi sudah ditemukan.

Sedangkan masalah Water Jug, pembangkitan suksesor dari suatu node bergantung pada urutan dari Aturan

(83)
(84)

Uniform Cost Search (UCS)

Konsepnya hampir sama dengan BFS, bedanya

bahwa BFS menggunakan urutan level dari yang

paling rendah sampai paling tinggi. Sedangkan UCS

menggunakan harga terendah yang dihitung

berdasarkan harga dari node asal menuju ke node

tersebut dapat dilambangkan sebagai

g

(

n

)

. BFS

adalah juga UCS jika harga

g

(

n

) = DEPTH(

n

)

.

Syarat yang harus dipenuhi oleh pohon UCS:

g

(

SUCCESSOR

(

n

)) >=

g

(

n

)

utk setiap node

n

. Jika

syarat ini tidak dipenuhi maka UCS tidak bisa

dipakai.

Konsepnya hampir sama dengan BFS, bedanya

bahwa BFS menggunakan urutan level dari yang

paling rendah sampai paling tinggi. Sedangkan UCS

menggunakan harga terendah yang dihitung

berdasarkan harga dari node asal menuju ke node

tersebut dapat dilambangkan sebagai

g

(

n

)

. BFS

adalah juga UCS jika harga

g

(

n

) = DEPTH(

n

)

.

Syarat yang harus dipenuhi oleh pohon UCS:

g

(

SUCCESSOR

(

n

)) >=

g

(

n

)

utk setiap node

n

. Jika

syarat ini tidak dipenuhi maka UCS tidak bisa

(85)

Depth-First Search (DFS)

Pencarian pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam solusi belum ditemukan, maka

pencarian dilanjutkan pada node sebelah kanan. Node yang kiri

dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level

sebelumnya. Demikian seterusnya sampai ditemukan solusi. Jika solusi ditemukan maka tidak diperlukan proses backtracking

(penelusuran balik untuk mendapatkan jalur yang dinginkan).

Kelebihan DFS adalah:

• Pemakain memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan.

• Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.

Kelemahan DFS adalah:

• Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).

• Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk

menemukan solusi yang paling baik (Tidak Optimal).

Pencarian pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam solusi belum ditemukan, maka

pencarian dilanjutkan pada node sebelah kanan. Node yang kiri

dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level

sebelumnya. Demikian seterusnya sampai ditemukan solusi. Jika solusi ditemukan maka tidak diperlukan proses backtracking

(penelusuran balik untuk mendapatkan jalur yang dinginkan).

Kelebihan DFS adalah:

• Pemakain memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan.

• Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.

Kelemahan DFS adalah:

• Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).

• Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk

(86)

(0,0)

Depth-Limited Search (DLS)

Depth-Limited Search (DLS)

Mengatasi kelemahan DFS (tidak complete) dengan

membatasi kedalaman maksimum dari suatu jalur solusi. Tetapi harus diketahui atau ada batasan dari sistem

(87)

Iterative-Deepening Depth-First Search (IDS)

Merupakan metode yang berusaha menggabungkan

keuntungan BFS (

Complete

dan

Optimal

) dengan

keuntungan DFS (

Space Complexity

yang rendah).

Tetapi konsekuensinya adalah Time Complexitnya

menjadi tinggi. Perhatikan diagram berikut .

Pencarian dilakukan secara iteratif (menggunakan

penelusuran DFS) dimulai dari batasan level 1. Jika

belum ditemukan solusi, maka dilakukan iterasi ke-2

dengan batasan level 2. Demikian seterusnya

sampai ditemukan solusi. Jika solusi ditemukan

maka tidak diperlukan proses

backtracking

(penelusuran balik untuk mendapatkan jalur yang

dinginkan)

Pencarian dilakukan secara iteratif (menggunakan

penelusuran DFS) dimulai dari batasan level 1. Jika

belum ditemukan solusi, maka dilakukan iterasi ke-2

dengan batasan level 2. Demikian seterusnya

sampai ditemukan solusi. Jika solusi ditemukan

maka tidak diperlukan proses

backtracking

(88)
(89)

Bi-Directional Search

Pada setiap iterasi, pencarian dilakukan dari dua arah: dari node asal (start) dan dari node tujuan (goal). Ketika dua arah pencarian membangkitkan titik yang sama, maka solusi ditemukan dengan menggabungkan kedua jalur yang bertemu. Ada beberapa masalah sebelum

memustuskan untuk menggunakan strategi Bi-directional Search, yaitu:

• Bagaimana kalau terdapat beberapa node tujuan yang berbeda ?

• Terdapat perhitungan yang tidak efisien untuk selalu

Referensi

Dokumen terkait

Huruf yang sama diatas garis menunjukkan bahwa perlakuan tidak berbeda berpengaruhnya berdasarkan DMRT level 1% dan 5% Hasil analisa berat segar tanaman sawi (Gambar

Dari hasil penelitian yang diperoleh dan dibandingkan dengan teori pengendalian intern dapat dikatakan bahwa sistem dalam sistem penyetoran retribusi telah

tanaman, yaitu dengan mengajak anak menyiram dan merawat tanaman. c) Halaman TK PKK Marsudisiwi lebih asri dan rapi sehingga lebih nyaman. Sasaran Kegiatan :

Berdasarkan data tersebut ekstrak daun sirsak kebanyakan disari dengan penyari yang bersifat polar, dimungkinkan fraksi polar dari ekstrak daun sirsak terdapat senyawa kimia

Pada bagian bottom-up atau analisis sistem yang ada, sistem yang ada dianalisis dan dipilih sebagai calon yang layak untuk menyediakan solusi biaya yang lebih

Barang siapa dengan maksud untuk menguntungkan diri sendiri atau orang lain secara melawa hukum dengan mengaku atau memakai nama usaha kecil sehingga memperoleh

Hasil penelitian menunjukkan bahwa peranan Badan Kepegawaian Pendidikan dan Pelatihan Daerah (BKPPD) dalam rekruitmen pegawai negeri sipil di Kabupaten Luwu Timur dalam proses