Anda di halaman 1dari 100

Kecerdasan

Buatan
Kelompok 5
Point of Discussion
1. Propositional Versus First-Order Inference -> Ahmad Zaki Mubarrak

2. Unification And Lifting -> Fhanya Nabilalina

3. Forward & Backward Chaining -> Muhammad Zainal Muttaqin

4. Resolution -> Muhammad Farid Ilham

5. Summary, Bibliographical and Historical Notes, Exercises -> Midfai Yabani

6. Definition of Classical Planning -> Ardi Wibowo

7. Algorithms For Planning As State Space Search -> Muhammad Alfitrian Ananda

8. Planning Graphs -> Gina Rachima Kesoema Putri

9. Other Classical Planning Approaches -> Ahmad Julianoor

10. Analysis of Planning Approaches -> Ghisca Nur Arifa

11. Summary, Bibliographical and Historical Notes, Exercises -> Ayu Nurmala
Propositional
vs.
First-Order
01
Inference
You could enter a subtitle
here if you need it
Proposotional
Definisi Proposisi

Merupakan suatu kalimat deklaratif yang bernilai benar atau salah, tetapi tidak bernilai
keduanya.

Dapat disimpulkan bahwa proposisi itu :


- Tidak mengandung perdebatan
- Bukan merupakan kalimat perintah
- Bukan merupakan kalimat tanya
Nilai kebenaran yang mungkin untuk suatu proposisi, ada 2 yaitu :

- Benar, dapat pula ditulis B, T, True, 1


- Salah, dapat pula ditulis S, F, false, 0

Proposisi sederhana biasanya ditulis dengan huruf p, q, r, s


a. Konjungsi / dan / ∧

Misalnya p dan q adalah proposisi, konjungsi “p dan q” adalah proposisi yang


bernilai benar, jika nilai p dan q keduanya benar, jika lainnya pasti salah.
Dilambangkan dengan p ∧ q

Contoh
1) 10 adalah bilangan genap dan 2 adalah bilangan prima (B)
2) 3 adalah bilangan ganjil dan 2 > 5 (S)
b. Disjungsi / atau / V

Misalnya p dan q adalah proposisi, disjungsi “p atau q” adalah proposisi yang


bernilai salah, jika nilai p dan q keduanya salah, jika lainnya pasti benar.
Dilambangkan dengan p V q

Contoh
1) 2 + 3 = 5 atau 2 adalah bilangan ganjil (B)
2) 4 adalah bilangan prima atau 9 adalah 2 kuadrat (S)
c. Implikasi / maka / →

Misalnya p dan q adalah proposisi, Implikasi “p maka q” adalah proposisi yang


bernilai salah, jika nilai p bernilai benar dan q bernilai salah, dan jika lainnya pasti
benar.
Dilambangkan dengan p → q

Contoh
1) 2 + 3 = 5 maka 2 adalah bilangan genap (B)
2) 3 adalah bilangan prima maka 2 adalah bilangan ganjil (S)
d. Biimplikasi / Jika dan Hanya Jika / ↔

Misalnya p dan q adalah proposisi, biimplikasi “p jika dan hanya jika q” adalah
proposisi yang bernilai benar, jika nilai p dan q bernilai benar atau nilai p dan q
bernilai salah, dan jika lainnya pasti salah.
Dilambangkan dengan p ↔ q

Contoh
1) 4 : 2 maka 1 jika dan hanya jika 5 bilangan genap (B)
2) 3 adalah bilangan prima maka 2 adalah bilangan ganjil (S)
e. Negasi / Bukan / ~

Misalnya p adalah proposisi, Negasi “ini bukan p” adalah proposisi yang lain,
disebut negasi dari p diberi simbol ~p dan dibaca “bukan p”

Contoh
1) Negasi dari kalimat “Jika dia makan, maka dia kenyang”, adalah “Dia
makan, dan dia tidak kenyang”
Misal :
P : “hari ini panas”
Q : “hari ini cerah”

Tentukan nilai
kebenaran dari
First-Order
Inference
Apa itu Inferensi ?

Inferensi adalah suatu tindakan/proses untuk mendapatkan kesimpulan berdasarkan apa


yang sudah diketahui/diasumsikan.

Contoh logika Inferensi :

Iwan melihat asap mengebul dari ruang dapur dan mencium bau gosong.
Iwan menyimpulkan bahwa ada yang terbakar di dapur.
Logika Orde Pertama
(First-Order Logic)

.
Kalimat-kalimat dalam first-order-logic dibuat dengan format P( X, Y). P adalah predikat dan
X adalah subjek. Y adalah objek, yang merupakan variabel yang opsional.

Contoh kalimatnya adalah sebagai berikut:

Kalimat asli: James makan apel.

Kalimat FOL: makan(James, apel)


Kalimat FOL dapat juga diberikan kuantor dan tanda-tanda logika lain, seperti berikut:

Kalimat asli: James suka daging dan Daisy suka sayur.

Kalimat FOL: suka(James, daging) ^ suka(Daisy, sayur)

Dalam first-order logic, setiap pernyataan dianggap memiliki predikat. Predikat itu dapat
menghubungkan pernyataan yang satu dengan yang lain.
Inferensi pada FOL

Hukum Pernikahan
- Wati menikah dengan Andi
- Wati anak kandung Budi
- Budi Saudara Kembar Andi
- Buktikan bahwa pernikahan Andi dan Wati tidak sah!

Langkah-langkah:
- Buat kalimat-kalimat dalam First Order (Predicate) Logic,
berdasarkan pengetahuan awal yang diberikan
- Gunakan aturan inferensi untuk membuat kalimat baru
sampai diperoleh kesimpulan.
Membangun Kalimat Awal

1: Menikah(Andi, Wati)

2: AnakKandung(Wati, Budi)

3: SaudaraKembar(Budi, Andi)

4: ∀x,y SaudaraKembar(x,y) ⇒ SaudaraKandung (y,x)

5: ∀x,y,z AnakKandung(x,y) ^ SaudaraKandung (y,z) ⇒Keponakan(x,z)


Proses Inferensi

6: SaudaraKembar(Budi, Andi) ⇒ SaudaraKandung (Budi, Andi)

7: SaudaraKandung(Budi, Andi)

8: AnakKandung(Wati, Budi) ^ SaudaraKandung(Budi, Andi) ⇒ Keponakan(wati, Andi)

9: AnakKandung(Wati, Budi) ^ SaudaraKandung(Budi, Andi)

10: Keponakan(Wati, Andi)

11: Keponakan(Wati, Andi ) ^ Menikah (Andi,Wati) ⇒ ~Sah(Menikah(Andi,Wati))

12: Keponakan(Wati, Andi) ^ Menikah (Andi, Wati)

13: ~Sah(Menikah(Andi, Wati))


Unification
and Lifting
02
Kondisi Unifikasi
Unifikasi akan berhasil jika memenuhi kondisi-kondisi berikut:
1. Simbol Predikat harus sama
contoh:
UNIFY(Knows(Loid,y), Knows(x,Yor)) = unified successfully
UNIFY(Knows(Loid,y), Wife(x,Yor) = fail
2. Jumlah argument di kedua ekspresi harus serupa
contoh:
UNIFY(Hate(Westalis,x),Hate(y,Ostania)) = unified successfully
UNIFY(Hate(Westalis,x),Hate(y)) = fail
3. Unifikasi akan gagal jika terdapat dua variabel serupa di dalam sebuah ekspresi yang sama
contoh:
UNIFY(Knows(Anya,x),Knows(y,Damian) = unified successfully
UNIFY(Knows(Anya,x),Knows(x,Damian)) = fail
Algorithm: Unify(Ψ1, Ψ2)
Step. 1: If Ψ1 or Ψ2 is a variable or constant, then:
a) If Ψ1 or Ψ2 are identical, then return NIL.
b) Else if Ψ1 is a variable,
a. then if Ψ1 occurs in Ψ2, then return FAILURE
b. Else return { (Ψ2/ Ψ1)}.
c) Else if Ψ2 is a variable,
a. If Ψ2 occurs in Ψ1 then return FAILURE,
b. Else return {( Ψ1 / Ψ2)}.
d) Else return FAILURE.
Step.2: If the initial Predicate symbol in Ψ1 and Ψ2 are not same, then return FAILURE.
Step. 3: IF Ψ1 and Ψ2 have a different number of arguments, then return FAILURE.
Step. 4: Set Substitution set(SUBST) to NIL.
Step. 5: For i=1 to the number of elements in Ψ1.
a) Call Unify function with the ith element of Ψ1 and ith element of Ψ2, and put the result into S.
b) If S = failure then returns Failure
c) If S ≠ NIL then do,
a. Apply S to the remainder of both L1 and L2.
b. SUBST= APPEND(S, SUBST).
Step.6: Return SUBST.
Contoh
KODING JAVA

Contoh Kodingan Unification Algorithm pada bahasa Java bisa dilihat disini :
https://github.com/HeshamAlassaf/UnificationAlgorithmJava/blob/master/
UnifyClass.java

Contoh implementasi Kodingan Unification Algorithm pada bahasa Java bisa


dilihat disini:
https://github.com/HeshamAlassaf/UnificationAlgorithmJava/blob/master/
README.md
Output Kodingan
Unification
Algorithm di Java
yang berhasil di
unifikasi
Output Kodingan Unification Algorithm di Java yang fail
03
Forward
& Backward
Chaining
● Mulai dari Fakta.
● Terapkan Aturan untuk menemukan
Forward
semua kesimpulan yang Chaining/
memungkinkan. Forward
● Data ⇒ Tujuan/Kesimpulan.
● Data-Driven. Reasoning
Forward
Chaining/Forward
Reasoning
Data-Driven

Pelacakan maju adalah Pendekatan yang dimotori


data(data-driven). Dalam pendekatan ini pelacakan dimulai dari
informasi masukan dan selanjutnya mencoba menggambarkan
Kesimpulan. Pelacakan Maju itu mencari fakta yang sesuai
dengan bagian IF dari aturan IF-THEN.
● Mulai dari Kesimpulan yang
Backward
diinginkan
Chaining/ ● Bekerja Mundur untuk menemukan
Backward Fakta Pendukung
Reasoning ● Data ⇐ Tujuan/Kesimpulan.
● Goal Driven.
Backward
Chaining/Backward
Reasoning
Goal-Driven
Pelacakan mundur adalah pendekatan yang dimotori oleh
tujuan(goal-driven). Dalam pendekatan ini pelacakan dimulai dari
tujuan, selanjutnya dicari aturan yang memiliki tujuan tersebut
untuk kesimpulannya. Selanjutnya proses pelacakan menggunakan
premis untuk aturan tersebut sebagai tujuan baru dan mencari
aturan lain dengan tujuan baru sebagai kesimpulannya. Proses
berlanjut sampai semua kemungkinan ditemukan.

Faktor yang mempengaruhi pemilihan


metode penalaran :
● JIka Jumlah keadaaan awal lebih kecil daripada tujuan, maka
digunakan penalaran forward.
● Jika Jumlah tujuan lebih kecil daripada keadaan awal, maka
digunakan penalaran backward.
● Bentuk kejadian yang akan memicu penyelesaian masalah. Jika
kejadian itu berupa fakta baru, maka lebih baik menggunakan
penalaran forward. Namun jika kejadian itu berupa query, maka
lebih baik menggunakan penalaran backward.
Contoh
Resolution 04
Resolution

Resolution is a theorem proving technique that proceeds by building refutation proofs, i.e.,
proofs by contradictions. It was invented by a Mathematician John Alan Robinson in the year
1965.

Resolution is used, if there are various statements are given, and we need to prove a
conclusion of those statements. Unification is a key concept in proofs by resolutions.
Resolution is a single inference rule which can efficiently operate on the conjunctive normal
form or clausal form.
The Resolution Inference Rule

The resolution rule for first-order logic is simply a lifted version of the propositional rule.
Resolution can resolve two clauses if they contain complementary literals, which are assumed
to be standardized apart so that they share no variables.

Where li and mj are complementary literals.

This rule is also called the binary resolution rule because it only resolves exactly two literals.
Example:
We can resolve two clauses which are given below:

[Animal (g(x) V Loves (f(x), x)] and [¬ Loves(a, b) V ¬Kills(a, b)]

Where two complimentary literals are: Loves (f(x), x) and ¬ Loves (a, b)

These literals can be unified with unifier θ= [a/f(x), and b/x] , and it will
generate a resolvent clause:

[Animal (g(x) V ¬ Kills(f(x), x)].


Steps For Resolution

1. Conversion of facts into first-order logic.


2. Convert FOL statements into CNF
3. Negate the statement which needs to prove (proof by contradiction)
4. Draw resolution graph (unification).
Step-2: Conversion of FOL into CNF
Step-2: Conversion of FOL into CNF
Step-2: Conversion of FOL into CNF
Step-4 : Draw Resolution graph
● In the first step of resolution graph, ¬likes(John, Peanuts) , and
likes(John, x) get resolved(canceled) by substitution of {Peanuts/x},
and we are left with ¬ food(Peanuts)
● In the second step of the resolution graph, ¬ food(Peanuts) , and
food(z) get resolved (canceled) by substitution of { Peanuts/z}, and
we are left with ¬ eats(y, Peanuts) V killed(y).
● In the third step of the resolution graph, ¬ eats(y, Peanuts) and
eats (Anil, Peanuts) get resolved by substitution {Anil/y}, and we
are left with Killed(Anil) .
● In the fourth step of the resolution graph, Killed(Anil) and ¬
killed(k) get resolve by substitution {Anil/k}, and we are left with ¬
alive(Anil) .
● In the last step of the resolution graph ¬ alive(Anil) and alive(Anil)
get resolved.
Summary and
Bibliographical
05
Summary
1. Pendekatan pertama menggunakan Inference rules untuk memproposisi masalah pada inference. Namun pada pendekatan ini
umumnya lambat kecuali pada domain yang kecil.
2. Unifikasi digunakan untuk mengidentifikasi subtitusi yang sesuai untuk bisa mengeleminasi Langkah pada first-order proofs,
sehingga proses bisa berjalan dengan lebih efisien.
3. Pada versi Modus Ponen yang diangkat menggunakan unifikasi untuk menyediakan sebuah aturan inference yang alami dan
kuat.
4. Forward chaining digunakan dalam database deduktif, dimana dapat dikombinasikan dengan operasi database relasional.
5. Backward chaining digunakan dalam sistem pemrograman logika, yang menggunakan teknologi kompiler canggih untuk
memberikan inferensi yang sangat cepat.
6. Prolog, tidak seperti first order logic, menggunakan dunia tertutup dengan asumsi nama unik dan negasi sebagai kegagalan. Ini
membuat Prolog menjadi bahasa pemrograman yang lebih praktis, tapi membuatnya lebih jauh dari logika murni.
7. Aturan inferensi resolusi umum menyediakan sistem bukti lengkap untuk logika orde pertama, menggunakan basis
pengetahuan dalam bentuk normal konjungtif.
8. Untuk mengurangi ruang penyimpanan Ada beberapa strategi yang bisa digunakan sehingga tidak perlu mengorbankan
kelengkapan. Salah satu isu yang sangat diperhatikan adalah equality; menunjukkan bagaimana demodulasi dan paramodulasi
dapat digunakan.
Bibliographical
Stuart J. Russell and Peter Norvig, Artificial Intelligence A Modern
Approach Third Edition.

Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Adaptive


Computation and Machine Learning series deep learning
Classical Planning
Definition of
Classical
Planning
06
Classical Planning (Perencanaan klasik) adalah masalah
menemukan urutan tindakan yang memetakan, diberikan
keadaan awal (state) ke keadaan tujuan (goal state), di mana
lingkungan dan tindakan bersifat deterministik.
Planning Systems (Sistem perencanaan) adalah algoritma
pemecahan masalah yang beroperasi pada proposisional
eksplisit atau representasi relasional dari keadaan dan
tindakan. Representasi ini memungkinkan derivasi heuristik
yang efektif dan pengembangan algoritma yang kuat dan
fleksibel untuk memecahkan masalah.
Pada classical planning menggunakan bahasa PDDL (Planning Domain Definition Language)
artinya Bahasa Definisi Domain Perencanaan, yaitu bahasa yang, menjelaskan status awal dan
tujuan sebagai konjungsi literal, dan tindakan dalam hal prasyarat dan efeknya.

PDDL menjelaskan empat hal yang dibutuhkan untuk mendefinisikan masalah pencarian,
yaitu :
a. the initial state (keadaan awal),
b. the actions that are available in a state (tindakan yang tersedia dalam keadaan),
c. the result of applying an action (hasil penerapan tindakan),
d. the goal test (tes tujuan).
Contoh bahasa PDDL
The complexity of classical planning.
(Kompleksitas perencanaan klasik)
Dalam subbagian ini tentang mempertimbangkan kompleksitas teoritis
perencanaan dan membedakan masalah keputusan.

Bounded PlanSAT
PlanSAT berarti artinya menanyakan
pertanyaan apakah ada apakah ada solusinya,
rencana yang sehingga dapat
memecahkan masalah digunakan untuk
perencanaan. menemukan rencana
yang optimal.
STATE-SPACE
SEARCH
07
Algorithms For Planning As State Space Search
Kelebihan dan kekurangan
Kelebihan Kekurangan

1. menelusuri semua kemungkinan 1. You can not evaluate all states of the
penyebab dan kemudian menemukan problem.
state tujuan.
2. The combinational state space
2. Algoritma menemukan urutan dan finding through the computer-based
jalur yang tepat untuk mencapai state space search is complex.
keadaan tujuan.

3. if the result and the goal state finding


are not possible, the sequence
finding is also possible. Only the
algorithm requires an initial startup
place and expected goal state.
Formulasi permasalahan dengan
State-Space Search
Komponen state array secara berurutan: serigala, domba, kol, pengelana
Planning
Graphs
08
It is important to note that the process of constructing the planning graph does not
require choosing among actions, which would entail combinatorial search. Instead, it
just records the impossibility of certain choices using mutex links.
MUTUALLY EXCLUSIVE (MUTEX) ACTIONS

We now define mutex links for both actions and


literals. A mutex relation holds between two actions
at a given level if any of the following three
conditions holds :
- Inconsistent effects : one action negates an
effect of the other
- Interference : one of the effects of one action is
the negation of a precondition of the other
- Competing needs : one of the preconditions of
one action is mutually exclusive with a
precondition of the other
MUTUALLY EXCLUSIVE (MUTEX)
PROPOSITIONS

A mutex relation holds between two literals


at the same level if :
- Negation : one is the negation of the
other
- Inconsistent support : each possible
pair of actions that could achieve the
two literals is mutually exclusive
The GRAPHPLAN algorithm
The first line of GRAPHPLAN initializes the planning graph to a one-level (S0) graph
representing the initial state
09
Other Classical Planning Approaches
Boolean Satisfiability (B - SAT)
Boolean Formula : 1. Variabel A, B, C memiliki nilai 1 jika true dan 0 jika false.
2. “Not”. Contohnya, apabila A bernilai true, maka nilai B
adalah false, begitu juga sebaliknya.
3. “And” (A B)
➔ false and false = false
➔ false and true = false
➔ true and false = false
➔ true and true = true
4. “Or” (A B)
➔ false Or false = false
➔ false Or true = true
➔ true Or false = true
➔ true Or true = true
Analysis of
Planning
Approaches
10
ANALYSIS OF PLANNING APPROACHES
Planning (perencanaan) menggabungkan dari dua area penting dari AI, yakni search
dan logic. Planner (perencana) dapat dilihat sebagai program yang mencari sebuah solusi,
juga sebagai pembuktian dari eksistensi sebuah solusi secara konstruktif. Ide-ide
cross-fertilization yang berasal dari dua area tadi membawa peningkatan kinerja beberapa
kali lipat dalam dekade terakhir dan penggunaan planner-planner pada aplikasi-aplikasi
industri pun meningkat.

Dalam pemecahan sebuah masalah, terkadang bisa dipecahkan dengan mengenali


interaksi negatif yang dapat dikesampingkan. Bisa dikatakan masalah tersebut memiliki
subgoals yang bisa diserialkan (serializable subgoals) jika terdapat sebuah order dari
subgoals seperti planner yang bisa dicapai dalam order tersebut tanpa harus
mengembalikan subgoals yang telah dicapai sebelumnya.
Contoh Serializable Subgoals antara lain :

1. Pada dunia blocks (world blocks), jika goalnya untuk membangun sebuah menara ( misal,
A di atas B, yang selanjutnya disusun di atas C, lalu disusun ke atas meja), maka
subgoalsnya bisa diserialkan dari bawah sampai atas (bottom to top). Apabila yang
pertama kali dicapai adalah C di atas meja, maka tidak perlu dibatalkan saat sedang
mencapai subgoals yang lain. Planner yang menggunakan trik bottom-to-top bisa
menyelesaikan permasalahan yang ada di dunia blocks tanpa harus backtracking.
2. Remote Agen planner yang dikomando oleh pesawat luar angkasa Deep Space One NASA,
telah ditetapkan bahwa proposisi-proposisi yang terlibat bisa diserialkan (serializable).
Sebab, sebuah pesawat luar angkasa didesain oleh para engineer agar mudah dikendalikan
(subject to other constraints). Dengan mengambil keuntungan dari goals yang diurutkan
secara serialized, Remote Agent planner bisa mengeliminasi banyak pencarian, yang artinya
cukup cepat untuk mengendalikan pesawat luar angkasa secara real time (yang mana
sebelumnya merupakan sesuatu yang tidak mungkin dipertimbangkan).

Planners seperti GRAPHLAN, SATPLAN, dan FF telah memajukan ranah planning, dengan
meningkatkan level kinerja dari sistem planning, dengan mengklarifikasikan representasi dan
kombinatorial, dan dengan mengembangkan heuristic yang bermanfaat.
Summary and
Bibliographical
11
Summary
1. Planning System (Sistem Perencanaan) adalah algoritma penyelesaian masalah yang beroperasi pada proposisional eksplisit
atau representasi relasional dari keadaan dan tindakan. Representasi tersebut memungkinkan derivasi heuristik yang efektif
dan pengembangan algoritma yang kuat dan fleksibel untuk memecahkan masalah.
2. PDLL, the Planning Domain Definition Language (Bahasa Definisi Domain Perencanaan), Menggambarkan keadaan awal dan
tujuan sebagai konjungsi literal, dan tindakan dalam hal prasyarat dan efeknya.
3. State-space search dapat beroperasi pada forward direction (progression) atau backward direction (progression). Heuristic yang
efektif dapat diturunkan dengan asumsi independensi sub-tujuan dan dengan berbagai relaksasi dari perencanaan masalah.
4. Sebuah planning graph dapat dibangun secara bertahap, mulai dari initial state (keadaan awal). Setiap layer berisi superset
dari semua literal atau tindakan yang dapat terjadi pada langkah waktu tersebut dan mengkodekan relasi mutual exclusion
(mutex) di antara literal atau tindakan yang tidak dapat terjadi bersamaan. Planning graph menghasilkan heuristik yang
berguna untuk perencanaan state-space dan partial-order, dan dapat digunakan secara langsung dalam algoritma GRAPHPLAN.
5. Pendekatan lainnya termasuk first-order deduction terhadap situasi calculus axioms; mengkodekan sebuah planning problem
sebagai Boolean satisfiability problem atau sebagai constraint satisfaction problem; dan secara eksplisit mencari melalui space
of partially ordered plans.
6. Masing-masing pendekatan utama untuk planning memiliki penganutnya masing-masing, dan belum ada consensus tentang
mana yang terbaik. Persaingan dan fertilisasi silang di antara pendekatan telah menghasilkan keuntungan yang signifikan
dalam efisiensi untuk sistem perencanaan (planning system).
THANKS!
Do you have any questions?

If ( question <= 3 ){
Break;
}

Anda mungkin juga menyukai