Anda di halaman 1dari 70

TEKNIK INFORMATIKA

UNIVERSITAS WIJAYA PUTRA


Proses pemecahan masalah pada Kecerdasan Buatan

• Searching : proses pemecahan masalah dengan menentukan


kemungkinan urutan tindakan yang dapat dilakukan untuk
menyelesaikan suatu kasus.
• Reasoning
• Planning
• Learning
PROBLEM-SOLVING AGENTS
Simple Reflex Agents VS Goal-based Agents

Simple Reflex Agents


❖memetakan setiap percepts (rangsangan) dengan action (tindakan/respon)
satu per satu
❖menghabiskan banyak memori untuk menyimpan semua aturan tsb sehingga
tidak fleksibel

Goal-based Agents
❖mempertimbangkan tindakan dalam jangka panjang dan outcome apa yg akan
dicapai
❖dapat dilatih dan dapat beradaptasi pada lingkungan yang berubah
2 Jenis Goal-based Agents

Problem Solving Agents


❖menganggap setiap state dalam masalah adalah dalam satu kesatuan bagian
yang tidak terpisahkan

Planning Agents
❖membagi setiap state menjadi beberapa variabel dan mendefinisikan
hubungan antar variabel
Problem-Solving
• Masalahnya adalah
melakukan perjalanan
dari Arad ke Bukares
dalam satu hari.
• Agen bertujuan untuk
mencapai Bukares
keesokan harinya.
• Tindakan yang tidak
membuat agen
mencapai Bukares tepat
waktu dapat ditolak
tanpa pertimbangan
lebih lanjut, sehingga
masalah pengambilan
keputusan agen dapat
disederhanakan.
FORMULATING PROBLEMS
Problem Definition and Simulation

❖Ada 4 hal yang harus disusun untuk merumuskan masalah dengan


benar:

❖Initial state (Keadaan awal): kondisi awal si agen


❖The set of possible action (Operator): deskripsi serangkaian tindakan yang
dapat dilakukan untuk mencapai tujuan
❖The goal-test (Pengujian Tujuan): pengecekan apakah agen sudah sampai
tujuan
❖Path-cost (Fungsi biaya): fungsi yang membebankan biaya pada suatu jalur.
Fungsi biaya sering dilambangkan dengan f(g)
Problem Definition and Simulation

❖Sebelum kita melompat untuk mencari algoritma untuk mengevaluasi


masalah dan mencari solusinya, pertama-tama kita perlu
mendefinisikan dan merumuskan masalah.
❖Perumusan masalah : memutuskan tindakan dan keadaan apa yang
akan dilakukan untuk mencapai tujuan.
❖Misalnya, jika rumusan aksi yang dilakukan berada pada tingkat
"gerakkan kaki kiri sejauh satu inci" atau "putar setir 1 derajat ke kiri",
akan ada terlalu banyak langkah bagi agen untuk meninggalkan tempat
parkir, apalagi ke Bukares.
❖Secara umum, kita perlu mengabstraksi secara jelas dan sederhana
detail keadaan dari representasi.
Problem Definition and Simulation

❖Keadaan awal agen:


❖pada kasus ini, keadaan awal adalah: berada di Arad
❖Dapat disimbolkan seperti → (In: Arad)
❖Tindakan yang mungkin tersedia untuk agen, sesuai dengan masing-
masing negara tempat agen berada.
❖Misalnya:
ACTIONS (In: Arad) = {Go: Sibiu, Go: Timisoara, Go: Zerind}
Problem Definition and Simulation

❖Model transisi menjelaskan apa yang dilakukan setiap tindakan.


❖Mari kita wakili dengan RESULT (s, a) di mana:
❖s : keadaan saat ini
❖a : tindakan yang dilakukan oleh agen.
❖Dalam contoh ini → RESULT (In: Arad, Go: Zerind) = In: Zerind.

❖Tes tujuan, menentukan apakah keadaan saat ini adalah keadaan


tujuan.
❖Di sini, negara bagian tujuannya adalah {In: Bucharest}
Problem Definition and Simulation

❖Fungsi biaya jalur, yang menentukan biaya setiap jalur, yang tercermin
dalam ukuran kinerja.
❖Untuk agen yang mencoba mencapai Bukares, waktu sangatlah
penting, jadi kita dapat mengatur fungsi biaya menjadi jarak antar
tempat. (Di sini, kami mengabaikan faktor lain yang mempengaruhi
waktu tempuh).
❖Kita mendefinisikan fungsi biaya sebagai c (s, a, s '), di mana:
❖s : keadaan saat ini
❖a : tindakan yang dilakukan oleh agen untuk mencapai keadaan s’
❖s’: keadaan setelah dilakukan aksi
Example Problems
• The 8-puzzle
• Initial state: deskripsi keadaan menentukan
lokasi masing-masing dari delapan ubin di
salah satu dari sembilan kotak.
• Operator: kotak kosong bergerak ke kiri,
kanan, atas, atau bawah.
• Tes tujuan: keadaan cocok dengan
konfigurasi tujuan yang ditunjukkan pada
Gambar Goal State
• Biaya jalur: setiap langkah bernilai 1, jadi
biaya jalur hanyalah panjang jalur (seberapa
banyak melangkah)
Example Problems
• Missionaries & Cannibals
• Initial state: state terdiri dari urutan tiga angka yang
mewakili jumlah misionaris, kanibal, dan perahu di tepi
sungai dari mana mereka mulai. Jadi, keadaan awal
adalah (3,3,1).
• Operator: operator yang mungkin adalah mengambil
salah satu misionaris, satu kanibal, dua misionaris, dua
kanibal, atau salah satu dari masing-masing
menyeberang di dalam perahu, dll. Terdapat sekitar 27
operator pada kasus ini.
• Tes tujuan: mencapai status (0,0,0).
• Biaya jalur: jumlah penyeberangan, setiap
penyeberangan bernilai 1
Example Problems
Masalah Jurigen Air
Bagaimana mendapatkan tepat 2 galon air di dalam jurigen berukuran 3
gallon ? (note : jurigen tidak memiliki skala ukuran)
MASALAH JURIGEN AIR
Definisikan masalah dalam ruang keadaaan:

Simbol x = ember 4 gallon dengan 5 kemungkinan isi (0,1,2,3,4)


Simbol y = ember 3 gallon dengan 4 kemungkinan isi (0,1,2,3)

Definisikan initial state dan goal state:


Inisial state : (x, y) = (0,0)
Goal State : (x, y) = (n, 2)
MASALAH JURIGEN AIR
Definisikan aturan produksi / operator :

→Representasikan Inisial state (0,0) sebagai simpul akar (root), maka kita dapat
menelusuri simpul-simpul berikutnya yang mungkin terjadi
→Operasi yang mengubah satu state ke state lainnya disebut Aturan Produksi
Aturan produksi JURIGEN AIR

Aturan Produksi
Aturan produksi JURIGEN AIR

Aturan Produksi
SOLUSI UNTUK MASALAH JURIGEN AIR

Aturan Produksi
REPRESENTASI RUANG KEADAAN
1. GRAPH KEADAAN
❖Graph terdiri dari node-node yang menunjukkan keadaan yaitu keadaan awal dan
keadaan baru yang akan dicapai dengan menggunakan operator.
❖Node-node dalam graph keadaan saling dihubungkan dengan menggunakan arc
(busur) yang diberi panah untuk menunjukkan arah dari suatu keadaan ke keadaan
berikutnya. Aturan Produksi
CONTOH GRAPH KEADAAN
Maka ada 4 lintasan dari M ke T: Contoh :
M-A-B-C-E-T Kondisi Awal = M Tujuan = T

M-A-B-C-E-H-T
M-D-C-E-T
M-D-C-E-H-T
Aturan Produksi

Lintasan tidak sampai ke tujuan:


M-A-B-C-E-F-G
M-A-B-C-E-I-J
M-D-C-E-F-G
M-D-C-E-I-J
M-D-I-J
REPRESENTASI RUANG KEADAAN
2. POHON PELACAKAN
❖Struktur pohon digunakan untuk
menggambarkan keadaan hirarki
❖Node yang terletak pada level-0 disebut ‘akar’
❖Node yang tidak memiliki anak disebut ‘daun’
Aturan Produksi
menunjukkan akhir dari suatu pencarian, dapat
berupa tujuan (goal) atau jalan buntu (dead
end)
CONTOH POHON PELACAKAN
Representasi ruang keadaan Permasalahan ember A (4 L) dan ember B (3 L)
dengan pohon pelacakan pada
masalah ember adalah sebagai
berikut:

Aturan Produksi
SEARCHING FOR SOLUTIONS
Searching for solutions

• Setelah mempelajari bagaimana mendefinisikan 4 komponen (initial


state, operator, goal-test dan path cost) maka Langkah selanjutnya
adalah mencari solusi
• Pada bab ini solusi dicari dengan metode Searching (metode yang
membahasa urutan pencarian pada ruang keadaan)
• Terdapat totdal 20 state(keadaan) pada ruang keadaaan permasalahan ini
• Tetapi jumlah jalur sangat banyak, sehingga pohon pencarian memiliki jumlah node yang tidak terbatas.
• Algoritma pencarian yang baik menghindari state (keadaan) yg sama terjadi kembali
SEARCH STRATEGIES
Metode Pencarian (Searching)

• Secara garis besar dibagi jadi dua jenis :

1. Blind / Un-Informed Search : pencarian buta / tanpa informasi.


Pencarian buta hanya bisa membedakan antara kondisi yang dituju
(goal state) dengan kondisi yang bukan tujuan (non-goal state)

2. Heuristic search / informed search : pencarian heuristic /


berbekal informasi
Kriteria mengukur performasi pencarian

❖Completeness : Apakah metode tersebut menjamin penemuan solusi (jika


memang solusinya ada) ?

❖Time complexity : berapa lama waktu yang diperlukan?

❖Space complexity : berapa banyak memori yang diperlukan?

❖Optimally : Apakah metode tersebut menjamin solusi terbaik jika terdapat


beberapa solusi bebeda?
Blind/un-informed search
→Tidak ada informasi awal yang digunakan dalam proses pencarian
→Beberapa metode blind search :
→Breadth First Search(BFS)
→Depth First Search (DFS)
→Uniform Cost Search (UCS)
→Depth-Limited Search (DLS)
→Iterative-Deepening Search (IDS)
→Bi-directional Search (BDS)
Breadth First Search
Enqueue nodes in FIFO (first-in, first-out) order.

Intuition: Expand all nodes at depth i before


expanding nodes at depth i + 1
• Complete? Yes.
• Optimal? Yes, if path cost is nondecreasing function of depth
• Time Complexity: O(bd)
• Space Complexity: O(bd), note that every node in the fringe is kept in the queue.
Breadth First Search
• Setiap node yang dibuka disimpan dalam memori, sehingga memerlukan memori
sangat besar dan membutuhkan waktu yang banyak pula
Uniform Cost Search
Enqueue nodes in order of cost

5 2 5 2 5 2
1 7 1 7
4 5

Intuition: Expand the cheapest node. Where


the cost is the path cost g(n)
• Complete? Yes.
• Optimal? Yes, if path cost is nondecreasing function of depth
• Time Complexity: O(bd)
• Space Complexity: O(bd), note that every node in the fringe keep in the queue.

Note that Breadth First search can be seen as a special case of Uniform Cost Search, where the path cost is just the depth.
• UCS memodifikasi BFS dengan membuka node yang lebih murah biayanya lebih dulu
• Di dalam BFS semua biaya dianggap sama di setiap jalur
Depth First Search
Enqueue nodes in LIFO (last-in, first-out) order.

Intuition: Expand node at the deepest level


(breaking ties left to right)

• Complete? No (Yes on finite trees, with no loops).


• Optimal? No
• Time Complexity: O(bm), where m is the maximum depth.
• Space Complexity: O(bm), where m is the maximum depth.
• DFS hanya menyimpan node
aktif yang sedang dibuka,
sehngga space complexity jauh
lebih rendah dibanding BFS
Depth-Limited Search
Enqueue nodes in LIFO (last-in, first-out) order. But limit depth to L

L is 2 in this example

Intuition: Expand node at the deepest level,


but limit depth to L

• Complete? Yes if there is a goal state at a depth less than L


• Optimal? No
Picking the right value for L is
• Time Complexity: O(bL), where L is the cutoff. a difficult, Suppose we chose
• Space Complexity: O(bL), where L is the cutoff. 7 for FWDC, we will fail to
find a solution...
Iterative Deepening Search I
Do depth limited search starting a L = 0, keep incrementing L by 1.

Intuition: Combine the Optimality and


completeness of Breadth first search, with the
• Complete? Yes low space complexity of Depth first search
• Optimal? Yes
• Time Complexity: O(bd), where d is the depth of the solution.
• Space Complexity: O(bd), where d is the depth of the solution.
• IDS merupakan metode
yang menggabungkan
kelebihan BFS (Complete
dan Optimal) dengan
kelebihan DFS (space
complexity rendah atau
membutuhkan sedikit
memori)
• Tetapi konsekuensinya
adalah time
complexitynya menjadi
tinggi untuk
menemukan berapa
depth limit terbaik untuk
sampai pada goal yang
dicari. Langkahnya
menambah limit secara
bertahap, mulai dari
0,1,2, dan seterusnya.
Iterative Deepening Search II
Iterative deepening looks wasteful because
we reexplore parts of the search space many
times...

Consider a problem with a branching factor of


10 and a solution at depth 5...

1+10+100+1000+10,000+100,000 = 111,111

1
1+10
1+10+100
1+10+100+1000
1+10+100+1000+10,000
1+10+100+1000+10,000+100,000
= 123,456
Bi-directional Search
Pencarian dilakukan dari dua arah : pencarian maju (dari start ke goal) dan
Intuition:
pencarian mundur Start
(dari goalsearching from dua
ke start). Ketika botharah
the pencarian
initial telah
sampai pada simpul
state andyang
the sama, maka meet
goal state, solusiin
telah
the ditemukan,
middle. yaitu dengan
cara menggabungkan kedua jalur yang bertemu.
Notes
• Not always possible to search
backwards
• How do we know when the trees
meet?
• At least one search tree must be
retained in memory.

• Complete? Yes
• Optimal? Yes
• Time Complexity: O(bd/2), where d is the depth of the solution.
• Space Complexity: O(bd/2), where d is the depth of the solution.
Ringkasan Performa
Searching for Solutions
• Kita dapat membentuk pohon pencarian dari ruang keadaan masalah untuk
membantu kita menemukan solusinya.
• Keadaan awal membentuk simpul akar dan cabang dari setiap simpul adalah
kemungkinan tindakan dari simpul saat ini (keadaan) ke simpul anak (keadaan
selanjutnya).
Avoiding Repeated States

• Do not return to the state you just came from.

• Do not create paths with cycles in them

• Do not generate any state that was ever generated before


Penyelesaian Routing Problem (Arad-Bucharest)

Step 1

Step 2

Step by step dengan algoritma Breadth First Search


Penyelesaian Routing Problem (Arad-Buchares)

Step 3 Step 4

Step by step dengan algoritma Breadth First Search


Penyelesaian Routing Problem (Arad-Buchares)

Step 5

Step by step dengan algoritma Breadth First Search


Penyelesaian Routing Problem (Arad-Buchares)

Step 1

Step by step dengan algoritma Depth First Search


Penyelesaian Routing Problem (Arad-Buchares)

Step 2

Step by step dengan algoritma Depth First Search


Penyelesaian Routing Problem (Arad-Buchares)

Step 3

Step by step dengan algoritma Depth First Search


Penyelesaian Routing Problem (Arad-Buchares)

Step 4

Step by step dengan algoritma Depth First Search


Penyelesaian Routing Problem (Arad-Buchares)

Step 5

Step by step dengan algoritma Depth First Search


Penyelesaian Routing Problem (Arad-Buchares)

Step 6

Step by step dengan algoritma Depth First Search


Contoh Kasus
(0,0)

(4,0) (0,3)

(4,3) (0,0) (1,3) (4,3) (0,0) (3,0)

(0,3) (4,0) (4,0) (0,3) (1,0) (0,0) (0,3) (3,3)

(0,0) (1,3) (0,1) (0,3) (3,0) (4,2)

CONTOH (0,0) (1,0) (4,1)

Masalah penyelesaian jurigen air


dengan Metode BFS (0,1) (4,0) (2,3)

(0,3) (2,0) (4,1)

(0,0) (2,3) (0,2)


The Farmer, Wolf, Duck, Corn Problem
Farmer, Wolf, Goat, Cabbage
Farmer, Fox, Chicken, Corn
Farmer Dog, Rabbit, Lettuce

A farmer with his wolf, duck and bag of corn come to the east
side of a river they wish to cross. There is a boat at the rivers
edge, but of course only the farmer can row. The boat can only
hold two things (including the rower) at any one time. If the wolf
is ever left alone with the duck, the wolf will eat it. Similarly if
the duck is ever left alone with the corn, the duck will eat it. How
can the farmer get across the river so that all four arrive safely on
the other side?

The Farmer, Wolf, Duck, Corm problem dates back to the eighth century and
the writings of Alcuin, a poet, educator, cleric, and friend of Charlemagne.
Initial State FWDC

Goal State
FWDC
Aturan Produksi

Aturan ke- Aturan


1 Petani dan serigala menyeberang
2 Petani dan bebek menyeberang
3 Petani dan sayur menyeberang
4 Petani dan serigala kembali
5 Petani dan bebek kembali
6 Petani dan sayur kembali
7 Petani kembali
This means that
everybody/everything is
on the same side of the FWDC
river.

This means that we


somehow got the Wolf to F DC
the other side. W
F WD C

WD C D C W C WD
F F W F D F C

Search Tree for “Farmer, Wolf, Duck, Corn” Illegal State


F WD C

WD C D C W C WD
F F W F D F C

F W C F WD C
D

Search Tree for “Farmer, Wolf, Duck, Corn” Illegal State Repeated State
F WD C

WD C D C W C WD
F F W F D F C

F W C F WD C
D

W C C W
F D F WD F D C

F C F W C F D C F W F WD F W C
WD D W D C C D

D C C D WD D W
F W F WD F W C F C F W C F D C

F D F WD F D C
W C C W

D
F W C F WD C

Search Tree for “Farmer, Wolf, Duck, Corn” Illegal State Repeated State Goal State
F WD C F WD C
Initial State

W C
F D F
W
D
C Farmer takes duck to left bank

F W C
D
F W
D
C Farmer returns alone

C
F WD F WD
C Farmer takes wolf to left bank

F D C
W
F
W
D C
Farmer returns with duck

D D
F W C F W C
Farmer takes corn to left bank

F D F D
W C W C
Farmer returns alone

F WD C F WD C Farmer takes duck to left bank

Success!
Ringkasan
• Pada suatu kasus dimana kita tidak mengetahui metode apa yang terbaik,
maka agent dapat menentukan kemungkinan urutan tindakan yang dapat
dilakukan untuk menyelesaikan kasus tsb. Proses penyelesaian spt ini
disebut Searching dalam ilmu AI

• Sebelum agen dapat mulai mencari solusi, ia harus merumuskan tujuan dan
kemudian menggunakan tujuan tsb untuk merumuskan masalah.

• 5 hal yang harus didefinisikan utk menyelesaikan masalah : initial state,


ruang keadaan (ruang masalah), metode transisi, tes tujuan dan fungsi
untuk menghitung biaya jalur
Ringkasan
• Dalam kehidupan nyata, sebagian besar masalah tidak terstruktur; tetapi dengan
melakukan beberapa analisis, banyak masalah yang bisa dimodelkan dalam ruang
masalah.

• Algoritma penelusuran (searching) dinilai berdasarkan kelengkapan, optimalitas,


kompleksitas waktu, dan kompleksitas ruang.

• Kompleksitas bergantung pada faktor percabangan dalam ruang masalah (b) dan
juga kedalaman solusi (d)

• BFS memperluas simpul paling dangkal dalam pohon pencarian terlebih dahulu.
BFS bersifat lengkap, dan optimal, kompleksitas ruang dan waktu adalah O (bd).
Ringkasan
• Uniform Cost Search (UCS) memperluas simpul berbiaya paling rendah
terlebih dahulu. UCS bersifat lengkap, dan optimal, kompleksitas ruang dan
waktu sama seperti BFS.

• Deep Fisrt Search (DFS) memperluas node paling dalam di pohon pencarian
terlebih dahulu. DFS bersifat tidak lengkap, tidak optimal, dan memiliki
kompleksitas waktu O (bm) dan kompleksitas ruang O (bm), di mana m
adalah kedalaman maksimum. Dalam pohon pencarian dengan kedalaman
besar atau tak terbatas, kompleksitas waktu membuat ini tidak praktis.
Ringkasan
• Deep Limited Search membatasi seberapa dalam DFS dapat dilakukan
• IDS merupakan metode yang menggabungkan kelebihan BFS
(Complete dan Optimal) dengan kelebihan DFS (space complexity
rendah atau membutuhkan sedikit memori)
• BDS dapat sangat mengurangi kerumitan waktu, tetapi tidak selalu
dapat diterapkan. Persyaratan memori yang dibutuhkan banyak
QUIZ
• Tiga orang misionaris dan tiga orang kanibal tiba di pinggir sungai. Mereka harus
menyeberangi sungai itu. Hanya tersedia satu buah perahu tetapi kapasitas perahu
hanya mampu menampung paling banyak dua orang setiap kali menyeberang.
Proses penyeberangan dipersulit dengan kenyataan bahwa jumlah kanibal tidak
boleh lebih banyak dari jumlah misionaris pada suatu sisi daratan. Jika jumlah
kanibal lebih banyak dari jumlah misionaris pada suatu sisi daratan maka kanibal
akan memakan misionaris.
• Definisikan ruang keadaan,
initial state, goal state dan
aturan produksi untuk kasus
tsb
• Kemudian selesaikan masalah
dengan metode Depth First
Search (DFS)
Thank You

Anda mungkin juga menyukai