Kecerdasan Buatan/ Artificial Intelligence

dokumen-dokumen yang mirip
KI Kecerdasan Buatan Materi 7: Pencarian dgn. Batasan Kondisi (Constraint Satisfaction Problems)

Mencari jalan keluar di dalam labirin (Maze Problem).

Artificial Intelegence/ P_3 EKA YUNIAR

Constraint Satisfaction Problems (CSP)

LAPORAN TUGAS AKHIR MATA KULIAH KECERDASAN BUATAN Penjadwalan Dosen Pengampu Matakuliah Menggunakan Metode Constraint Satisfaction Problems

PENYELESAIAN GAME TEKA-TEKI SILANG DENGAN MENERAPKAN ALGORITMA BACKTRACKING

BAB I PENDAHULUAN. pengalaman belajar untuk semua peserta didik (Pusat Kurikulum Badan

Teknik Pencarian Heuristik

Program Studi Sistem Informasi STMI - Kementerian Perindustrian Jakarta 2012

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II DASAR TEORI 2.1 Deskripsi Perjalanan Kereta Api Jalur Tunggal Pokok-Pokok Perjalanan Kereta Api Jalur Tunggal

Analisis Penggunaan Algoritma Backtracking dalam Penjadwalan Kuliah

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

IKI 30320: Sistem Cerdas Kuliah 11: Logical Inference & Wumpus Agent

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

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

ALGORITMA PENJADWALAN PRODUKSI PADA LINGKUNGAN MESIN JOB SHOP DENGAN MINIMALISASI RATAAN WAKTU TUNGGU OPERASI

Tujuan Instruksional

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

METODE PENCARIAN DAN PELACAKAN

BAB 2 LANDASAN TEORI

Problem-solving Agent: Searching

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

Constraint Programming: Suatu Pendekatan dalam Declarative Programming

Persoalan Cryptarithmetic dengan Algoritma Backtracking

ALGORITMA PENCARIAN (1)

ALGORITMA PENCARIAN (HEURISTIC)

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

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

APLIKASI PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITMA SEQUENTIAL SEARCH DAN FORWARD CHECKING

AI sebagai Masalah Pelacakan. Lesson 2

Penerapan Algoritma A* (A Star) Sebagai Solusi Pencarian Rute Terpendek Pada Maze

LESSON 6 : INFORMED SEARCH Part II

Penyelesaian Masalah dengan Pencarian

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

Pemanfaatan Algoritma Runut-balik dalam Penentuan Golongan Suara pada Dunia Paduan Suara

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

METODE PENCARIAN BFS dan DFS

TIP 163. Game Engine. Topik 5 (Pert 6) Graf, Representasi Dunia, dan Algoritma Pencari Jalur (Pathfinding) Dosen: Aditya Wikan Mahastama

Implementasi Model Penjadwalan Job-Shop dalam Masalah Penjadwalan Kereta Api Jalur Tunggal dengan Pendekatan Constraint Programming

Penerapan Algoritma Backtracking pada Pewarnaan Graf

Perangkat Lunak Simulasi Langkah Kuda Dalam Permainan Catur

Algoritma A* untuk AI Path Finding bagi NPC

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

IMPLEMENTASI ALOKASI JADWAL MATA PELAJARAN SMU MENGGUNAKAN ALGORITMA KOLONI SEMUT (AKS)

Pemanfaatan Algoritma Sequential Search dalam Pewarnaan Graf untuk Alokasi Memori Komputer

SILABUS ATIFICIAL INTELIGENCE

TEKNIK PENCARIAN HEURISTIK (HEURISTIC SEARCHING)

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

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

Memanfaatkan Pewarnaan Graf untuk Menentukan Sifat Bipartit Suatu Graf

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

PENERAPAN ALGORITMA WELCH POWELL DENGAN PEWARNAAN GRAPH PADA PENJADWALAN MATA PELAJARAN SMA

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

PENERAPAN PEWARNAAN GRAF DALAM PENJADWALAN

Penerapan Algoritma Backtracking untuk Menyelesaikan Permainan Hashiwokakero

PERANCANGAN SYSTEM PAKAR GENERIC MENGGUNAKAN BINARY TREE

HEURISTIC SEARCH UTHIE

Bab 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Aplikasi Pewarnaan Graf pada Pemecahan Masalah Penyusunan Jadwal

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

Algoritma Branch & Bound

SIMULASI PENCARIAN JALAN MENGGUNAKAN ALGORITMA BACKTRACKING. Abstract

memberikan output berupa solusi kumpulan pengetahuan yang ada.

KECERDASAN BUATAN. Simple Hill Climbing. Disusun Oleh:

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

BAB 3 PERANCANGAN DAN PEMBUATAN SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Algoritma Backtracking Pada Permainan Peg Solitaire

HEURISTIC SEARCH. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

Simulasi Pencarian Rute Terpendek dengan Metode Algoritma A* (A-Star) Agus Gustriana ( )

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

ANALISIS DAN IMPLEMENTASI PENYELESAIAN GAME MINESWEEPER MENGGUNAKAN ALGORITMA GREEDY BEST FIRST SEARCH SKRIPSI IRMA Y N SIGIRO

Penerapan Algoritma Brute-Force serta Backtracking dalam Penyelesaian Cryptarithmetic

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

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

SIMULASI ALGORITMA A* UNTUK MENYELESAIKAN PATHFINDING

MASALAH, RUANG KEADAAN & PENCARIAN

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

Ruang Pencarian PERTEMUAN 3

JURNAL INFORMATIKA SIMULASI PERGERAKAN LANGKAH KUDA MENGGUNAKAN METODE BREADTH FIRST SEARCH

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

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

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

Implementasi Algoritma Backtracking untuk Memecahkan Puzzle The Tile Trial pada Permainan Final Fantasy XIII-2

PENJADWALAN MATAKULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA DAN METODE CONSTRAINT SATISFACTION

SEMINAR PROGRESS TUGAS AKHIR

SATUAN ACARA PERKULIAHAN (SAP)

LINEAR PROGRAMMING-1

Implementasi Algoritma DFS pada permainan Monument Valley

APLIKASI ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN INTEGER PROGRAMMING. Enty Nur Hayati Dosen Fakultas Teknik Universitas Stikubank Semarang

Oleh Lukman Hariadi

Kecerdasan Buatan/ Artificial Intelligence

Pengantar Sistem Pakar

Pengenalan Pola/ Pattern Recognition

Transkripsi:

Kecerdasan Buatan/ Artificial Intelligence Constraint Satisfaction Problem (CSP) Rekyan Regasari Mardi Putri, ST, MT Lailil Muflikhah, S.Kom, M.Sc Imam Cholissodin, S.Si., M.Kom M. Ali Fauzi, S.Kom, M.Kom

Pokok Bahasan 1. Constraint Satisfaction Problems (CSP) 2. Pencarian Backtracking untuk CSP 3. Local search untuk CSPs 4. Latihan Individu + Tugas Kelompok 5. Quiz 1

Constraint Satisfaction Problem CSP atau Constraint Satisfaction Problem adalah permasalahan yang tujuannya adalah mendapatkan suatu kombinasi variabel-variabel tertentu yang memenuhi aturan-aturan (constraints) tertentu. State didefinisikan dengan variables X i yang mempunyai values dari domain D i. Goal Test adalah sebuah himpunan constraints yang memberikan kombinasi yang diijinkan untuk mengisi variabel.

Contoh CSP Mewarnai Peta Variabel: WA, NT, Q, NSW, V, SA, T Ranah: Di = {red, green, blue} Syarat: 2 wilayah yang berbatasan harus berbeda warna: o WA NT, NT SA,... o (WA, NT) Є {(red, green), (red, blue), (green, red), (green, blue),...}

Contoh CSP Contoh Solusi CSP : Mewarnai Peta Solusi adalah pemberian nilai setiap variabel yang memenuhi syarat, mis : {WA=red, NT=green, Q=red, NSW=green, V=red, SA=blue, T=green}

Contoh CSP Constraint graph Binary CSP : sebuah constraint menyangkut hubungan maks. 2 variable. Constraint graph : representasi di mana node adalah variable, edge adalah constraint, mis:

Backtracking Algoritma backtracking search (penelusuran kembali) adalah suatu bentuk algoritma depth-first-search. Jika solusi partial melanggar constraint, backtracking melakukan langkah kembali ke solusi partial sebelumnya. Pada algoritma backtracking, teknik look ahead digunakan untuk meramalkan efek pemilihan variabel branching untuk mengevaluasi nilainilai variabel tersebut. Forward checking adalah salah satu cara untuk melakukan look ahead. Forward checking mencegah terjadinya konflik dengan melarang nilai-nilai yang belum diisikan ke variable untuk dipakai. Ketika suatu nilai diisikan ke suatu variabel, nilai yang berada di domain dari variabel yang konflik tersebut akan dihilangkan dari domain.

Minimum Remaining Value Adalah suatu teknik yang dikembangkan untuk menangani masalah kemungkinan besar gagal pada pencarian menggunakan CSP. MRV berkerja dengan memilih variabel yang memiliki domain legal dan paling sedikit (memiliki kemungkinan untuk membuat suatu dead-end paling besar) untuk diisikan terlebih dulu.

Backtracking Search Variable assignment berlaku komutatif, dalam arti: [WA=red lalu NT=green] sama saja [NT=green lalu WA=red] Pada tiap level, hanya perlu meng-assign satu variabel b = d Depth first search pada CSP dengan assignment satu variabel tiap level disebut backtracking search.

Backtracking example

Backtracking example

Backtracking example

Backtracking example

Memperbaiki kinerja backtracking Urutan pemilihan variable dan nilai mempengaruhi kinerja backtracking Terdapat beberapa strategi yang berlaku secara umum (general-purpose) : 1. Variable mana yang perlu di-assign terlebih dulu? 2. Nilai apakah yang perlu dicoba terlebih dulu? 3. Apakah kita bisa mendeteksi kepastian failure lebih awal? 4. Apakah kita bisa memanfaatkan struktur masalah? 5. CSP? (Representasinya jelas!)

Prinsip 1: Most Constrained Variable Variabel yang paling dibatasi o Pilih variable yang memiliki kemungkinan nilai sah paling sedikit o a.k.a. minimum remaining values (MRV) heuristic also called most constrained variable or fail first

Prinsip 2: Most Constraining Variable Variable paling membatasi o Pilih variable yang terlibat constraint dengan variable lain (yang belum di-assign) yang paling banyak. o Tie breaker : gunakan kalau ada 2 atau lebih variable yang sama bagusnya berdasarkan prinsip 1.

Prinsip 3: Least Constraining Value Nilai paling membebasi o Pilih nilai yang menimbulkan batasan kemungkinan nilai variable lain (yang belum di-assign) yang paling sedikit. o Jika ketiga prinsip ini digunakan, masalah n-queens dengan n=1000 bisa diselesaikan!

Forward checking Catat kemungkinan nilai sah untuk semua variable yang belum di-assign. Jika ada sebuah variable yang tidak ada kemungkinan nilai sah, langsung failure (backtrack).

Forward checking Idenya : o Simpan nilai valid untuk variable yang belum di-assign o Bila salah satu variable tidak mempunyai kemungkinan nilai yang valid maka search dihentikan

Forward checking Idenya : o Simpan nilai valid untuk variable yang belum di-assign o Bila salah satu variable tidak mempunyai kemungkinan nilai yang valid maka search dihentikan

Forward checking Idenya : o Simpan nilai valid untuk variable yang belum di-assign o Bila salah satu variable tidak mempunyai kemungkinan nilai yang valid maka search dihentikan

Constraint propagation Forward checking memberikan informasi dari variabel yang dialokasi, namun tidak dapat mendeteksi kegagalan sebelumnya. Note : Forward checking mem-propagasi (meneruskan) informasi dari variable yang sudah di-assign ke yang belum. Secara umum, ini disebut constraint propagation. Namun, tidak semua failure bisa di-deteksi secara dini.

Arc consistency Bentuk sederhana dari propagasi, membuat arc consistent X Y is consistent iff for every value x of X there is some allowed y

Arc consistency Bentuk sederhana dari propagasi, membuat arc consistent X Y is consistent iff for every value x of X there is some allowed y

Arc consistency Bentuk sederhana dari propagasi, membuat arc consistent X Y is consistent iff for every value x of X there is some allowed y Jika X kehilangan suatu nilai, neighbors dari X perlu diperiksa ulang.

Arc consistency Bentuk sederhana dari propagasi, membuat arc consistent Simplest form of propagation makes each arc consistent X Y is consistent iff for every value x of X there is some allowed y Jika X kehilangan suatu nilai, neighbors dari X perlu diperiksa ulang Arc consistency detects failure lebih dini dari pada forward checking Dapat dijalankan sebagai preprocessor atau setelah setiap assignment.

Constraint Propagation: Map Coloring R7 R6 R2 R3 R4 R5 Dengan heuristic yang admissible dan consistent, A* pasti complete dan optimal. Isikan bidang (R1..R7) di atas dengan warna : Merah, Kuning, Hijau, Biru. Bidang bertetangga tidak boleh memiliki warna yang sama. R1 1. Apakah variabel yang Anda gunakan? 2. Apakah domain yang tersedia? 3. Bagaimana Anda mengevaluasi constraints-nya?

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Constraint Propagation: Map Coloring Variabel yang harus diisi: R1,.. R7 Domain yang tersedia: warna (merah, kuning, hijau, biru) Constraints : 1. R1 <> R2,, R7, 2. R2 <> R3, 3. R3 <> R4, 4. R4 <> R5, 5. R5 <> R6, 6. R6 <> R7

Selesai