“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
Artificial Intelligence
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.
Perbandingan Kecerdasan Buatan (AI) dengan Kecerdasan Manusia
• AI Lebih Bersifat Parmanen
• AI Mudah Digandakan / Disebarluaskan • AI Dapat Lebih Murah
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
SISTEM PAKAR
Sistem Yang Meniru Kepakaran (Keahlian) Seseorang
Dalam Bidang Tertentu
Robot merupakan peranti elektronik yang dapat
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
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
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
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
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
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
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
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 :
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
ASPEK ARTIFICIAL INTELIGENCIA
• Manusia punya kapasitas mental, pikiran dalam setiaprekayasa
• 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
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
,
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
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”
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.
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)).
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
• 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).
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.
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
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.
•
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, ...
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;
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
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
• 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
• 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.
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”
•
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
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
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
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”
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
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
• 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”,
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)
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.
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" | ... ;
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 :
xy : benci(x,y) sama dengan yx : 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 :
xy : benci(x,y) sama dengan yx : 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:
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.
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)
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 ?
¬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)
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
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
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
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
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
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.
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
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
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?
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
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
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
(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
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
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