ai #3 searching

40
Problem Solving BY SEARCHING TKE-357 Artificial Intelligence (kuliah #3) Stuart Russel, Peter N: Artificial Intelligence A Modern Approach. Chapter 3. Lecture Notes-6.034 Artificial Intelligence. © 2004 by MIT. http://ocw.mit.edu .

Upload: hilal-permana

Post on 20-Sep-2015

219 views

Category:

Documents


3 download

DESCRIPTION

AI

TRANSCRIPT

  • Problem Solving BY SEARCHINGTKE-357 Artificial Intelligence(kuliah #3)Stuart Russel, Peter N: Artificial Intelligence A Modern Approach. Chapter 3.Lecture Notes-6.034 Artificial Intelligence. 2004 by MIT. http://ocw.mit.edu.Sri Kusumadewi. Artificial Intelligence. BAB 2.

  • AM - Kecerdasan Buatan*OutlineProblem-Solving AgentsTipe ProblemFormulasi MasalahPemecahan masalah dengan SearchingBlind Search/ Informed SearchBreadth-First SearchDeep-First SearchInformed SearchBest First Search

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Problem-solving AgentAgent dapat menetukan satu tujuan (goal) dan berusaha untuk mencapainya. (kuliah #2)Vacuum Cleaner worldAmbulance driver world.Sales Person.

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Problem-solving AgentEmpat langkah utama untuk problem solving:Penentuan Tujuan (Goal)Keadaan apa yang dianggap berhasil?Penentuan Masalah (Problem)Langkah dan keadaan apa agar dapat mencapai tujuan?SearchTentukan urutan tindakan menuju ke keadaan tertentu dan kemudian memilih urutan yang terbaik.ExecuteBeri solusi dan lakukan tindakan

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Problem-solving Agentfunction SIMPLE-PROBLEM-SOLVING-AGENT(percept) return an actionstatic: seq, an action sequencestate, some description of the current world stategoal, a goalproblem, a problem formulation

    state UPDATE-STATE(state, percept)if seq is empty thengoal FORMULATE-GOAL(state)problem FORMULATE-PROBLEM(state,goal)seq SEARCH(problem)action FIRST(seq)seq REST(seq)return actionPROBLEM SOLVING AGENT GOAL BASED AGENT

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Tipe ProblemDeterministic, fully observable single state problemAgent dapat mengetahui secara tepat, state yang mana yang akan terjadi; solusi berupa sebuah urutan.Partial knowledge of states and actions:Non-observable sensorless or conformant problemAgent mungkin tidak tahu pada state yang mana; Jika mungkin ada solusi, juga berupa urutan.Nondeterministic and/or partially observable contingency problemPercept memberikan informasi baru tentang state sekarang; Solusi berupa tree atau aturan-aturan; Agent harus memperhitungkan seluruh tree (tidak sekedar satu urutan state).Unknown state space exploration problem (online)Jika state dan action tidak diketahuai. (seperti bayi yang baru lahir)

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Contoh: Vacuum WorldTipe :Single state, Mulai di #5. Solusi??

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Contoh: Vacuum WorldTipe :Single state, Mulai di #5. Solusi??{right, suck]

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Contoh: Vacuum WorldTipe :Single state, Mulai di #5. Solusi??{right, suck]Sensorless: mulai di {1,2,3,4,5,6,7,8} misal: right menuju {2,4,6,8}. Solusi??Contingency: mulai di {1,3}. (Aturan baru: menyedot debu dapat mengotori karpet. Solusi?? (tidak ada urutan tertentu)

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Contoh: Vacuum WorldTipe :Single state, Mulai di #5. Solusi??{right, suck]Sensorless: mulai di {1,2,3,4,5,6,7,8} misal: right menuju {2,4,6,8}. Solusi?? [right, suck, left,suck]Contingency: mulai di {1,3}. (Aturan baru: menyedot debu dapat mengotori karpet. Solusi?? [right, suck if dirty] (tidak ada urutan tertentu)

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Pendeskripsian MasalahLangkah Pendeskripsian Masalah:Mendefinisikan suatu ruang keadaan (state space)Path : link action yang menghubungkan state yang satu dengan yang lainPath Cost : Nilai dapat digunakan sebagai pertimbangan.Menetapkan satu atau lebih keadaan awal (initial state)Menetapkan satu atau lebih tujuan (goal, solution)Goal test : Fungsi untuk menentukan tujuan telah tercapai.Menetapkan kumpulan aturanOperator : urutan state yang dicapai setelah actiondatatype PROBLEM components: INITIAL-STATE, OPERATORS, GOAL-TEST, PATH-COST-FUNCTION

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Contoh : Pendeskripsian Masalahstartgoal

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Pendeskripsian MasalahContoh deskripsi masalah:Initial state, e.g. MalangOperator: fungsi suksesor S(X)= set of action-state pairse.g. S(Malang)={,}intial state + Fungsi Suksesor = state spaceGoal test, MisalnyaEksplisit, misal x= di SurabayaImplisit, e.g. ada_pelabuhan(x)Path cost (additive)Misal: total jarak tempuh, total tindakan yang dilakukan (jumlah kota yang dilalui)Soulisnya berupa urutan tindakan dari initial state menuju goal state.Solusi optimal mempunyai cost terendah.

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Contoh: Robot AssemblyStates?? Real-valued coordinates of robot joint angles; parts of the object to be assembled.Initial state?? Any arm position and object configuration.Actions?? Continuous motion of robot jointsGoal test?? Complete assembly (without robot)Path cost?? Time to execute

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Contoh lain:Contoh masalah:CaturMengisikan air 2 liter ke teko 4 liter tanpa skala, hanya disediakan teko 3 liter juga tanpa skala.Missionaries and CannibalsVLSI Layoutstates?actions?goal test?path cost?

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Solusi dengan SearchingUntuk menuju ke suatu solusidilakukan pencarian state space sangat kompleksgeneral search menghasilkan sebuah graph

    Ditunjukkan secara eksplisit dengan treeROOT : initial state Node dan leaf dihasilkan dari fungsi suksesorState space search tree

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*State space search treestate : representasi konfigurasi fisiknode : struktur data untuk search treenode mempunyai parent, children, termasuk path cost, depth, node= FRINGE= berisi node yang belum di-expand.

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Membuat Tree SearchMalangBlitarTulungagungBangilJombangKediriMalangMalangMalangBlitarBangilJombangInitial stateExpanding MalangExpanding Blitar

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Membuat Tree Searchfunction TREE-SEARCH(problem, strategy) return a solution or failureInitialize search tree to the initial state of the problemdo if no candidates for expansion then return failurechoose leaf node for expansion according to strategyif node contains goal state then return solutionelse expand the node and add resulting nodes to the search treeenddo

    AM - Kecerdasan Buatan

  • Metode Pencarian dan PelacakanDua teknik pencarian dan pelacakanPencarian buta (blind search)Pencarian melebar pertama (Breadth First Search) Pencarian mendalam pertama (Depth First Search) Pencarian terbimbing (heuristic search)Pendakian Bukit (Hill Climbing) Pencarian Terbaik Pertama (Best First Search)

  • AM - Kecerdasan Buatan*Teknik PencarianDidefinisikan berdasarkan cara melakukan ekspansi node.Kriteria pengukuran didasarkan pada:CompletenessWaktu yang diperlukan (time complexity)Space/memory yang diperlukan (space complexity)OptimalityComplexity diukur dari tingkat kesulitan berdasarkan:b faktor pencabangan maksimum dalam search tree. d kedalaman nodem kedalaman maksimum (bisa mencapai )

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Teknik Pencarian

    Any Path UninformedBreadth-FirstDepth-FirstSystematic exploration of whole tree until a goal node is found

    Any Path InformedBest FirstUses heuristic measure of goodness of a state: estimated distance

    Optimal UninformedUniform CostDepth Limited etcUses path cost measure. Find shortest path.

    Optimal InformedA*Uses path cost measure and heuristic. Find shortest path

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Uninformed SearchTidak ada informasi tentang berapa tahap atau path cost dari state sekarang menuju goal. (Blind search)Meliputi:Breadth-first searchUniform-cost searchDepth-first searchDepth-limited searchIterative deepening search.Bidirectional search

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Breadth-First SearchSABCDG1235Note:- BFS dengan mencatat node yang sudah dikunjungi- Tidak boleh ada node yang dikunjungi berulang- Path yang baru: bergaris bawah- Path dalam urutan terbalik; paling depan adalah node untuk state sekarang- * Tidak berhenti di sini, sampai semua path ditemukan46

    QVisited1(S)S2(A S) (B S)A,B,S3(B S) (C A S) (D A S)C,D,B,A,S4(C A S) (D A S) (G B S)*G,C,D,B,A,S5(D A S) (G B S)G,C,D,B,A,S6(G B S)G,C,D,B,A,S

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Breadth-First SearchDipastikan menemukan solusiJika ada lebih dari solusi, dapat dipilih yang terbaik.Jika root menghasilkan b branch dalam setiap ekspansi dan untuk menemukan solusi memerlukan kedalaman d, maksimum node yang dibentuk adalah 1+b+b2+b3++bdJika ada 1000 node,satu node perlu waktu 1ms dan 100byte memori, jika solusi berada di kedalaman d=10 maka diperlukan 128 hari dan 1 terabyte memori !!!

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Depth-First SearchSABCDG12345Note:- DFS dengan mencatat node yang sudah dikunjungi- Tidak boleh ada node yang dikunjungi berulang- Path yang baru: bergaris bawah- Path dalam urutan terbalik; paling depan adalah node untuk state sekarang

    QVisited1(S)S2(A,S) (B S)A,B,S3(CAS) (DAS) (B S)C,D,B,A,S4(D A S) (B S)C,D,B,A,S5(G D A S) (B S)G,C,D,B,A,S

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Depth-First SearchSelalu melakukan ekspansi sampai node node pada level terdalam, jika tidak ditemukan akan kembali lagi dari level atas.Karena hanya menyimpan single path dari root ke leaf, Untuk faktor pecabangan b dan kedalaman maksimum m, teknik ini hanya perlu memori sebanding bm. Untuk kasus sebelumnya, DFS hanya perlu 100kb.Waktu yang diperlukan lebih cepat dari BFS, karena pencarian berhenti jika sudah ditemukan satu solusi. Jika ada kemungkinan solusi lain, tidak akan dilihat.

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Optimasi uninformed searchDepth-limited searchIterative Deepening SearchBidirectional Search

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Perbandingan Teknik PencarianUniformed Search

    KriteriaBreadth-FirstUniform-CostDepth-firstDepth-limitedItertive DeepeningBiderectionalTimebdbdbmblbdbd/2Spacebdbdbmblbdbd/2Optimal?YesYesNoNoYesYesComplete?YesYesNoYes, if ldYesYes

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Informed SearchBest first searchHeuristic SearchGenerate and TestHill ClimbingSimulated Annealing

    AM - Kecerdasan Buatan

  • AM - Kecerdasan Buatan*Best First SearchSABCDG1245Heuristic value:A=2 B=3 C=1 D=4 S=10 G=03Note:- Best-FS dengan mencatat node yang sudah dikunjungi- Tidak boleh ada node yang dikunjungi berulang- Path yang baru: bergaris bawah- Path dalam urutan terbalik; paling depan adalah node untuk state sekarang

    QVisited1(10 S)S2(2 A S) (3 B S)A,B,S3(1 C A S) (3 B S)(4 D A S)C,D,B,A,S4(3 B S) (4 D A S)C,D,B,A,S5( 0 G B S) (4 D A S)G,C,D,B,A,S

    AM - Kecerdasan Buatan

  • Pencarian HeuristikPencarian buta (uninformed search) tidak selalu dapat diterapkan dengan baikWaktu aksesnya yang cukup lamaBesarnya memori yang diperlukanMetode heuristic search diharapkan bisa menyelesaikan permasalahan yang lebih besar. Metode heuristic search menggunakan suatu fungsi yang menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan disebut fungsi heuristic Aplikasi yang menggunakan fungsi heuristic : Google, Deep Blue Chess Machine

  • Pencarian HeuristikContoh pada masalah 8 puzzle

  • Pencarian HeuristikOperatorUbin kosong geser ke kananUbin kosong geser ke kiriUbin kosong geser ke atasUbin kosong geser ke bawah

  • Pencarian HeuristikLangkah Awal

  • Pencarian HeuristikLangkah Awal hanya 3 operator yang bisa digunakanUbin kosong digeser ke kiri, ke kanan dan ke atas.Jika menggunakan pencarian buta, tidak perlu mengetahui operasi apa yang akan dikerjakan (sembarang)Pada pencarian heuristik perlu diberikan informasi khusus dalam domain tersebut

  • Informasi yang bisa diberikanUntuk jumlah ubin yang menempati posisi yang benar jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih baik)

  • Informasi yang bisa diberikanUntuk jumlah ubin yang menempati posisi yang salah jumlah yang lebih kecil adalah yang diharapkan (lebih baik).

  • Informasi yang bisa diberikanMenghitung total gerakan yang diperlukan untuk mencapai tujuan jumlah yang lebih kecil adalah yang diharapkan (lebih baik).

  • TugasJelaskan kembali tentang pecarian buta (uninformed search) dengan metodeBreadth First SearchDepth First SearchJelaskan kembali tentangBest First SearchHeuristic SearchJelaskan sesuai pemahaman saudaraMengapa terdapat bagian searching pada kecerdasan buatan?Apa prasyarat yang diperlukan untuk bisa menerapkan atau mendapatkan tujuan searching

    AM - Kecerdasan Buatan*

    AM - Kecerdasan Buatan

  • TugasBuatlah presentasi suatu sistem cerdas yang proses pemecahan masalahnya memanfaatkan metode pencarianContoh permasalahan: menara hanoi, Sudoku, petani menyebarangkan sayur-kambing-perahu-singa,Salesman travelling problem, atau permasalahan lain.Ketentuan :Berkelompok (ada 3 kelompok, topik harus berbeda)AM - Kecerdasan Buatan*

    AM - Kecerdasan Buatan

    *