IKI 30320: Sistem Cerdas Kuliah 3: Problem-Solving Agent & Search

dokumen-dokumen yang mirip
IKI30320 Kuliah 3 3 Sep Ruli Manurung. Problem solving agent. Representasi masalah: state space. Pencarian solusi: search.

Problem-solving Agent: Searching

IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies (Rev.)

IKI30320 Kuliah 4 5 Sep Ruli Manurung. Ulasan. Breadth-first. Uniform-cost. Depth-first. Pengulangan state. Ringkasan

AI sebagai Masalah Pelacakan. Lesson 2

IKI30320 Kuliah 5 12 Sep Ruli Manurung. Best-first. search. Greedy best-first. search. search. Merancang heuristic

Problem solving by Searching. Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ

Informed Search (Heuristic) & Eksplorasinya

Problem-Solving Agent & Search

Pemecahan Masalah dengan Metoda Pencarian (Searching)

Bab 3 Solving Problem by Searching

Kasus Pelacakan untuk Pemilihan rute terpendek. Bagaimana Representasi Graph (start : Arad => tujuan:bucharest)???

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

PENERAPANAN ALGORITMA BFS, DFS, DAN UCS UNTUK MENCARI SOLUSI PADA MASALAH ROMANIA

Tujuan Instruksional

Bab 4. Informed Search

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

METODE PENCARIAN BFS dan DFS

Bab 2 2. Teknik Pencarian

Penyelesaian Masalah dengan Pencarian

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

Ruang Pencarian PERTEMUAN 3

METODE PENCARIAN. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A

Algoritma Pencarian Blind. Breadth First Search Depth First Search

Overview. Searching. Deskripsi. Intro Searching 2/4/2012 IF-UTAMA 1

Penerapan BFS dan DFS pada Pencarian Solusi

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI

Penerapan BFS dan DFS pada Pencarian Solusi

IKI30320 Kuliah 8 26 Sep Ruli Manurung. Game playing. Strategi optimal. Bekerja cepat Cutoff Tree pruning. State of the art.

Outline. IKI 40931: Topik Khusus: NLP Kuliah 7: Parsing CFG. Parsing. Contoh parsing. Ruli Manurung. 10 Maret (Bab Jurafsky & Martin)

Breadth/Depth First Search (BFS/DFS) Bahan Kuliah IF2211 Strategi Algoritmik Oleh: Rinaldi Munir Update: Nur Ulfa Maulidevi 2 Maret 2015

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

SSSS, Problem Solving. State Space Search. Erick Pranata. Edisi I

Search Strategy. Search Strategy

Metode Searching. Blind/Un-informed Search. Heuristic/Informed Search. Breadth-First Search (BFS) Depth-First Search (DFS) Hill Climbing A*

Masalah, Ruang Masalah dan Pencarian

memberikan output berupa solusi kumpulan pengetahuan yang ada.

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

LESSON 6 : INFORMED SEARCH Part II

Bahasan Terakhir... Pencarian dan Klasifikasinya Breadth-first Search Depth-first Search Variasi Depth-first Search:

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Breadth/Depth First Search. Bahan Kuliah IF2211 Strategi Algoritmik Oleh: Rinaldi Munir Update: Masayu Leylia Khodra 22 September 2013

KI Kecerdasan Buatan Materi 5: Pencarian dengan Optimasi (Local Search & Optimization )

APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

KECERDASAN BUATAN MASALAH, RUANG KEADAAN DAN PENCARIAN ERWIEN TJIPTA WIJAYA, ST., M.KOM

Prolem Solving Based on AI

Agent Cerdas. Chastine Fatichah. Teknik Informatika Institut Teknologi Sepuluh Nopember November 2012

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe

Artificial Intelegence/ P_2. Eka Yuniar

METODE PENCARIAN DAN PELACAKAN

SEARCHING. Blind Search & Heuristic Search

Sebelumnya... Best-First Search Greedy Search A* Search, karena boros memory, dimunculkan variannya (sekilas): IDA* SMA* D* (DWA*) RBFS Beam

Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A*

Masalah, Ruang Keadaan, Pencarian. Kecerdasan Buatan Pertemuan 2 Yudianto Sujana

AI sebagai Masalah Pelacakan. Lesson 2

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PERGERAKAN CHESS KNIGHT DALAM PAPAN CATUR

SEARCHING. Blind Search

Implementasi Algoritma BFS dan DFS dalam Penyelesaian Token Flip Puzzle

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM

ALGORITMA PENCARIAN (1)

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2011

Algoritma Branch & Bound

CRITICAL PATH. Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5. Graph G. Alternatif

Pengembangan Teknik Pencarian Optimal Menggunakan Algoritma Generate and Test dengan Diagram Precedence (GTPRE)

Masalah, Ruang Keadaan dan Pencarian 4/7/2016. fakultas ilmu komputer program studi informatika

BAB III METODE PELACAKAN/PENCARIAN

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

BAB 2 TINJAUAN PUSTAKA

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

HEURISTIC SEARCH UTHIE

BAB II MASALAH DAN RUANG MASALAH. Gambar 2.1 sistem yang menggunakan kecerdasan buatan

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

Metode Pencarian Terdapat banyak metode yang telah diusulkan. Semua metode yang ada dapat dibedakan ke dalam 2 jenis : 1. Pencarian buta / tanpa infor

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

BAB 2 LANDASAN TEORI. 2.1 Teknologi Jaringan Komunikasi

BAB 2 LANDASAN TEORI. 2.1 Teori graf Definisi graf

Pemanfaatan Pohon dalam Realisasi Algoritma Backtracking untuk Memecahkan N-Queens Problem

Pengertian Agent. percepts. actions

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

BAB 2 LANDASAN TEORI

ANALISIS ALGORITMA BINARY SEARCH

TERAPAN SISTEM KECERDASAN BUATAN PADA SISTEM INFORMASI AKADEMIK BERBASIS SMS GATEWAY MENGGUNAKAN METODE BREADTH FIRST SEARCH

PERMAINAN KNIGHT S TOUR DENGAN ALGORITMA BACKTRACKING DAN ATURAN WARNSDORFF

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

BAB 2 TINJAUAN PUSTAKA

PERANCANGAN SYSTEM PAKAR GENERIC MENGGUNAKAN BINARY TREE

Branch & Bound. Bahan Kuliah IF2211 Strategi Algoritma Rinaldi Munir & Masayu Leylia Khodra

IKI30320 Kuliah 19 3 Des Ruli Manurung. Learning. Agents. Inductive Learning. Decision Tree. Mengukur Kinerja Belajar.

JURNAL INFORMATIKA SIMULASI PERGERAKAN LANGKAH KUDA MENGGUNAKAN METODE BREADTH FIRST SEARCH

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

Transkripsi:

IKI 30320: Sistem Cerdas : -Solving Agent & Fakultas Ilmu Komputer Universitas Indonesia 3 September 2007

Outline 1 2 3 4 5

Outline 1 2 3 4 5

-Solving Agent Di kuliah yang lalu kita melihat contoh reflex agent: tidak cocok untuk masalah besar! Goal-based agent: memiliki tujuan, memungkinkannya evaluasi tindakan dan memilih yang terbaik. Di kuliah ini kita membahas satu kemungkinan jenis goal-based agent: problem- - menghasilkan solusi dalam bentuk serangkaian tindakan yang diambil untuk mencapai tujuan. Apa problem-nya? Apa solution-nya?

Mekanisme kerja -Solving Agent Perumusan tujuan (goal formulation): tentukan tujuan yang ingin dicapai Perumusan masalah (problem formulation): tentukan tindakan (action) dan keadaan (state) yang dipertimbangkan dalam mencapai tujuan solusi masalah (searching): tentukan rangkaian tindakan yang perlu diambil untuk mencapai tujuan Pelaksanaan solusi (execution): laksanakan rangkaian tindakan yang sudah ditentukan di tahap sebelumnya

Agent program Solving Agent function SIMPLEPROBLEMSOLVINGAGENT (percept) returns action state UPDATESTATE(state, percept) if seq is empty then goal FORMULATEGOAL (state, goal) problem FORMULATEPROBLEM (state, goal) seq SEARCH (problem) action RECOMMENDATION (seq, state) seq REMAINDER (seq, state) return action

Sifat -Solving Agent Biasanya problem mengasumsikan bahwa environment-nya: fully observable deterministic sequential static discrete Setelah mencari solusi, agent ini melaksanakan tindakan dengan mata tertutup tidak melihat percept!

Contoh: Turis di Rumania Suatu tourist agent yang sedang berlibur di Rumania, kini berada di Arad. Besok, dia harus terbang dari bandara Bucharest. Perumusan tujuan: berada di Bucharest Perumusan Tindakan (action): menyetir dari kota ke kota Keadaan (state): kota-kota di Rumania solusi: rangkaian kota yang dituju, mis: Arad, Sibiu, Fagaras, Bucharest

Peta Rumania 71 Oradea Zerind 75 Arad 140 118 Timisoara 111 70 75 Dobreta Neamt 87 151 Iasi 92 Sibiu 99 Fagaras Vaslui 80 Rimnicu Vilcea 142 Lugoj Pitesti 211 97 98 Hirsova Mehadia 146 101 85 Urziceni 138 86 Bucharest 120 90 Craiova Eforie Giurgiu

Outline 1 2 3 4 5

Perumusan masalah sebagai Initial state: keadaan awal di mana si agent mulai, mis: BeradaDi(Arad) Possible actions: tindakan yang dapat dilakukan si agent, mis: Nyetir(Arad, Zerind). Sebuah successor function S menentukan untuk suatu state X, himpunan tindakan yang mungkin diambil beserta state yang dihasilkan. Contoh: X = BeradaDi(Arad) S(X) = {< Nyetir(Arad, Zerind), BeradaDi(Zerind) >,...} Initial state dan successor function mendefinisikan : himpunan semua state yang dapat dicapai dari initial state. Dapat direpresentasikan sebagai graph. Path dalam adalah serangkaian state (dihubungkan serangkaian action).

Menelusuri sebuah Goal test: penentuan apakah suatu state adalah tujuan yang ingin dicapai. Eksplisit: himpunan goal state, mis: {BeradaDi(Bucharest)}. Implisit: deskripsi tujuan, mis: dalam catur skak mat. Path cost function: sebuah fungsi yang memberikan nilai numerik terhadap setiap path. Fungsi ini merefleksikan performance measure si agent. Asumsi path cost function = step cost: cost action a dari state x ke y: c(x, a, y). Sebuah solusi adalah path dari initial state ke goal state. Sebuah solusi optimal adalah solusi dengan path cost function minimal.

Memilih Dunia nyata luar biasa kompleks dan rumit! State space harus merupakan abstraksi masalah supaya bisa dipecahkan. State = himpunan keadaan nyata. Mis: BeradaDi(Arad) dengan siapa? kondisi cuaca? Action = kombinasi berbagai tindakan nyata. Mis: Nyetir(Arad, Sibiu) jalan tikus, isi bensin, istirahat, dll. Solution = representasi berbagai path nyata yang mencapai tujuan Abstraksi ini membuat masalah yang nyata lebih mudah dipecahkan.

Contoh: VacuumCleanerWorld State: lokasi agent, status debu Possible action: DoKeKiri(L), DoKeKanan(R), DoSedot(S) Goal test: apakah semua ruangan bebas debu? Path cost: asumsi step cost sama untuk semua action, mis: 1. Path cost = jumlah langkah dalam path. Successor function mendefinisikan sbb: L R R S L S L R R L R R L L S S S S L R L R S S

Contoh: 8-Puzzle 7 2 4 51 2 3 5 6 4 5 6 8 3 Start State 1 7 8 Goal State State: lokasi 8 buah angka dalam matriks 3x3 Possible action: Kiri, Kanan, Atas, Bawah Goal test: apakah konfigurasi angka seperti goal state di atas Path cost: asumsi step cost = 1. Path cost = jumlah langkah dalam path.

Contoh: 8-Queens 2 2 1 2 3 1 2 3 3 2 3 2 3 0 Letakkan 8 bidak menteri (queen!) sedemikian sehingga tidak ada yang saling makan (menteri bisa makan dalam satu baris, kolom, diagonal). State: Papan catur dengan n bidak menteri, 0 n 8. Initial state: Papan catur yang kosong. Possible action: Letakkan sebuah bidak menteri di posisi kosong. Goal test: 8 bidak menteri di papan, tidak ada yang saling makan.

Masalah... combinatorial explosion! Dengan definisi masalah demikian, ada 64 63... 57 1.8 10 14 path! Mustahil kita selesaikan dengan komputer tercanggih apapun. Definisi masalah bisa diperjelas: State: Papan catur dengan n bidak menteri, 0 n 8, satu per kolom di n kolom paling kiri. Possible action: Letakkan sebuah bidak menteri di posisi kosong di kolom paling kiri yang belum ada bidaknya sehingga tidak ada yang saling makan. State space sekarang ukurannya tinggal 2057, dan mudah dipecahkan. Perumusan masalah yang tepat bisa berakibat drastis! Meskipun demikian, untuk n = 100: 10 400 vs. 10 52...

Outline 1 2 3 4 5

Mencari solusi melalui search tree Setelah merumuskan masalah cari solusinya menggunakan sebuah search algorithm tree merepresentasikan. tree terdiri dari kumpulan node: struktur data yang merepresentasikan suatu state pada suatu path, dan memiliki parent, children, depth, dan path cost. Root node merepresentasikan initial state. Penerapan successor function terhadap (state yang diwakili) node menghasilkan children baru ini disebut node expansion. Kumpulan semua node yang belum di-expand disebut fringe (pinggir) sebuah search tree.

Contoh penelusuran search tree Mulai dari root node (Arad) sebagai current node. Lakukan node expansion terhadapnya. Pilih salah satu node yang di-expand sebagai current node yang baru. Ulangi langkah sebelumnya. Arad Sibiu Timisoara Zerind Arad Fagaras Oradea Rimnicu Vilcea Arad Lugoj Arad Oradea

Contoh penelusuran search tree Mulai dari root node (Arad) sebagai current node. Lakukan node expansion terhadapnya. Pilih salah satu node yang di-expand sebagai current node yang baru. Ulangi langkah sebelumnya. Arad Sibiu Timisoara Zerind Arad Fagaras Oradea Rimnicu Vilcea Arad Lugoj Arad Oradea

Contoh penelusuran search tree Mulai dari root node (Arad) sebagai current node. Lakukan node expansion terhadapnya. Pilih salah satu node yang di-expand sebagai current node yang baru. Ulangi langkah sebelumnya. Arad Sibiu Timisoara Zerind Arad Fagaras Oradea Rimnicu Vilcea Arad Lugoj Arad Oradea

Algoritme penelusuran search tree 1 Pada awalnya, fringe = himpunan node yang mewakili initial state. 2 Pilih satu node dari fringe sebagai current node (Kalau fringe kosong, selesai dengan gagal). 3 Jika node tsb. lolos goal test, selesai dengan sukses! 4 Jika tidak, lakukan node expansion terhadap current node tsb. Tambahkan semua node yang dihasilkan ke fringe. 5 Ulangi langkah 2. function TREESEARCH (problem, fringe) returns solution or failure fringe INSERT(MAKENODE(INITIALSTATE(problem)),fringe) loop do if EMPTY?(fringe) then return failure node REMOVEFIRST(fringe) if GOALTEST(problem) applied to STATE(node) succeeds then return SOLUTION(node) fringe INSERTALL(EXPAND(node,problem),fringe)

Algoritme penelusuran search tree 1 Pada awalnya, fringe = himpunan node yang mewakili initial state. 2 Pilih satu node dari fringe sebagai current node (Kalau fringe kosong, selesai dengan gagal). 3 Jika node tsb. lolos goal test, selesai dengan sukses! 4 Jika tidak, lakukan node expansion terhadap current node tsb. Tambahkan semua node yang dihasilkan ke fringe. 5 Ulangi langkah 2. function TREESEARCH (problem, fringe) returns solution or failure fringe INSERT(MAKENODE(INITIALSTATE(problem)),fringe) loop do if EMPTY?(fringe) then return failure node REMOVEFIRST(fringe) if GOALTEST(problem) applied to STATE(node) succeeds then return SOLUTION(node) fringe INSERTALL(EXPAND(node,problem),fringe)

Algoritme penelusuran search tree 1 Pada awalnya, fringe = himpunan node yang mewakili initial state. 2 Pilih satu node dari fringe sebagai current node (Kalau fringe kosong, selesai dengan gagal). 3 Jika node tsb. lolos goal test, selesai dengan sukses! 4 Jika tidak, lakukan node expansion terhadap current node tsb. Tambahkan semua node yang dihasilkan ke fringe. 5 Ulangi langkah 2. function TREESEARCH (problem, fringe) returns solution or failure fringe INSERT(MAKENODE(INITIALSTATE(problem)),fringe) loop do if EMPTY?(fringe) then return failure node REMOVEFIRST(fringe) if GOALTEST(problem) applied to STATE(node) succeeds then return SOLUTION(node) fringe INSERTALL(EXPAND(node,problem),fringe)

Algoritme penelusuran search tree 1 Pada awalnya, fringe = himpunan node yang mewakili initial state. 2 Pilih satu node dari fringe sebagai current node (Kalau fringe kosong, selesai dengan gagal). 3 Jika node tsb. lolos goal test, selesai dengan sukses! 4 Jika tidak, lakukan node expansion terhadap current node tsb. Tambahkan semua node yang dihasilkan ke fringe. 5 Ulangi langkah 2. function TREESEARCH (problem, fringe) returns solution or failure fringe INSERT(MAKENODE(INITIALSTATE(problem)),fringe) loop do if EMPTY?(fringe) then return failure node REMOVEFIRST(fringe) if GOALTEST(problem) applied to STATE(node) succeeds then return SOLUTION(node) fringe INSERTALL(EXPAND(node,problem),fringe)

Algoritme penelusuran search tree 1 Pada awalnya, fringe = himpunan node yang mewakili initial state. 2 Pilih satu node dari fringe sebagai current node (Kalau fringe kosong, selesai dengan gagal). 3 Jika node tsb. lolos goal test, selesai dengan sukses! 4 Jika tidak, lakukan node expansion terhadap current node tsb. Tambahkan semua node yang dihasilkan ke fringe. 5 Ulangi langkah 2. function TREESEARCH (problem, fringe) returns solution or failure fringe INSERT(MAKENODE(INITIALSTATE(problem)),fringe) loop do if EMPTY?(fringe) then return failure node REMOVEFIRST(fringe) if GOALTEST(problem) applied to STATE(node) succeeds then return SOLUTION(node) fringe INSERTALL(EXPAND(node,problem),fringe)

State vs. Node Sebuah state merepresentasikan abstraksi keadaan nyata dari masalah. Sebuah node adalah struktur data yang menjadi bagian dari search tree. State tidak memiliki parent, children, depth, path cost! Node = state pada path tertentu. Dua node berbeda bisa mewakili state yang sama! parent, action State 5 6 7 4 1 3 8 2 state Node depth = 6 g = 6

Outline 1 2 3 4 5

Strategi pencarian Terdapat berbagai jenis strategi untuk melakukan search. Semua strategi ini berbeda dalam satu hal: urutan dari node expansion. strategy di-evaluasi berdasarkan: completeness: apakah solusi (jika ada) pasti ditemukan? time complexity: jumlah node yang di-expand. space complexity: jumlah maksimum node di dalam memory. optimality: apakah solusi dengan minimum cost pasti ditemukan? Time & space complexity diukur berdasarkan b - branching factor dari search tree d - depth (kedalaman) dari solusi optimal m - kedalaman maksimum dari search tree (bisa infinite!)

Uninformed search Uninformed strategy hanya menggunakan informasi dari definisi masalah. Bisa diterapkan secara generik terhadap semua jenis masalah yang bisa direpresentasikan dalam sebuah. Ada beberapa jenis: Breadth-first search Uniform-cost search Depth-first search Depth-limited search Iterative-deepening search

Outline 1 2 3 4 5

s Perumusan masalah solusi penelusuran search tree