Pengantar Intellegensia buatan

Slides:



Advertisements
Presentasi serupa
TEKNIK PENCARIAN (SEARCHING)
Advertisements

Metode Pencarian Heuristik
Kisi-kisi Jawaban UTS Semester Pendek Genap 2008/09.
Artificial Intelligent
Kecerdasan Buatan Pencarian Heuristik.
Masalah, Ruang Masalah dan Pencarian
Problem Solving Game Playing
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Problem Solving Search -- Uninformed Search
SEARCH 2 Pertemuan ke Lima.
MASALAH, RUANG KEADAAN DAN PENCARIAN
Metode Pencarian/Pelacakan
Pencarian Heuristik.
METODE PENCARIAN HEURISTIK
Pencarian Tanpa Informasi
Hill Climbing Best First Search A*
HEURISTIC SEARCH Presentation Part IV.
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Pertemuan 4 Mata Kuliah : Kecerdasan Buatan
Ruang Keadaan (state space)
Pencarian (Searching)
Penyelesaian Masalah Teknik Pencarian
Metode Pencarian & Pelacakan
Metode Pencarian/Pelacakan
Problem Solving Search -- Informed Search Ref : Artificial Intelligence: A Modern Approach ch. 4 Rabu, 13 Feb 2002.
SISTEM INTELEGENSIA BUATAN
Pencarian Heuristik.
METODE PENCARIAN dan PELACAKAN
Informed (Heuristic) Search
Disampaikan Oleh : Yusuf Nurrachman, ST, MMSI
Pencarian Heuristik (Heuristic Search).
Pencarian Heuristik.
Informed Searching Part 1
Searching (Pencarian)
Teknik Pencarian 1 Blind Search
KECERDASAN BUATAN PERTEMUAN 3.
Penyelesaian Masalah menggunakan Teknik Pencarian Blind Search
Pencarian Buta (Blind Search).
Pertemuan 6 Metode Pencarian
Masalah, Ruang Masalah dan Pencarian
Metode Pencarian/Pelacakan
Metode Pencarian & Pelacakan
Masalah, Ruang Keadaan dan Pencarian
Bahan Kuliah IF2211 Strategi Algoritma
Greedy Pertemuan 7.
Pertemuan 6 Pencarian Heuristik
Design and Analysis Algorithm
Pertemuan 6 Pencarian Heuristik
Metode pencarian dan pelacakan - Heuristik
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
MASALAH, RUANG KEADAAN DAN PENCARIAN
Problem solving by Searching
Search.
TEKNIK PENCARIAN.
Problem solving by Searching
MASALAH, RUANG KEADAAN DAN PENCARIAN
PROBLEM SOLVING Masalah biasanya disajikan dalam bentu graf
Metode Pencarian/Pelacakan
MASALAH DAN METODE PEMECAHAN MASALAH
Fakultas Ilmu Komputer
Informed (Heuristic) Search
Masalah, Ruang Keadaan dan Pencarian
Pertemuan 6 Metode Pencarian
Masalah, Ruang Masalah dan Pencarian
Tugas Mata Kuliah Kecerdasan Buatan
Teori Bahasa Otomata (1) 2. Searching
KECERDASAN BUATAN PERTEMUAN 4.
Aplikasi Graph Minimum Spaning Tree Shortest Path.
MASALAH, RUANG KEADAAN DAN PENCARIAN
Modul II Masalah, Ruang Masalah dan Pencarian
Transcript presentasi:

Pengantar Intellegensia buatan Informed search Greedy Search A* Search IDA* Search RBFS Search SMA* Search

Repeated State and Cycle Do not return to the state you just came from. Have the expand function (or the operator set) refuse to generate any successor that is the same state as the node's parent. Do not create paths with cycles in them. Have the expand function (or the operator set) refuse to generate any successor of a node that is the same as any of the node's ancestors. Do not generate any state that was ever generated before. This requires every state that is generated to be kept in memory, resulting in a space complexity of O(bd), potentially. It is better to think of this as O(s), where s is the number of states in the entire state space.

Spanning Search Tree state next cost A B 4 C 1 D 3 E 8 2 F 6 G A C B F 2 F 6 G C B F D E D G E G

Tujuan instruksional Mahasiswa dapat merancang dan mengkodekan algoritma pencarian serta mengenal kekuatan dan kelemahan masing masing algoritma: Greedy search A* search IDA* search RBFS search SMA * search

Uniform Cost Search Modifikasi BFS untuk mendapatkan biaya terendah sepanjang jalur pencarian, bukan hanya dilihat dari solusi yang didapat saja. (lowest cost vs. lowest depth) Urutan biaya selalu menaik g(SUCCESSOR(n)) > g(n) g(n) = biaya jalur pencarian dari titik awal sampai node n. Properti dari algoritma pencarian ini adalah: komplit, optimal / admissible, dan exponensial dalam kompleksitas waktu dan ruang, O(bd).

Uniform Cost Search Pada graf di atas, proses pencarian berlangsung sebagai berikut: 1. OPEN S (start) 2. OPEN A, B, C (cost = 1, 5, 15) 3. OPEN B, G, C (cost = 5, 11, 15) 4. OPEN G, G, C (cost = 10, 11, 15) 5. SOLUTION G (path S-B-G)

It’s not easy being blind Algoritma Blind search bisa menemukan jawaban, namun Seringkali algoritma ini tidak efisien dalam pencariannya Anybody see my key ??

Informed search Untuk mengefisienkan pencarian, dibutuhkan tambahan informasi yang spesifik terhadap permasalahan yang dihadapi Pencarian seperti inilah yang kita sebut Informed search

Heuristik Heuristik = “rule of thumb” Heuristic are criteria, methods , or principle for deciding among several course of action promises to be the most effective in order to reach some goal Fungsi heuristik h(n) adalah “perkiraan” biaya termurah dari node n ke node tujuan

Contoh heuristik (straight line distance = hsld)

Contoh heuristik(2) Heuristik ? ? ? Jumlah nomor yang salah tempat

Contoh heuristik(3) Heuristik ? ? ? Manhattan distance

More on heuristic Heuristic berasal dari asal kata heuriskein yang artinya menemukan. Buatlah heuristic sedemikian sehingga : h(n) pada kondisi goal adalah 0 Fungsi heuristic melambangkan cost yang akan dikeluarkan agent jika memilih node tertentu Heuristic memperbaiki proses pencarian solusi walaupun tidak harus sampai mengatasi kasus terburuk (worst case scenario)

Best First Search

Greedy Best First Search Berusaha meminimalisasi perkiraan biaya untuk mencapai goal dengan meng-expand node yang dinilai paling dekat dengan goal. Fungsi yang digunakan untuk menilai kedekatan node dengan goal adalah fungsi heuristic, biasanya dinotasikan dengan huruf h h(n) = estimated cost of the cheapest path from the state at node n to a goal state

Greedy Search

Greedy search (construct the h(n))

Greedy Search S A D h(S ): 1 1 B D E C E E F F F G G G Fringe : S

Greedy Search S A D h(A ): 1 0.4 h(D) : 8.9 B D E C E E F F F G G G Fringe : DA

Greedy Search S A D h(A ): 1 0.4 h(E) : 6.9 B D E C E E F F F G G G Fringe : EA

Greedy Search S A D h(A ): 1 0.4 h(F) : 3.0 B D E C E E F F F G G G Fringe : FA

Greedy Search S A D h(A ): 1 0.4 h(G) : 0 Total cost : 13 B D E C E E F F F G G G Fringe : GA

Greedy search property Complete ? No, can get stuck in loops Complete if repeated-state checking is performed Time ? O(bm), but good heuristic can give dramatic improvement Space ? O(bm) – save all nodes in memory Optimal ? No, Why ?

Try This Greedy search: A-B-E-G-H = 99 Not Optimal Better solution: A-B-C-F-H = 39

A* Algorithm (Hart Nilsson & Rafael 1968) Greedy Search  minimalisir estimasi search cost Uniform cost Search  minimalisir cost sampai saat ini. Algoritma A* menggabungkan keduanya Dengan fungsi f(n) f(n) = h(n) + g(n) g(n) = cost so far to reach n from start state h(n) = estimated cost to goal state from n f(n) = estimated total cost of path through n to goal

Try This

Try This

Back to: Romania

A* Search Example: Romania

A* Search Example: Romania

A* Search Example: Romania

A* Search Example: Romania

A* Search Example: Romania

A* Search Example: Romania

A* algorithm property Complete ?? Optimal ?? Time ?? Space ??

A* property (Optimality and Completeness) Algoritma A* bersifat admissible. Ini berarti apabila solusi ada, solusi yang ditemukan pertama adalah solusi yang optimal. A* bersifat admissible bila memenuhi syarat syarat berikut : Di dalam graph state space Setiap node memiliki successor yang terbatas Setiap arc pada graph memiliki biaya yang > dari 0 Heuristik: untuk setiap node n, h(n) < h*(n)

A* property (Optimality) A* optimal untuk heuristik tertentu – dari semua algoritma search yang optimal yang mencari dari root ke node tujuan, dapat dibuktikan bahwa tidak ada algoritma lain yang membuka simpul node yang paling sedikit dan menemukan solusi Namun, jumlah node yang disimpan masih bersifat exponential pada kasus terburuk Sayangnya perkiraan saja tidak cukup bagi algoritma A* untuk tidak membuka simpul secara exponential, sebagai tambahan A* harus menyimpan semua node pada memory A* jauh lebih efisien daripada pencarian tanpa informasi

Contours (Monotonicity)

More on heuristic (2) Heuristic yang baik adalah heuristic yang tidak overestimate Suatu heuristik dikatakan konsisten bila : h(n) <= cost(n,n’) + h(n’)

More on heuristic (3)

More on heuristic (4) heuristik untuk kasus diatas tidak konsisten, karena h(n)= 4 sedangkan h(n’) = cost(n,n’) + h(n’) = 1 + 2 = 3, sehingga h(n) > h(n’). hal ini membuat nilai f mengecil dari node n ke node n’ Heuristik yang nilai f nya selalu membesar disebut heuristik yang monoton

Bukti admissibility A* (Optimal) Bila G adalah Goal optimal G2 adalah Goal suboptimal C* adalah Biaya asli menuju G Bila G2 dipilih berarti f(n) >= f(G2) Karena G2 adalah goal f(G2) = g(G2) Maka terjadilah C* >= g(G2) Kontradiksi !!

Bukti Completeness A* A * dikatakan complete dan optimal dengan mengasumsikan sebuah heuristic yang admissible dan konsisten (atau menggunakan pathmax untuk mempertahankan konsistensi, i.e. Contours) Baca e-book

Analisis performansi A* |h(n)-h*(n)| <= O (log h*(n)) Queue besar Baca e-book

Dominansi h2 dikatakan memiliki dominansi atas h1 jika h2(n) > = h1(n) untuk setiap n A * akan mengekspansi lebih sedikit node dengan h2 secara rata rata dibandingkan dengan h1 Bukti : Untuk setiap node dimana f(n) < C* akan diekspansi, maka n akan diekspansi apabila: h(n) < f* - g(n) karena h2(n) >= h1(n) setiap node yang diekspansi h2 akan diekspansi oleh h1. Bacalah di e-book bagaimana menggunakan heuristik lebih dari satu fungsi

Perbaikan algoritma A* Algoritma A* menggunakan banyak sekali memory sehingga kerap kali habis tempat untuk pencarian Ada beberapa varian dari algoritma A* yang dapat digunakan untuk mensiasati kekurangan memory tersebut diantaranya adalah : IDA * RBFS SMA *

Itterative Deepening A* search Idenya serupa dengan DFID search hanya saja yang menjadi batas adalah nilai f per node. Mulailah dengan flimit = h(start) Potonglah (prune) semua node dimana f(node ) > f limit flimit berikutnya adalah nilai minimum node yang dipotong

IDA*

IDA*

IDA*

IDA* property Complete and optimal time complexity : DFS Space complexity : DFS (bm) Setiap iterasi pada IDA* adalah iterasi DFS sehingga space yang dibutuhkan linear dan tidak membutuhkan priority queue

IDA* weakness Apabila nilai f sangat bervariasi, bahkan bila pada kasus terburuk setiap node memiliki nilai f yang berbeda maka pada tiap iterasi IDA* hanya akan mengekspansi satu buah node. IDA* tidak cocok untuk graf dengan banyak siklus. NB: Semua algoritma berbasis DFS tidak cocok untuk graf dengan banyak siklus

IDA*

Recursive Breadth First Search RBFS menggunakan kebutuhan memory yang linear Cara kerjanya meniru algoritma best first search RBFS menyimpan nilai f terbaik dari jalur alternatif yang tersedia dari pendahulu node yang sekarang Bila node yang sekarang melebihi limit nilai f maka jalur alternatif lainnya diperiksa. RBFS mengingat nilai f daun terbaik di sub pohon yang sudah dilalui

Simplified Memory bounded A* Algoritma ini menjalankan best first search selama memory masih tersedia, apabila memory penuh maka node dengan nilai terburuk di buang, namun nilainya disimpan pada node atasnya. Kalau ada ruang memori yang mencukupi untuk semua node pada tree dalam jalur pencarian, maka pencarian akan menjadi optimal.

SMA* Illustrated

Local Search Algorithm Kadang kadang kita tidak membutuhkan path pencarian, kita hanya perlu hasilnya saja. Bila demikian kita bisa menggunakan algoritma penyelesaian lain yaitu local search algorithm Local search algorithm tidak menyimpan state dalam bentuk tree tapi hanya menyimpan satu state dan ‘memperbaiki’ state tersebut sampai mencapai sebuah goal.

Example problem

Local Search Algorithm (2) Beroperasi dengan menggunakan satu state aktif dan biasanya bergerak hanya kepada state yang bersebelahan dengan state tersebut Keuntungan local search algorithm Menggunakan memory yang sangat sedikit (hanya 1 state) Kadang dapat menemukan jawaban yang baik di state space yang besar dan atau tak terbatas

Local Search State Space

Local Search algorithm (3) Beberapa local search algorithm: Hill Climbing / Gradient descent Simulated Annealing

Hill Climbing algorithm Layaknya seorang pendaki gunung yang mencari tanah yang ketinggian lebih tinggi dari yang ditempatinya sekarang, hill climbing algorithm mencari state yang lebih baik dari state yang ada sekarang dan “membuang sisanya”

Hill Climbing algorithm “Like climbing Everest in thick fog with amnesia” Steps in hill-climbing algorithm: Create initial state Generate successors Apply heuristic evaluation function to successors Choose the best alternative (forgetting all the rest) Repeat to step 2 until no more improvement could be made

Hill Climbing example ~ Good One

Hill Climbing example ~ Good One

Hill Climbing example ~ Bad One

Traveling Salesman Problem (TSP) Seorang salesman ingin mengunjungi n kota. Jarak antar kota sudah diketahui. Kita ingin mengetahui rute terpendek yang dilalui dengan syarat tiap kota hanya boleh dikunjungi tepat 1 kali. Fungsi heuristik: Rute berikutnya harus lebih pendek dari rute saat ini 8 B A 3 4 7 5 C D 6

TSP - Hill Climbing Operator: menukar urutan posisi 2 kota dalam satu lintasan Fungsi heuristik: panjang lintasan

Properties of Hill-Climbing Complete ? No, may never find an answer Time ? May be very slow Space ? Constant Optimal ? No, may not find the best answer

Hill Climbing Weakness

Hill Climbing Improvement Random Restart Hill-climbing Conduct a series of hill-climbing from randomly generated initial states Stochastic Hill-Climbing Chooses at random from among the uphill moves First-choice Hill-Climbing

Simulated Annealing Steps: Pick a move at random Idea: Escape local maxima by allowing some “bad” moves, but gradually decrease their size and frequency Steps: Pick a move at random If move will improve things, take it If it will make things worse, take it with some probability Take it with probability e ∆E / T ∆E is value(current state) – value(move state) T is constant Keep going, making T smaller according to some schedule If the schedule is slow enough, this algorithm is guaranteed to find the global optimum

Simulated Annealing Origin: Annealing in Physics The process of gradually cooling a liquid until it freezes If solid materials is heated past its melting point and then cooled back into a solid state, the structural properties of the cooled solid depend on the rate of cooling. E corresponds to the total energy of atoms in the material, and T corresponds to the temperature. The schedule determines the rate at which the temperature is lowered. Individual moves in the state space correspond to random fluctuations due to thermal noise

Latihan Heuristik Sebuah rubic cube adalah sebuah kubus 3x3 dengan 6 warna, kubus ini awalnya memiliki warna yang sama untuk setiap sisinya. Untuk memainkannya seseorang dapat mengeser rubic perbaris atau kolom sehingga warna pada tiap sisi rubic tidak sama. Tujuan dari permainan adalah membuat rubic cube memiliki warna yang sama kembali pada tiap sisinya.

Latihan Heuristik Cobalah menganalisa permasalahan rubic cube : Berapa branching factor dari permasalahan ini ? (tuliskan juga operator yang anda gunakan, jangan lupa tangani masalah repeated state bila ada). Carilah sebuah heuristik yang dapat dipakai untuk menyelesaikan permasalahan ini. Dari semua algoritma uninformed search yang sudah anda pelajari sebutkan algoritma apa yang paling tepat digunakan untuk permasalahan ini menurut anda, sertakan pula alasan mengapa anda memilih algoritma tersebut.

Latihan A* Buatlah graf pencarian sesuai tabel disamping. Lakukan strategi pencarian dengan algoritma uniform cost, greedy search, dan A* Gambarkan perjalanan pencarian.

Latihan Local Search Selesaikanlah 8 puzzle berikut dengan menggunakan algoritma greedy search, A* dan Hill climbing 1 3 4 2 5 7 8 6 1 2 3 4 5 6 7 8 Initial state Goal state