Lesson 2 AI sebagai Masalah Pelacakan Sem II 2015 revisi.pptx

download Lesson 2 AI sebagai Masalah Pelacakan Sem II 2015 revisi.pptx

of 162

Transcript of Lesson 2 AI sebagai Masalah Pelacakan Sem II 2015 revisi.pptx

Name of presentation

AI sebagai Masalah PelacakanLesson 2PendahuluanSemua Bidang AI adalah PelacakanGame Ruang masalah (problem spaces)Setiap masalah adalah pohon virtual dari seluruh solusi yang mungkin (berhasil atau tidak berhasil)Tujuannya menentukan/mencari strategi pelacakan yang efisienState-Space Approach forAI Problem SolvingDi dalam permasalahan AI dikenal istilah stateState merepresentasikan status sistem pada saat tertentuState-space approach adalah metode untuk menyelesaikan masalah dengan melakukan operasi-operasi tertentu pada state saat ini untuk menghasilkan next-state terus menerus hingga dicapai final-state yang diinginkanState-Space Approach forAI Problem SolvingLangkah awal penyelesaian masalah adalah merepresentasikan masalah ke dalam representasi state-space (ruang keadaan)Untuk membangun state space (ruang keadaan), diperlukan state-state dan rules yang membentuk hubungan antar stateKemudian dilakukan teknik penyelesaian masalah yang pada dasarnya merupakan proses pencarian ruang keadaan (state space search)State-Space Approach forAI Problem SolvingSecara sederhana, langkah2 penyelesaian masalah menggunakan State Space Approach adalah sbb.Nyatakan masalah ke dalam bentuk state space (ruang keadaan)Tentukan definisi state untuk masalah tersebutTentukan rules/operasi-operasi yang mungkin ada di dalam masalah tersebut untuk menghasilkan next-stateGunakan teknik pencarian tertentu untuk mendapatkan solusi, mulai dari initial state hingga mendapatkan goal/final stateContoh 1 4 Puzzle ProblemPuzzle yang terdiri atas 4 buah cellTiga cell berisi digit angka, 1 cell kosong (blank)Terdapat 4 operasi swapping: Blank-Up (BU), Blank-Down (BD), Blank-Left (BL), dan Blank-Right (BR)BU berarti posisi Blank (B) ditukar dengan posisi cell di atasnya, dst.Masalahnya adalah: bagaimana mencapai final state dari sebuah initial state dengan langkah seminimum mungkin?Contoh 1 4 Puzzle (lanj.)Contoh:

Jawabannya : 2 langkah (BL lalu BU)Bagaimana komputer dapat menyelesaikannya?

Contoh 1 4 Puzzle (lanj.)Contoh:

Bagaimana komputer dapat mengubah susuna puzzle menjadi susunan yang ditargetkan seperti manusia melakukannya?Salah satu solusinya adalah menggunakan state-space approach

Contoh 1 4 Puzzle (lanj.)Untuk mendapatkan solusi menggunakan state-space approach, yang harus dilakukan adalah:Menyatakan masalah dalam bentuk ruang state (state space)Menerapkan teknik searching tertentu untuk mendapatkan solusiUntuk dapat membangun state space dari sebuah masalah, yang harus dilakukan:Definisikan dulu state-nya apa di dalam masalah tersebutNyatakan operasi2 yang dapat digunakan untuk menghasilkan next-stateContoh 1 4 Puzzle (lanj.)State-space (ruang state, ruang keadaan) dari masalah 4 Puzzle ini adalah kumpulan state puzzle yang mungkin terjadiBeberapa state yang mungkin terjadi di antaranya:(1, 2, 3, B)

(1, 2, B, 3)(1, B, 3, 2)dst..

Contoh 1 4 Puzzle (lanj.)Jadi, state dalam masalah 4 Puzzle ini dapat didefinisikan sebagai nilai puzzle di setiap blok, yang dinyatakan dgn:(w, x, y, z), dengan nilai yang mungkin untuk w, x, y, z adalah 1, 2, 3, B dan tidak boleh sama satu sama lainMaka akan terdapat 4 x 3 x 2 x 1 = 24 state yang mungkinSetelah mendefinisikan state, berikutnya adalah mendefinisikan operasi-operasi yang dapat dilakukan terhadap sebuah state

Contoh 1 4 Puzzle (lanj.)Untuk kasus 4 Puzzle, operasi yang dapat dilakukan terhadap state adalah sbb:Op BU : Blank diswap ke atasOp BD : Blank diswap ke bawahOp BR : Blank diswap ke kananOp BL : Blank diswap ke kiriSetelah operasi terdefinisi, maka buatlah rules (aturan) penentuan next-state jika operasi tersebut dilakukan

Contoh 1 4 Puzzle (lanj.)Aturan-aturan (rules) yang dapat digunakan di antaranya:op BU: (1, 2, 3, B) (1, B, 3, 2), Op BU: (1, 2, B, 3) (B, 2, 1, 3)op BL: (1, 2, 3, B) (1, 2, B, 3), ...dst.Rules dapat dibuat lebih generik, semakin generik semakin baik

Contoh 1 4 Puzzle (lanj.)Contoh rules yang lebih generik:p4 = B BU:(swap p2-p4) atau BL:(swap p3-p4)P3 = B BU:(swap p1-p3) atau BL:(swap p4-p3)...dst.pi = nilai di kotak ke-i pada 4-PuzzleSetelah rules dibuat, tentukan initial state dan final stateLakukan pencarian (state-space search) untuk menemukan solusi permasalahanContoh 1 4 Puzzle (lanj.) ruang state yang dihasilkanDengan menerapkan teknik seraching tertentu (yang akan dipelajari di bagian berikutnya) maka akan diperoleh solusinya adalah 2 langkah, yaitu BL lalu BU

Cara Merepresentasikan Ruang KeadaanGraf KeadaanPohon PelacakanPohon And/OrGraf KeadaanTerdiri dr simpul (node) dan busur (arc). Simpul menunjukkan keadaan, yaitu keadaan awal dan keadaan baru yang akan dicapai dengan menggunakan operator.Busur menghubungkan suatu simpul dengan simpul lainnya.Busur menunjukkan arah dr suatu keadaan ke keadaan berikutnya.Dalam praktek, sangat sulit menggambarkan keadaan dengan graph.Graf Keadaan

MSimpul M menunjukkan keadaan awal. Simpul T adalah tujuan. Ada 4 lintasan dr M ke T:M-A-B-C-E-TM-A-B-C-E-H-TM-D-C-E-TM-D-C-E-H-TLintasan yang tidak sampai ke tujuan (menemui jalan buntu) :M-A-B-C-E-F-GM-A-B-C-E-I-JM-D-C-E-F-GM-D-C-E-I-JM-D-I-JPohon PelacakanUntuk menghindari kemungkinan adanya proses pelacakan simpul secara berulang pada Graph Keadaan, digunakan Pohon Pelacakan, berupa struktur pohon.Pohon Pelacakan

MPohon PelacakanSimpul pada Level 0 disebut akar (root). Simpul akar menunjukkan keadaan awal yang biasanya merupakan topik atau obyek.Simpul akar memiliki beberapa percabangan yang terdiri atas beberapa simpul successor yang disebut anak (child) dan merupakan simpul perantara.Namun, jika dilakukan pelacakan mundur , maka dapat dikatakan bahwa simpul tersebut memiliki predecessor.Pohon PelacakanSimpul yang tidak memiliki anak disebut daun (leaf) yang menunjukkan akhir dr suatu pencarian.Simpul daun dapat berupa tujuan yang diharapkan (goal) atau jalan buntu (dead end).Contoh 2 : Water Jug Problem[1]Terdapat dua buah wadah/ember berukuran 4 L dan 3 L. Bagaimana memperoleh air sebanyak 2 L dengan menggunakan kedua wadah tersebut, dengan asumsi kedua ember awalnya kosong?

Contoh 2 : Water Jug Problem[1]-lanj.Nyatakan masalah dalam representasi stateState:(x, y)x = jumlah air (liter) pada ember bervolume 4 liter dengan nilai 0, 1, 2, 3 atau 4, y = jumlah air (liter) pada ember bervolume 3 liter dengan nilai 0, 1, 2 atau 3Initial state: (0,0)Final state: (2, n), atau (n, 2) untuk sembarang nilai n (persoalan ini tidak menentukan berapa berapa liter air yang ada di ember bervolume 3 liter atau sebaliknya)Contoh 2 : Water Jug Problem[1]-lanj.Operasi yang dapat digunakan untuk menyelesaikan masalah adalah sbb:Mengisi ember bervolume 4 liter dari luar sampai penuh.Mengisi ember bervolume 3 liter dari luar sampai penuh.Mengosongkan/membuang air dari ember bervolume 4 liter.Mengosongkan/membuang air dari ember bervolume 3 liter.Contoh 2 : Water Jug Problem[1]-lanj.(lanjutan):Menuangkan air dari ember bervolume 3 liter ke ember bervolume 4 liter yang belum penuh sampai ember bervolume 4 liter menjadi penuh.Menuangkan air dari ember bervolume 4 liter ke ember bervolume 3 liter yang belum penuh sampai ember bervolume 3 liter menjadi penuh.Menuangkan semua air dari ember bervolume 3 liter ke ember bervolume 4 liter.Menuangkan semua air dari ember bervolume 4 liter ke ember bervolume 3 liter.Contoh 2 : Water Jug Problem[1]-lanj.Rules/operasi tersebut dapat dideskripsikan secara formal sbb:Mengisi ember bervolume 4 liter dari luar sampai penuh.(x, y x < 4) (4, y)Mengisi ember bervolume 3 liter dari luar sampai penuh(x, y y < 3) (x, 3)Mengosongkan/membuang air dari ember bervolume 4 liter(x, y x > 0) (0, y)

Contoh 2 : Water Jug Problem[1]-lanj.Mengosongkan/membuang air dari ember bervolume 3 liter(x, y y > 0) (x, 0)Menuangkan air dari ember bervolume 3 liter ke ember bervolume 4 liter yang belum penuh sampai ember bervolume 4 liter menjadi penuh(x, y x+y 4 x < 4 y > 0) (4, y-(4-x))Menuangkan air dari ember bervolume 4 liter ke ember bervolume 3 liter yang belum penuh sampai ember bervolume 3 liter menjadi penuh(x, y x+y 3 x > 0 y 0) (x+y, 0)Menuangkan semua air dari ember bervolume 4 liter ke ember bervolume 3 liter(x, y x+y 3 x > 0) (0, x+y)Contoh 2 : Water Jug Problem[1]-lanj.Rules operasi diresumekan sbb:

Product Rules (PR)Relasi Current state dan Next State1(x, y x < 4) (4, y)2(x, y y < 3) (x, 3)3(x, y x > 0) (0, y)4(x, y y > 0) (x, 0)5(x, y x+y 4 x < 4 y > 0) (4, y-(4-x))6(x, y x+y 3 x > 0 y < 3) (x-(3-y), 3)7(x, y x+y 4 y > 0) (x+y, 0)8(x, y x+y 3 x > 0) (0, x+y)Contoh 2 : Water Jug Problem[1]-lanj.Setelah rules/operasi yang merelasikan current state dengan next state selesai disusun, berikutnya adalah mulai menggambarkan state space dalam bentuk pohon pelacakanNode akar adalah inisial state (seperti yang ditentukan di dalam masalah/soal)Tentukan next state (child node) berdasarkan operasi/rules yang mungkin diterapkan terhadap current state

Contoh 2 : Water Jug Problem[1]-lanj.State Space yang diperoleh:

Contoh 2 : Water Jug Problem[1]-lanj.Salah satu solusi yang diperoleh adalah sbb:Mengisi ember bervolume 3 liter dari luar sampai penuhMenuangkan semua air dari ember bervolume 3 liter ke ember bervolume 4 literMengisi ember bervolume 3 liter dari luar sampai penuhMenuangkan air dari ember bervolume 3 liter ke ember bervolume 4 liter sampai ember bervolume 4 liter menjadi penuh

Aturan yang diterapkan

Jumlah air (liter) dalamember bervolume 4 literember bervolume 3 liter00203730233542Teknik Pencarian sebagai Struktur KontrolUntuk dapat memecahkan problema, dibutuhkan juga suatu struktur pengendalian/kontrol yang melakukan pengulangan (looping) melalui siklus sederhanaSelama melakukan proses pencarian untuk mendapatkan solusi dari sebuah problema, kita tentu akan bertanya-tanya tentang bagaimanakah caranya memutuskan aturan berikutnya yang akan digunakan kemudian atau memutuskan state berikutnya?Teknik Pencarian sebagai Struktur KontrolTeknik Pencarian atau Struktur Kontrol yang baik haruslahDapat menimbulkan adanya gerak (movement). Teknik Pencarian atau Struktur Kontrol yang tidak menyebabkan adanya gerak tidak akan pernah sampai pada sebuah solusi.Pada problema ember air, jika kita mulai dengan memilih aturan yang pertama lalu kedua atau sebaliknya, maka kita tidak akan pernah dapat menyelesaikan problema.

Teknik Pencarian sebagai Struktur KontrolSistematik Teknik Pencarian atau Struktur Kontrol yang tidak sistematik akan menyebabkan penggunaan serangkaian operator aturan beberapa kali sebelum sampai pada sebuah solusi.Teknik Pencarian sebagai Struktur KontrolJika kita memilih aturan-aturan secara acak (random) pada setiap siklus, walaupun akan menimbulkan adanya gerak dan akan menghasilkan solusi, namun kita akan sampai pada keadaan yang sama beberapa kali dan menggunakan lebih banyak langkah yang semestinya diperlukan.Strategi sistematik (non heuristic) yang dapat digunakan di antaranya breadth-first search, depth-first search, dan best-first search.

Latihan 1 Water Jug Problem[2]Terdapat dua buah wadah/ember berukuran 5 L dan 3 L. Bagaimana memperoleh air sebanyak 4 L dengan menggunakan kedua wadah tersebut, dengan asumsi kedua ember awalnya kosong?Latihan 2 Petani Kambing Srigala RumputSeorang Petani akan menyeberangkan seekor Kambing, seekor Srigala, dan Rumput dengan menggunakan perahu menyeberangi sungai.Perahu hanya bisa memuat Petani dan salah satu dari yang hendak diseberangkan (Kambing / Srigala / Rumput). Jika ditinggalkan oleh Petani, maka Rumput akan dimakan oleh Kambing dan Kambing akan dimakan oleh Srigala.Latihan 2 Petani Kambing Srigala Rumput-lanj.Deskripsikan secara formal problema PKSR tersebut!Bagaimanakah salah satu solusi masalah PKSR tersebut dengan deskripsi formal yang dibuat?Bagaimanakah representasi ruang keadaan dengan Pohon Pelacakan untuk masalah tersebut? Teknik PencarianPendahuluanSetelah permasalahan direpresentasikan dalam bentuk state-space, maka selanjutnya dilakukan pencarian (searching) di dalam state-space tersebut untuk menentukan solusi permasalahanHal penting dalam menentukan keberhasilan sistem berdasar kecerdasan adalah kesuksesan dalam pencarian dan pencocokan.Teknik Pencarian/Pelacakan

Teknik Pencarian/PelacakanTeknik pencarian dibedakan satu sama lain khususnya dalam hal urutan ekspansi nodeTeknik pencarian dievaluasi dalam beberapa aspek, di antaranya:Completenessapakah selalu berhasil menemukan solusi?Time complexityberapa lama waktu yang diperlukan untuk menemukan solusiSpace complexityberapa banyak space memory yang diperlukan untuk mencari solusi?Optimalityapakah teknik tersebut dapan menemukan solusi yang paling optimal jika ada beberapa alternatif solusi?Teknik Pencarian/PelacakanTime dan space complexity diukur menggunakan parameter2:b (branching factor), faktor percabangan maksimum dari search treed (depth), kedalaman (level tree) dari solusi yang diperolehFinding RoutePerhatikan peta di bawah ini

Finding RouteJika akan dilakukan perjalanan dari Arad ke Bucharest, maka akan diperoleh sebagian search-tree sebagai berikut

Finding RouteBagaimana rute dari Arad ke Bucharest?Trial and ErrorMetode paling sederhanaProsedur pelacakanTentukan state sebagai keadaan awalWhile state keadaan sasaran doBeginPilih operator yang dapat diterapkan pada state, dan diset sebagai operatorState : = operator (state)EndTrial and ErrorCatatanPada langkah 4, operator dipilih secara acakPada langkah 5, operator yang dipilih diterapkan pada state membentuk state baruStokastik, tidak menjamin dicapainya keadaan sasaranTidak memperlihatkan karakteristik intelegensiTrial and Error

Uninformed x Informed SearchPada kasus rute Arad-Bucharest, ada 3 alternatif kota yang dapat dipilih dari Arad, yaitu: Sibiu, Timisoara, ZerindUninformed Search tidak punya preferensi sama sekali di antara 3 pilihan kota tersebut, hanya memilih berdasarkan urutan di dalam teknik pencariannyaInformed Search akan punya preferensi di antara pilihan tersebut berdasarkan parameter tertentu, misal: jarakTeknik Sistematis, Blind Search, Uninformed SearchTeknik Sistematis, Blind Search, Uninformed SearchDepth-First SearchRepresentasi: Diagram pohon atau grafikPencarian dilakukan dari Simpul Akar ke simpul yang memiliki level lebih tinggi (Simpul Anak).Proses pencarian dilakukan pada semua Simpul Anak sebelum dilakukan pencarian ke simpul-simpul yang selevel.Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First Search

Depth-First SearchProsedur pelacakan:Berikan simpul awal pada daftar openLoop: if open = kosong then exit (fail)n : = first (open)if goal (n) then exit (success)Remove (n, open)Ekspansikan n, berikan semua simpul anak pada kepala open dan bubuhkan pointer dari simpul anak ke nKembali ke LoopPenjelasan:Pada langkah 3, elemen pertama daftar open diambilEkspansi simpul n = pembangkitan simpul-simpul anak dari suatu simpul nDepth-First Search

Depth-First SearchPerubahan daftar open:(S) (A B) (C D B) (D B) (B) (E F) (H G F) (G F)Dengan diagram grafik:Remove (n, open)Add (n, closed)Ekspansikan n. Berikan pada kepala open semua simpul anak yang belum muncul pada open atau closed dan bubuhkan pointer ke n.

Depth-First SearchKeuntungan:Membutuhkan memori yang relatif kecil, karena hanya simpul-simpul pada linatasan yang aktif saja yang disimpan.Secara kebetulan, metode ini akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaaan.Kelemahan:Memungkinkan tidak ditemukannya tujuan yang diharapkan.Hanya akan mendapatkan 1 solusi pada setiap pencarian.Breadth-First SearchBersifat horizontalEvaluasi dilakukan terhadap simpul-simpul pada suatu level sebelum dilanjutkan pada level berikutnyaPencarian dimulai dari Simpul Akar (Level 0) terus ke Level 1 dari kiri ke kanan sampai semua simpul pada level tersebut dikunjungi, dan seterusnya ke Level 2, 3, ... sampai ditemukannya solusi.Breadth-First Search

Breadth-First Search

Breadth-First Search

Breadth-First Search

Breadth-First Search

Breadth-First SearchProsedur Pelacakan:Berikan simpul awal pada openLoop: if open = kosong then exit (fail)n : = first (open)If goal (n) then exit (success)Remove (n, open)Add (n, closed)Ekspansikan n. Berikan pada ekonr open semua simpul anak yang belum muncul pada open atau closed dan bubuhkan pointer ke n.Kembali ke LoopBreadth-First SearchUntuk menghitung time complexity dan space complexity dari teknik ini, misalkan branching factor pada tree yang digunakan adalah b, dan goal state terdapat pada level ke-d dari treeMaka, banyaknya nodes maksimum yang akan ditelusuri dan disimpan sampai menemukan solusi (mencapai goal state) adalah sbb:

Breadth-First SearchKebutuhan waktu dan memori BFS

Branching factor b=10; 1000 nodes/second; 100 bytes/node

Breadth-First SearchKeuntungan:Tidak akan menemui jalan buntuJika hanya ada satu solusi, maka akan menemukannya. Dan jika ada lebih dari satu solusi, maka solusi minimum (dalam hal kedalaman tree) akan ditemukan.Kelemahan:Membutuhkan memori yang cukup banyak, karena menyimpan semua simpul dalam satu pohon.Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke (n+1).Teknik Informed SearchPendahuluanBlind Search tidak selalu dapat diterapkan dengan baik. Di antara kelemahannya adalah waktu aksesnya yang cukup lama serta besarnya memori yang diperlukan. Kelemahan ini sebenarnya dapat diatasi dengan memberikan informasi tambahan dari domain yang bersangkutanPendahuluanHeuristik adalah rule of thumb berbasis knowledge untuk menentukan pilihan dari sejumlah alternatif untuk mencapai sasaran dengan efektifHeuristic bersifat estimasi, bukan perhitungan aktual/realHeuristik dipergunakan untuk mempersempit ruang pelacakan mengurangi waktu dan memory yang dipakaiHeuristic juga digunakan untuk mendapatkan solusi yang optimalHeuristic search informed search, tidak berlaku sebaliknyaBlind Search x Heuristic SearchPerhatikan contoh kasus pada masalah 8-puzzle, dimana ada 4 operator yang dapat digunakan (sama seperti 4-puzzle) yaitu:BU (Blank Up)BD (Blank Down)BL (Blank Left)BR (Blank Right)Blind Search x Heuristic SearchContoh:

Dari keadaan (state) awal, hanya 3 operator yang dapat digunakan, yaitu BL atau BR atau BU.

Blind Search x Heuristic Search

Blind Search x Heuristic SearchApabila digunakan blind search, kita tidak perlu mengetahui atau mempertimbangkan next-state mana yang akan dipilih (sembarang next-state dapat dipilih), pemilihan solusi tergantung pada teknik yang digunakanSedangkan pada pencarian heuristik, pemilihan next-state menjadi penting untuk memperoleh solusi yang dianggap paling optimalUntuk itu, di dalam pencarian heuristik perlu ditambahkan informasi tertentu dalam domain masalah tersebut Blind Search x Heuristic Search

Informasi apa saja yang dapat ditambahkan di dalam pencarian heuristik untuk pemilihan next-state dalam masalah 8-puzzle?

Blind Search x Heuristic SearchBeberapa informasi yang dapat ditambahkan di dalam pencarian heuristik untuk mendapatkan solusi optimal dalam masalah 8-puzzle:Jumlah ubin yang menempati posisi yang benar. Jumlah yang lebih tinggi adalah jumlah yang lebih diharapkan (lebih baik).

Blind Search x Heuristic SearchJumlah ubin yang menempati posisi yang salah. Jumlah yang lebih kecil adalah yang diharapkan (lebih baik).

Blind Search x Heuristic SearchMenghitung total gerakan vertikal dan horizontal yang diperlukan oleh ubin selain Blank untuk mencapai tujuan.Jumlah yang lebih kecil adalah yang diharapkan (lebih baik).

Uniform Cost Search (UCS)UCS melakukan searching berdasarkan informasi cost aktual (yang sebenarnya)Tidak menggunakan estimasi bukan heuristic search, tapi termasuk informed searchNext-state dipilih berdasarkan actual-cost terkecil atau terbesar (tergantung permasalahan)Pada akhirnya UCS akan menyisir semua nodes yang ada di dalam treeFinding RoutePerhatikan peta di bawah ini

Uniform Cost Search (UCS)Bagaimana mencari rute terpendek dari Arad-Bucharest menggunakan UCS?(dijelaskan di kelas, pembahasan di papan tulis ) Uniform Cost Search (UCS)Kelebihan UCS:Pasti menghasilkan solusi optimalOptimal complete, tidak berlaku sebaliknyaKekurangan:Time complexity besarSpace complexity besarTeknik HeuristikBeberapa teknik yang akan dipelajari:Best-First SearchGreedy SearchA* searchHill ClimbingBest First SearchSecara umum, prinsip yang digunakan:Pada setiap langkah, dipilih simpul yang diperkirakan lebih dekat terhadap sasaran dari semua simpul yang dibangkitkanAda 2 teknik yang akan dipelajari:Greedy SearchA* searchGreedy Best First SearchDigunakan fungsi evaluasi (fungsi heuristic), yaitu h(n)h(n) mengestimasikan cost dari n ke titik goalPerhatikan bahwa cost aktual menunjukkan biaya/cost real dari initial state ke titik n,Sementara estimation cost mengestimasi biaya/cost dari titik n ke titik goal Cost dapat berupa jarak, waktu, biaya, atau parameter lainnya tergantung permasalahan yang akan dicari solusinyaGreedy search mengekspansi node yang tampak paling dekat ke tujuan (goal state)Greedy Best First SearchCarilah rute dari Arad ke Bucharest menggunakan greedy search!

Greedy Best First SearchParameter apa yang dapat kita gunakan untuk mengestimasi cost dari kota tertentu ke kota tujuan (Bucharest)?Apakah jarak antar kota (yang tercantum dalam map) dapat digunakan sebagai estimation cost? Tidak dapat...Mengapa?Maka, kita dapat menyatakan estimation cost atau h(n) sebagai jarak straight-line dari kota n ke kota tujuan (Bucharest)Sehingga node yang akan dipilih ketika ekspansi nodes adalah node yang memiliki h(n) atau jarak straight-line terpendek ke BucharestGreedy Best First Search

Greedy Best First Search

Greedy Best First Search

Greedy Best First Search

Greedy Best First SearchSalah satu kelemahan greedy search adaalah memungkinkan terjadinya stuck in loops dan tidak optimalnya hasil yang diperolehA* SearchIde dari A* search:Menghindari path/jalur yang sudah bernilai expensiveD.k.l, di dalam A* search dipertimbangkan juga cost yang telah dicapai sebelumnyaFungsi evaluasi (fungsi heuristic) dimodifikasi menjadi

A* Searchg(n) = cost yang telah dicapai hingga node ke-nh(n) = estimated cost dari node ke-n hingga ke node tujuanf(n) = total cost

A* SearchTentukan rute Arad Bucharest menggunakan A* search

A* Search

A* Search

A* Search

A* Search

A* Search

Apa perbedaan A dan A* search?Perbedaannya terletak pada fungsi heuristicnya, h(n).A search dengan fungsi heuristic h(n) yang admissible, disebut A* search yang dijamin akan optimalJadi prinsip searchingnya sama, algoritmanya sama, yang berbeda adalah dalam pemilihan nilai heuristicnya.What is Admissible Heuristic?Aheuristich(n) isadmissible ifforeverynoden, h(n) h*(n),whereh*(n) istheactual minimum costtoreachthegoalstatefromnAnadmissibleheuristicnever overestimates theactual costtoreachthegoal,i.e.,itisoptimisticExample:straight-line-distance, hSLD(n) (neveroverestimatestheactualroaddistance)Contoh-1Diketahui state-space seperti di samping. Jika initial state adalah s dan final statenya adalah g, tentukan solusi terbaik menggunakan Uniform Cost Search

Contoh-2Cari solusi dari soal sebelumnya menggunakan greedy dan A/A* search jika diketahui cost menunjukkan jarak, dan fungsi heuristic h(n) dari titik n ke final state (g) adalah sebagai berikut:h(a) = 2, h(b) = 3, h(c) = 1, h(d) = 4, h(g) = 0, h(s) = 10h(a) = 2, h(b) = 3, h(c) = 1, h(d) = 1, h(g) = 0, h(s) = 6Contoh 1- UC Search

Contoh 1- UC Search

Contoh 1- UC Search

Contoh 1- UC Search

Contoh 1- UC Search

Contoh 1- UC Search

Contoh 1- UC Search

Contoh-2a Greedy-Revising

Contoh-2a Greedy-Revising

Contoh-2a Greedy-Revising

Contoh-2a Greedy-Revising

Contoh-2a Greedy-Revising

Contoh 2a-A Search-Revising

Contoh 2a-A Search-Revising

Contoh 2a-A Search-Revising

Contoh 2a-A Search-Revising

Contoh 2a-A Search-Revising

Contoh 2b-A*Search - Revising

Contoh 2b-A*Search - Revising

Contoh 2b-A*Search - Revising

Contoh 2b-A*Search - Revising

Contoh 2b-A*Search - Revising

LatihanTerdapat permasalahan 8-puzzle dimana ada 4 operator yang dapat yaitu: BU (Blank Up), BD (Blank Down), BL (Blank Left), BR (Blank Right). Ingin dicari langkah penyelesaian untuk mengubah initial state menjadi final state berikut ini:

Latihan-lanjutanBandingkan solusi penyelesaian yang dihasilkan oleh kedua teknik berikut ini:Greedy search, dengan fungsi heuristic f(n) = h(n) dimana h(n) = cost yang akan ditanggung ke depannya jika memilih state atau node-n = total gerakan vertikal dan horisontal yang diperlukan setiap ubin pada state-n untuk mencapai final stateA/A* search, dengan fungsi heuristic f(n) = g(n) + h(n), dimana:g(n) = cost yang sudah dicapai = total gerakan ubin dari mulai initial stateh(n) = cost yang akan ditanggung ke depannya jika memilih state atau node-n = total gerakan vertikal dan horisontal yang diperlukan setiap ubin pada state-n untuk mencapai final stateHill ClimbingIde dasar algoritma searching Hill Climbing:Searching for a goal state = Climbing to the top of a hillMenggunakan fungsi heuristic yang mengestimasi seberapa dekat sebuah node/state ke goal stateClimbing to the top of a hill artinya selalu bergerak naik, dalam arti bergerak ke node yang tingkat kedekatannya dengan goal state semakin tinggiHill ClimbingIngat bahwa fungsi heuristic mengestimasi seberapa dekat sebuah node/state ke goal state atau mengestimasi cost dari sebuah node ke goal stateSemakin dekat dengan goal state, semakin kecil costnya (semakin kecil nilai heuristicnya)Pada banyak kasus, goal state akan memiliki nilai heuristic = 0Berarti, climbing to the top of the hill = menuju nilai heuristic yang terus mengecil hingga sama dengan 0Hill ClimbingAda dua jenis:Simple Hill-ClimbingSteepest Ascent Hill ClimbingSimple Hill ClimbingAlgoritma:Evaluate initial stateLoop until a solution is found or there are no new operators left to be applied:Select and apply a new operator to generate new statesEvaluate the new state:goal quit, orbetter than current state new current stateSimple Hill ClimbingKey selection:Better than current state, even though not the best valueTidak harus memiliki nilai heuristic terkecil, yang penting nilainya lebih baik dari nilai heuristic current stateJadi, yang diketemukan pertama kali dan nilainya lebih baik, maka itulah next state-nyaPertanyaannya, node mana yang harus dicek pertama kali?Jawabannya: random atau menggunakan default anak kiri (seperti uninformed search)Steepest-Ascent Hill ClimbingAlgoritma:Evaluate initial stateLoop until a solution is found or there are no new operators left to be applied:Select and apply a new operator to generate new statesEvaluate the new state:goal quit, orBest value and better than current state new current stateSteepest-Ascent Hill ClimbingKey selection:Best value and better than current stateHarusmemiliki nilai heuristic terkecil dan nilainya lebih baik dari nilai heuristic current stateHill ClimbingPada Simple HC maupun Steepest-Ascent HC, terdapat beberapa potensi masalah:Bagaimana jika pada titik/level tertentu di antara child-nodes yang dihasilkan tidak ada yang memiliki nilai heuristic yang lebih baik?Bagaimana jika node/state terakhir pada path yang dipilih bukan merupakan goal state?Kondisi seperti ini sering disebut local maximum (maksimum lokal)Bagaimana jika semua child-notes yang dihasilkan memiliki nilai heuristic yang sama? Kondisi seperti ini sering disebut plateauHill Climbing-Local MaximumLocal Maximum adalah kondisi dimana terdapat state yang nilainya lebih baik (paling baik) dibanding child-tetangganya tetapi tidak lebih baik dibandingkan node lain di luar siblingnya

Hill Climbing-Local MaximumContoh:

Hill Climbing-PlateauPlateau adalah flat area, kondisi dimana semua node yang bertetangga (sesama siblings) memiliki nilai heuristic yang sama

Hill Climbing-PlateauContoh:

Hill Climbing-Ways OutBacktrack to some earlier node and try going in a different direction ( usualy used)Make a big jump to try to get in a new section (randomly).Moving in several directions at once.Contoh 1-Hill ClimbingSales Traveling ProblemCarilah lintasan terpendek untuk sales travelling problem dengan state space di samping ini.ACDB875346Contoh 1-Hill ClimbingOperator yang digunakan:Tukar kota 1 dengan 2Tukar kota 2 dengan 3Tukar kota 3 dengan 4Tukar kota 4 dengan 1Tukar kota 2 dengan 4Tukar kota 1 dengan 3

ACDB875346Contoh 1-Hill ClimbingABCD/19ABDC/18BACD/17DBCA/12ADCB/18CBAD/20ACBD/12BCAD/15BADC/12DACB/12BDCA/15CABD/16ABCD/19Simple H. C.Steepest Acsent H. C.Contoh 2-Hill ClimbingCarilah rute untuk permasalahan Arad-Bucharest menggunakan:Simple HCSteepest-Ascent HCContoh 2-Hill Climbing

Latihan-Hill ClimbingBlocks WorldDisusun 4 buah kubus sebagai berikut (initial state dan final state)Tentukan langkah-langkah yang diperlukan untuk mencapai f.sDalam 1 langkah hanya dapat diambil 1 buah kubus yaitu kubus yang paling atas.

Latihan-Hill ClimbingBlocks WorldRancanglah fungsi heuristic yang dapat digunakan sehingga kita dapat mencari solusi menggunakan HOperasi yang dapat dilakukan:Mengambil 1 blok dan meletakannya (bisa di atas lantai atau di atas bcock yang lain)

PELACAKAN

Uninformed/Blind Search - Depth-first search (Vertical) - Breadth-first search (Horizontal)

Trial & Error

Informed Search/Heuristic Search - Hill Climbing - Best-First Search - Algoritma A - Algoritma A*

MINIMAX

..........

Straight-line distance

to Bucharest

Arad366

Bucharest0

Craiova160

Dobreta242

Eforie161

Fagaras178

Giurgiu77

Hirsova151

Iasi226

Lugoj244

Mehadia241

Neamt234

Oradea380

Pitesti100

Rimnicu Vilcea193

Sibiu253

Timisoara329

Urziceni80

Vaslui199

Zerind374

S

A

B

E

F

C

D

H

G

Urutan pelacakan:S, A, C, D, B, E, H, G

Goal

Straight-line distance

to Bucharest

Arad366

Bucharest0

Craiova160

Dobreta242

Eforie161

Fagaras178

Giurgiu77

Hirsova151

Iasi226

Lugoj244

Mehadia241

Neamt234

Oradea380

Pitesti100

Rimnicu Vilcea193

Sibiu253

Timisoara329

Urziceni80

Vaslui199

Zerind374

Straight-line distance

to Bucharest

Arad366

Bucharest0

Craiova160

Dobreta242

Eforie161

Fagaras178

Giurgiu77

Hirsova151

Iasi226

Lugoj244

Mehadia241

Neamt234

Oradea380

Pitesti100

Rimnicu Vilcea193

Sibiu253

Timisoara329

Urziceni80

Vaslui199

Zerind374

Straight-line distance

to Bucharest

Arad366

Bucharest0

Craiova160

Dobreta242

Eforie161

Fagaras178

Giurgiu77

Hirsova151

Iasi226

Lugoj244

Mehadia241

Neamt234

Oradea380

Pitesti100

Rimnicu Vilcea193

Sibiu253

Timisoara329

Urziceni80

Vaslui199

Zerind374