• Tidak ada hasil yang ditemukan

Modul-Bahan-Ajar-Kecerdasan-Buatan-PTIIK-Final.pdf

N/A
N/A
Protected

Academic year: 2021

Membagikan "Modul-Bahan-Ajar-Kecerdasan-Buatan-PTIIK-Final.pdf"

Copied!
98
0
0

Teks penuh

(1)

DIAN EKA RATNAWATI, S.Si.M.Kom

DEWI YANTI LILIANA,S.Kom,M.Kom

REKYAN REGASARI MP, ST.MT

LAILIL MUFLIKHAH, S.Kom.M.Sc

PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Modul Bahan Ajar

(2)

Page 1 of 98

KATA PENGANTAR

Alhamdulillah, puji Syukur penulis panjatkan kehadirat Allah SWT karena atas bimbingan dan petunjuk-Nya lah akhirnya penulis (tim teaching Kecerdasan Buatan PTIIK ) bisa menyelesaiakan Modul Ajar Kecerdasan Buatan ini dengan baik. Tak lupa sholawat dan salam semoga tetap tercurah kepada junjungan kita Nabi Muhammad saw.

Modul ajar ini merupakan materi yang diberikan tim teaching khususnya untuk mahasiswa PTIIK yang mengambil mata kuliah Kecerdasan Buatan. Tetapi tidak ada salahnya kalau dipergunakan oleh mahasiswa lain yang sedang menempuh mata kuliah tersebut.

Dengan modul ajar ini diharapkan bisa membantu meningkatkan kompetensi siswa dalam penguasaan materikecerdasan Buatan yang saat ini dianggap masih relative sulit oleh mahasiswa. Penguasaan materi ini sangat penting, karena kecerdasan buatan sebagai materi dasar untuk penguasaaan mata kuliah lain.

Penulis menyadari sepenuhnya, bahwa modul ini masih jauh dari kesempurnaan. Untuk itu, kritik konstruktif dan saran dalam rangka meningkatkan modul pengajaran ini kami tunggu. Selain itu, penulis berharap bahwa modul pengajaran dapat memberikan manfaat bagi ilmu pengetahuan dan bagi kita semua. Akhirnya, terima kasih untuk semuanya.

Malang, Desember 2012

Penulis

(3)

Page 2 of 98

DAFTAR ISI

KATA PENGANTAR ... 0

DAFTAR ISI ... 2

PENGANTAR KECERDASAN BUATAN ... 4

1. PENDAHULUAN ... 4

2. DEFINISI KECERDASAN BUATAN... 4

3. FONDASI ILMU KECERDASAN BUATAN ... 6

4. SEJARAH KECERDASAN BUATAN ... 7

5. CONTOH APLIKASI KECERDASAN BUATAN ... 8

AGEN CERDAS ... 9

1. PENDAHULUAN ... 9

2. KONSEP AGEN CERDAS DAN LINGKUNGAN ... 9

3. KONSEP PERANCANGAN AGEN CERDAS ... 10

4. JENIS LINGKUNGAN ... 11

5. JENIS AGEN ... 12

PENYELESAIAN PROBLEM DENGAN PENCARIAN (SEARCHING) ... 16

1. PENDAHULUAN ... 16

2. JENIS PROBLEM ... 16

3. FORMULASI PROBLEM ... 17

4. ALGORITMA PENCARIAN DASAR ... 19

5. STRATEGI PENCARIAN UNINFORMED ... 20

PENCARIAN HEURISTIK / INFORMED SEARCH ... 25

1. PENDAHULUAN ... 25

2.GENERATE AND TEST ... 26

3.HILL CLIMBING ... 27

4.BEST FIRST SEARCH ... 32

CONSTRAINT SATISFACTION PROBLEM ... 40

1. PENDAHULUAN ... 40 2. KOMPONEN CSP ... 41 3. BACKTRACKING ... 42 4. FORWARD CHECKING ... 45 5.CONSTRAINT PROPAGATION ... 46 6.ARC CONSISTENCY ... 46

(4)

Page 3 of 98

LOGICAL AGENTS ... 51

1. PENDAHULUAN ... 51

2. AGEN BERBASIS PENGETAHUAN (KNOWLEDGE-BASED AGENT) ... 52

3. AGEN BERBASIS LOGIKA ... 54

FIRST ORDER LOGIC

... 60

1.PENDAHULUAN... 60

2. FIRSTORDERLOGIC ... 61

3. CONTOH... 66

4. PROPAGASI ... 68

LOGIC PROGRAMMING ... 69

1. PENDAHULUAN ... 69

2. PARADIGMA PEMROGRAMAN ... 69

3. LOGIC PROGRAMMING IN PROLOG ... 70

4. APLIKASI PEMROGRAMAN LOGIKA ... 73

UNCERTAINTY (KETIDAKPASTIAN) ... 74

1. PENDAHULUAN ... 74 2.UNCERTAINTY ... 75 3. CONTOH... 79

BAYESIAN NETWORK ... 82

1. PENDAHULUAN ... 82

2. SINTAK BAYESIAN NETWORK ... 82

KECERDASAN BUATAN:LEARNING ... 87

1.PENDAHULUAN... 87

2. LEARNING (PEMBELAJARAN) ... 88

3.PROPAGASI ... 90

(5)

Page 4 of 98

Kecerdasan Buatan:

PENGANTAR KECERDASAN BUATAN

Dian Eka Ratnawati, S.Si, M.Kom,Dewi Yanti Liliana, S.Kom., M.Kom. Lailil Muflikhah,S.Kom,M.Sc,Rekyan Regasari,ST,MT

Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya, Email : ptiik@ub.ac.id

1. Pendahuluan 1.1. Pengantar 1.2. Tujuan

2. Definisi Kecerdasan Buatan 3. Fondasi Ilmu Kecerdasan Buatan 4. Sejarah Kecerdasan Buatan

5. Contoh Aplikasi Kecerdasan Buatan 6. Rangkuman

7. Latihan

1. PENDAHULUAN

1.1 Pengantar

Kecerdasan Buatan adalah salah satu disiplin ilmu dalam bidang komputer yang terus berkembang. Bidang Kecerdasan Buatan atau bahasa aslinya Artificial Intelligence (disingkat AI) berusaha tidak hanya untuk memahami tetapi juga untuk membangun entitas cerdas. AI meliputi banyak sub-bidang, mulai dari bidang umum sampai untuk tugas-tugas spesifik.

1.2 Tujuan

Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :

 Mengetahui apa itu kecerdasan buatan.

 Mengetahui fondasi dan sejarah kecerdasan buatan.

 Mengetahui contoh aplikasi kecerdasan buatan.

2. DEFINISI KECERDASAN BUATAN

Definisi AI menurut Russel dan Norvig (Russel, Norvig, 2003) dapat dikategorikan menjadi dua dimensi utama yang membahas proses/penalaran berpikir (reasoning) dan perilaku/tindakan (behavior). Selanjutnya definisi AI dapat dijabarkan lagi berdasarkankinerja (performance) dan rasionalitasnya. Keempat sudut pandang tersebut membentuk matriks definisi AI, seperti yang terdapat pada gambar 1.1.

PEN

GANT

AR KE

CERDAS

AN

B

UAT

AN

MODUL

1

(6)

Page 5 of 98

Gambar 1.1. Matriks definisi kecerdasan buatan Penjelasan dari matriks pada gambar 1.1. adalah sebagai berikut: 1. Sistem yang bertindak seperti manusia (act humanly)

“Ilmu tentang bidang mental melalui penggunaan model komputasional.” (Charniak & McDermott, 1985)

Tes Turing:

Pada tahun 1950 Turing mengusulkan ide untuk mendefinisikan kecerdasandalam makalahnya yang berjudul “Computing machinery and intelligence". Pertanyaan utamanya adalah untuk mengetahui apakah mesin dapat berpikir atau tidak yang masih tidak jelas. Untuk mengetahui jawaban atas masalah tersebut, ia merancang sebuah skenario pengujian antara komputer dan manusia, serta seorang interrogator yaitu manusia. Fokusnya bukan untuk menjawab pertanyaan tentang kemampuan mesin untuk berpikir, tetapi untuk mengamati kemampuan mesin untuk berperilaku cerdas. komputer berhasil melewati tes jika interogator manusia, setelah mengajukan beberapa pertanyaan tertulis , tidak bisa menentukan apakah jawaban tertulis itu berasal dari komputer atau manusia.

Turing memprediksi bahwa pada tahun 2000, komputer mungkin memiliki kesempatan 30% untuk membodohi orang awam selama 5 menit. Prediksi Turing tersebut terbukti. Saat ini komputer sudah dapat melakukan serangkaian tes Turing yang dikenal sebagai imitation game. Untuk dapat melakukan hal tersebut komputer perlu memiliki beberapa kemampuan yaitu:

 Pemrosesan bahasa alami (natural language processing) agar komputer dapat berkomunikasi dengan bahasa alami manusia.

 Representasi pengetahuan (knowledge representation) untuk menyimpan apa yang diketahuinya.

 Penalaran otomatis (Automated reasoning) yang menggunakan informasi yang tersimpan untuk menjawab pertanyaan maupun menarik kesimpulan baru.

 Pembelajaran mesin (Machine learning) untuk beradaptasi pada lingkungan baru dan mendeteksi serta mengenali pola

Computer vision untuk menangkap dan mempersepsikan obyek.

 Robotika untuk memanipulasi obyek dan bergerak

Keenam disiplin ini membentuk ilmu AI, dan Allan Turing adalah orang yang berjasa mendesain serangkaian tes yang tetap relevan 50 tahun kedepan.

2. Sistem yang berpikir seperti manusia (think humanly)

“Upaya untuk membuat komputer dapat berpikir. Mesin dengan pikiran dalam makna sebenarnya.” (Haugeland, 1985)

Pendekatan pemodelan kognitif:

Untuk menyatakan apakah suatu program komputer dapat berpikir seperti manusia, haruslah dapat ditentukan bagaimanakah proses manusia berpikir. Untuk menjawabnya perlu

Sistem yang berpikir seperti manusia Thinking humanly

Sistem yang berpikir secara rasional

Thinking rationally Sistem yang bertindak

seperti manusia Acting humanly

Sistem yang bertindak secara rasional

(7)

Page 6 of 98

eksperimen psikologi. Jika kita punya cukup pengetahuan tentang teori pikiran, maka sangat memungkinkan mengekspresikan teori tersebut dalam program komputer.

Pada era 1960an muncul ilmu kognitif sebagai suatu bidang interdisipliner yang menggabungkan model komputer pada AI dengan teknik eksperimen pada psikologi untuk membangun teori tentang cara kerja otak manusia.

Ahli komputer menyatakan bahwa algoritma komputer yang berjalan baik dalam menyelesaikan suatu masalah merupakan model proses berpikir manusia. Pada akhirnya bidang AI terpisah dari psikologi kognitif. Kedua bidang tersebut saling mendukung khususnya pada ranah computer vision dan pemrosesan bahasa alami.

3. Sistem yang berpikir rasional (think rationally)

“Seni menciptakan mesin yang dapat mengerjakan fungsi yang membutuhkan kecerdasan jika dikerjakan oleh manusia.” (Kurzweil, 1990)

“Laws of thought” = pendekatan penalaran

Filosofis Yunani, Aristotles adalah orang pertama yang berupaya mengkodekan “berpikir dengan benar” atau melalui proses penalaran (reasoning). Proses ini dikenal dengan silogisme, yaitu suatu struktur/pola memberikan argument melalui sekumpulan premis yang akan selalu memberikan konklusi yang benar.

Contoh silogisme:

Premis 1: Socrates adalah manusia Premis 2: Semua manusia bisa mati Konklusi: Socrates bisa mati

Ilmu yang mempelajari pendekatan penalaran ini disebut Logika.

Para ahli logika di abad ke-19 membangun notasi standar logika untuk menyatakn seluruh kejadian di dunia beserta relasinya. Ada beberapa hambatan pada pendekatan logika yaitu:

1. Tidak mudah untuk memperoleh pengetahuan informal dan menyatakannya dalam istilah formal (notasi logika).

2. Mekanisme logika membutuhkan biaya komputasi yang tinggi.

3. Pemecahan masalah "pada prinsipnya" ≠ pemecahan masalah dalam praktek. 4. Sistem yang bertindak rasional (act rationally)

“AI berfokus pada perilaku cerdas pada suatu alat.” (Nilsson, 1998) Pendekatan agen rasional.

Agen adalah sesuatu yang dapat melakukan tindakan. Agen kecerdasan buatan diharapkan dapat melakukan tindakan yang membedakannya dari program komputer biasa. Tindakan tersebut seperti operasi otonom, mempersepsikan (merasa) lingkungannya, adaptif terhadap perubahan, dan bisa mencapai suatu tujuan. Agen rasional adalah agen yang dapat bertindak untuk mencapai hasil yang terbaik (memaksimalkan tercapainya goal/tujuan).

3. FONDASI ILMU KECERDASAN BUATAN

Ilmu kecerdasan buatan merupakan kontribusi dari berbagai disiplin ilmu, tidak eksklusif dari bidang komputer saja. Fondasi ilmu yang membentuk kecerdasan buatan yaitu:

1. Filsafat:

 Pikiran adalah seperti mesin

 Menggunakan pengetahuan untuk mengoperasikan sesuatu

 Pemikiran digunakan untuk mengambil tindakan 2. Matematika

 Alat untuk memanipulasi pernyataan logis

(8)

Page 7 of 98

 Penalaran algoritma 3. Ekonomi

Pengambilan keputusan untuk memaksimalkan hasil yang diharapkan 4. Neuroscience (Ilmu syaraf)

 Studi tentang sistem syaraf

 Bagaimana otak memproses informasi 5. Psikologi

 Ilmu kognitif

 Manusia dan hewan adalah mesin pengolah informasi 6. Teknik komputer

Menyediakan alat/artefak untuk aplikasi AI 7. Teori kontrol

Merancang perangkat yang bertindak optimal berdasarkan umpan balik dari lingkungan.

8. Bahasa

Bagaimana bahasa berhubungan dengan pikiran. Knowledge representation language dan natural language processing.

4. SEJARAH KECERDASAN BUATAN

Sejarah perkembangan kecerdasan buatan dibagi menjadi beberapa periode yang dapat dijabarkan sebagai berikut:

1. Cikal bakal Kecerdasan Buatan (1943 – 1955)

- Cikal bakal AI dikerjakan oleh McCulloh & Pitts dengan Neuron buatan yang menirukan cara kerja neuron manusia dengan logika proposisional. Bisa menyelesaikan fungsi komputasi dengan struktur neuron network.

- Hebbian learning, memperkenalkan aturan sederhana untuk meng-update kekuatan antar neuron.

- Minsky & Edmonds membangun komputer neural network pertama pada 1950. - Allan Turing dianggap sebagai orang pertama yang mengeluarkan pikiran tentang

AI secara lengkap pada artikelnya yang berjudul “Computing machinery and Intelligent” pada tahun 1950.

2. Kelahiran Kecerdasan Buatan (1956)

- McCarthy menginisiasi Dartmouth Workshop pada tahun 1956 yang melahirkan suatu nama bidang baru “Artificial Intelligence”.

- Mengapa AI berbeda dengan disiplin ilmu lain yang serupa? Karena AI berfokus menirukan kemampuan manusia seperti kreatifitas, pengembangan diri, dan penggunaan bahasa. Selain itu juga karena metodologi AI merupakan cabang dari ilmu komputer yang berupaya membangun mesin yang berfungsi otonom pada lingkungan yang kompleks dan berubah-ubah.

-3. Awal mula AI yang penuh antusias dan harapan besar (1952 – 1969)

Merupakan tahap pengembangan aplikasi AI yang sukses jika dibandingan dengan program komputer primitif. Banyak aplikasi AI yang berhasil sehingga memunculkan istilah “evolusi mesin”

(9)

Page 8 of 98

- Aplikasi komersial pertama menggunakan sistem pakar bernama R1 yang digunakan oleh perusahaan Ameriak (1982).

- Jepang juga membentuk proyek jangka panjang menggunakan komputer cerdas berbasis Prolog.

5. Kecerdasan Buatan menjadi disiplin ilmu (1987 – sekarang) 6. AI menampakkan diri di semua bidang (1995 – sekarang)

5. CONTOH APLIKASI KECERDASAN BUATAN

Beberapa contoh aplikasi kecerdasan buatan yang telah diterapkan:

 DEEP BLUE mengalahkan dunia catur Garry Kasparov juara pada tahun 1997.

 ALVINN mengemudi melintasibenua Amerika (mengemudi otonom 98% dari total jarak, dari Pittsburgh ke San Diego).

 Selama Perang Teluk 1991, penggunaan aplikasi AI untuk perencanaan logistik dan program penjadwalan yang melibatkan hingga 50.000 kendaraan, kargo, dan pasukan AS.

 Program perencanaan otonom milik NASA yang mengontrol penjadwalan operasi untuk pesawat ruang angkasa.

 Proverb, aplikasi AI untuk memecahkan teka-teki silang yang lebih baik daripada kebanyakan manusia.

REFERENSI

Russell, Stuart; dan Norvig, Peter. 2003. Artificial Intelligence A Modern Approach.

International Edition, Edisi 2. Pearson Prentice-Hall Education International. New

Jersey

RANGKUMAN

 Kecerdasan Buatan (AI) berkaitan dengan pemikiran (thinking) dan perilaku (behavior).

 Fondasi ilmu yang mendasari terbentuknya AI adalah: Filsafat, Matematika, Ekonomi, Neuroscience, Teknik Komputer, Teori Kontrol, dan Bahasa (linguistik).

 AI telah maju lebih pesat saat ini karena peningkatan penggunaan metode ilmiah dalam bidang AI.

PROPAGASI

A. Latihan (evaluasi mandiri)

Jelaskan istilah pada bidang AI serta berikan beberapa contoh implementasi untuk masing-masing sub bidang tersebut!

1. Pengolahan Bahasa Alami 2.Knowledge representation 3.Automated Reasoning 4. Machine Learning 5. Computer Vision 6. Robotika

(10)

Page 9 of 98

Kecerdasan Buatan:

AGEN CERDAS

Dian Eka Ratnawati, S.Si, M.Kom,Dewi Yanti Liliana, S.Kom., M.Kom. Lailil Muflikhah,S.Kom,M.Sc,Rekyan Regasari,ST,MT

Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya, Email : ptiik@ub.ac.id

1. Pendahuluan 1.1. Pengantar 1.2. Tujuan

2. Konsep Agen Cerdas dan Lingkungan

3. Konsep Perancangan Agen Cerdas

4. Jenis Lingkungan 5. Jenis Agen

1. PENDAHULUAN

1.1 Pengantar

Pada bagian ini dapat kita lihat bahwa konsep rasionalitas dapat diterapkan pada lingkungan yang luas. Pembahasan pada bagian ini meliputi konsep agen dan lingkungannya. Selain itu juga akan dipelajari prinsip mendesain agen cerdas yang benar, berdasarkan jenis lingkungan serta jenis agen.

1.2 Tujuan

Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :

 Mengetahui konsep agen cerdas dan lingkungan agen cerdas.

 Mengetahui konsep PEAS (Performance measure, Environment, Actuators, Sensors) untuk merancang agen cerdas.

 Mengetahui jenis lingkungan dan jenis agen cerdas.

2. KONSEP AGEN CERDAS DAN LINGKUNGAN

 Agen adalah segala sesuatu yang dapat dipandang sebagai entitas pada suatu lingkungan yang mengamati melalui alat sensor dan bertindak melalui alat aktuator.

 Sebagai perbandingan, agen manusia memiliki alat sensor: mata, telinga, dan organ sensor lainnya; alat actuator: tangan, kaki, mulut, dan bagian tubuh lain sebagai alat gerak.

 Sedangkan pada agen robot: kamera dan inframerahi untuk sensor, danlengan, serta berbagai motor sebagaiaktuator.

 Agen menerima (percept) sensor dari lingkungan. Keseluruhan percept yang diterima agen pada suatu selang waktu disebut percept sequence.

Hubungan antara agen dan lingkungan dan digambarkan seperti pada gambar 2.1.

AGEN C

ERDAS

MODUL

(11)

Page 10 of 98

Gambar 2.1. Ilustrasi hubungan agen dan lingkungan

 Fungsi Agen (pada gambar 2.2. berupa kotak dengan tanda tanya) memetakanpercept sequence/percept history ke tindakan (action): [f: P * A à]

 Program agen berjalan pada arsitektur fisik untuk menghasilkan nilai fungsi f.

 agen = arsitektur + program

3. Konsep Perancangan Agen Cerdas

Rasional dapat didefinisikan sebagai: melakukan hal yang benar. Agen rasional melakukan hal yang benar berdasarkan percept apa yang ditangkap dan tindakan (action) apa yang diambil. Tindakan yang tepat adalah tindakan yang akan menyebabkan agen menjadi yang paling sukses.

Beberapa hal yang perlu ditekankan:

 Rasionalitas berbeda dari omniscience (serba tahu/mengetahui semua dengan pengetahuan tak terbatas).

 Agen dapat melakukan tindakan dalam rangka untuk mengubah persepsi masa depan untuk memperoleh informasi yang berguna (pengumpulan informasi, eksplorasi).

 Sebuah agen dikatakan otonom jika perilaku agen ditentukan oleh pengalaman sendiri (dengan kemampuan untuk belajar dan beradaptasi).

Pengukuran kinerja: Sebuah kriteria obyektif untuk mengukur keberhasilan suatu perilaku agen

Misalnya, mengukur kinerja dari agen vacuum-cleaner:

 Jumlah kotoran dibersihkan,

 Jumlah waktu yang dibutuhkan,

 Jumlah listrik yang dikonsumsi,

 Jumlah kebisingan yang dihasilkan, dll

Pengukuran kinerja haruslah dapat dinyatakan dalam ukuran kuantitatif. Kata “jumlah” mengindikasikan suatu ukuran kuantitatif/terukur.

Untuk setiap urutan persepsi (percept sequence) yang ada, agen rasional harus memilih tindakan yang diharapkan untuk memaksimalkan ukuran kinerjanya.

Tujuan (Goal): Setelah menentukan criteria obyektif (seperti diatas), pilih salah satu tujuan untuk menjadi fokus utama dari agen. Goal adalah tujuan utama yangberusaha dicapai oleh agen (prioritas utama)

Konsep utama perancangan agen cerdas/rasional dapat dilakukan dengan bantuan PEAS yang merupakan singkatan dari:Performance measurement, Environment, Actuators,

(12)

Page 11 of 98

Sensors. PEAS harus ditentukan sebelum desain agen cerdas. Berdasarkan informasi PEAS, kita benar dapat merancang agen untuk memenuhi tujuan yang ingin dicapai.Sebagai contoh, misalnya tugas merancang sebuah sopir taksi otomatis. Definisikan PEAS agen cerdas tersebut seperti berikut:

 Performance Measure: Aman, cepat, legal, perjalanan nyaman, memaksimalkan keuntungan

 Environment: Jalan, lalu lintas lainnya, pejalan kaki, pelanggan

 Aktuator: Setir, pedal gas, rem, sinyal, klakson

 Sensor: Kamera, sonar, speedometer, GPS, odometer, sensor mesin, keyboard Contoh lain dari mendefinisikan PEAS:

Agen: sistem diagnosis Medis

 Performance Measure: Pasien Sehat, meminimalkan biaya, tuntutan hukum

 Environment: Pasien, rumah sakit, staf

 Aktuator: Layar display (pertanyaan, tes, diagnosis, pengobatan, rujukan)

 Sensor: Keyboard (masuknya gejala, temuan, jawaban pasien) Agen: Part-picking robot (robot pengambil komponen)

 Performance Measure: Persentase berapa bagian masuk ke kotak yang benar

 Environment: Conveyor, komponen-komponen, kotak komponen

 Aktuator: lengan dan tangan robot

 Sensor: Kamera, sensor sudut persendian

4. Jenis Lingkungan

Jenis lingkungan tempat agen cerdas bekerja dapat ditinjau dari beberapa aspek (berikut aspek yang menjadi lawannya,) bergantung lingkungan dimana agen tersebut berada. Aspek-aspek lingkungan adalah:

 Sepenuhnya teramati vs Sebagian teramati: Lingkungan sepenuhknya teramati jika sensor mendeteksi semua aspek yang relevan dengan pilihan action. Sebuah sensor agen memberikan akses ke keadaan lengkap lingkungan pada setiap titik waktu. Lingkungan sebagian teramati karena sensor berisik dan tidak akurat.

 Deterministik vs Stokastic: Keadaan berikutnya lingkungan sepenuhnya ditentukan oleh keadaan saat ini dan tindakan yang dilakukan oleh agen. (Jika lingkungan deterministik kecuali untuk tindakan agen lain, maka disebut lingkungan strategis).

 Episodik vs Sekuensial: Pengalaman agen dibagi menjadi "episode" atom (setiap episode terdiri dari: agen mengamati (percept) dan kemudian melakukan tindakan tunggal), dan pilihan tindakan di setiap episode hanya bergantung pada episode itu sendiri.

- Contoh: Klasifikasi (episodik), catur danpengemudi taksi otonom (sekuensial).

 Statis vs Dinamis: Lingkungan berubah, agen tidak perlu terus mencari pada lingkungan untuk memutuskan sesuatu. Pada lingkungan dinamis terus meminta agen apa yang ia ingin lakukan.

(Lingkungan semidinamis jika lingkungan itu sendiri tidak berubah dengan berlalunya waktu namun skor kinerja agen berubah)

 Diskrit vs Kontinu: Jumlah state/tindakan untuk mencapai goal terbatas (diskrit), persepsi yang jelas dan tindakan yang terhingga. (misalnya, catur - diskrit, mengemudi taksi - kontinyu).

 Agen tunggal vs agen multi: Seorang agen yang beroperasi dengan sendirinya dalam suatu lingkungan.

(13)

Page 12 of 98

• Dunia nyata (tentu saja) secara parsial diamati, stokastik, sekuensial, dinamis, terus menerus, multi-agen.

5. Jenis Agen

Empat jenis dasar agen terurut dari yang paling umum ke khusus:

 Agen refleks sederhana: Agen memilih tindakan berdasarkan persepsi saat ini, mengabaikan sisa sejarah persepsi.

 Agen reflex berbasis model: Agen mempertahankan state internal yang bergantung pada sejarah persepsi, mencerminkan beberapa aspek teramati dari kondisi saat ini.

 Agen berbasis tujuan: Agen memiliki informasi tentang tujuan dan memilih tindakan untuk mencapai tujuan

 Agen berbasis utilitas: Agen menyatakan/menetapkan pengukuran kuantitatif terhadap lingkungan (ranking). Pemilihan tindakan yang rankingnya paling tinggi (paling dekat mencapai tujuan).

 Agen berbasis pembelajaran: Agen belajar dari pengalaman, dapat beradaptasi untuk meningkatkan kinerja.

Penjelasan:

1. Agen refleks sederhana (Simple Reflex Agent)

Gambar 2.2. Simple Reflex Agent Agen Refleks Sederhana:

 Aturan kondisi-tindakan: Kondisi yang memicu beberapa tindakan

 ex. Jika mobil di depan mengerem (kondisi) kemudian memulai pengereman (tindakan)

 Agen refleks Sederhana sederhana namun sangat terbatas kecerdasannya.

 Menghubungkan percept ke tindakan.

 keputusan yang benar dapat dibuat hanya dalam lingkungan yang penuh teramati. Simple Reflex Agent

function SIMPLE-REFLEX-AGENT (percept) return an action static: rules, a set of condition-action rules

state INTERPRET-INPUT (percept) rule RULE-MATCH(state,rules) action RULE-ACTION[rule] return action

(14)

Page 13 of 98

o INTERPRET-INPUT merupakan fungsi yang menghasilkan deskripsi dari kondisi saat ini dari percept.

o RULE-MATCH merupakan fungsi yang mengembalikan aturan pertama dalam seperangkat aturan yang cocok dengan deskripsi yang diberikan oleh suatu state.

2. Agen Berbasis Model

Gambar 2.3. Model berbasis Agen

 Cara yang paling efektif untuk menangani pengamatan parsial adalah melacak bagian dari dunia yang bisa teramati saat ini (current state).

 Agen mempertahankan keadaan internal yang bergantung pada sejarah persepsi dan dengan demikian mencerminkan beberapa aspek teramati dari kondisi saat ini.

 Untuk memperbarui informasi keadaan internal memerlukan dua pengetahuan: o Bagaimana dunia berkembang secara independen dari agen

o Bagaimana tindakan agen memengaruhi dunia

 Pengetahuan tentang "bagaimana dunia bekerja" disebut model Agen berbasis Model:

function REFLEX-AGENT-WITH-STATE (percept) return an action static: state, a description of the current world state

rules, a set of condition-action rules

action, the most recent action, initially none state UPDATE-STATE (state,action,percept) rule RULE-MATCH(state,rules)

action RULE-ACTION[rule] return action

(15)

Page 14 of 98 3. Agen Berbasis Goal

Gambar 2.4. Goal based agent

 Mengetahui tentang keadaan saat ini saja tidak selalu cukup untuk memutuskan apa yang harus dilakukan.

 Agen membutuhkan informasi tujuan (goal) yang menggambarkan situasi yang diinginkan

4. Agen berbasis Utilitas

Gambar 2.5. AgenberbasisUtilitas

 Mencapai tujuan saja tidak cukup untuk menghasilkan perilaku berkualitas tinggi perilaku dalam lingkungan.

 Seberapa cepat? Seberapa aman? Bagaimana murah? Dapat diukur

(16)

Page 15 of 98 5. Agen berbasis Pembelajaran

Gambar 2.6. AgenberbasisPembelajaran

 Elemen learning bertanggung jawab untuk membuat perbaikan

 Elemen Kinerja bertanggung jawab untuk memilih tindakan eksternal

 Kritik memberikan umpan balik tentang bagaimana tindakan yang dilakukan agen

REFERENSI

Russell, Stuart; dan Norvig, Peter. 2003. Artificial Intelligence A Modern Approach.

International Edition, Edisi 2. Pearson Prentice-Hall Education International. New

Jersey

Rangkuman

 Agen berinteraksi dengan lingkungan melalui sensor dan aktuator

 Fungsi agen menjelaskan apa yang dilakukan agen dalam segala situasi

 Ukuran kinerja mengevaluasi lingkungan agen

 Sebuah agen rasional memaksimalkan kinerja yang diharapkan

 Agen program mengimplementasikan (beberapa) agen fungsi

 Deskripsi PEAS membantu mendefinisikan agen cerdas dan lingkungannya

 Lingkungan dikategorikan menjadi beberapa dimensi bergantung pada aspek-aspeknya:diamati, deterministik, episodik, statis, diskrit, single-agent?

 Beberapa arsitektur agen dasar: refleks, berbasis model, berbasis goal, berbasis utilitas, pembelajaran.

PROPAGASI

A. Latihan (evaluasi mandiri)

1. Buatlah sebuah makalah yang menjelaskan tentang agen rasional yang anda pilih sebagai agen cerdas dalam menyelesaikan suatu masalah! (Anda dapat membuat agen sendiri yang tidak pernah ada sebelumnya atau sesuatu dalam imajinasi Anda, misal agen pembantu rumah tangga.)

(17)

Page 16 of 98

Kecerdasan Buatan:

Penyelesaian Problem dengan Pencarian

(searching)

Dian Eka Ratnawati, S.Si, M.Kom, Dewi Yanti Liliana, S.Kom., M.Kom. Lailil Muflikhah,S.Kom,M.Sc, Rekyan Regasari,ST,MT

Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya

1. Pendahuluan 1.1. Pengantar 1.2. Tujuan 2. Jenis Problem 3. Formulasi Problem

4. Algoritma Pencarian Dasar 5. Strategi Pencarian Uninformad

1. PENDAHULUAN

1.1 Pengantar

Pada bagian ini dibahas agen cerdas penyelesaian problem, serta strategi uninformed untuk memecahkan masalah. Terdapat beberapa teknik yang termasuk dalam strategi pencarian uninformed.

1.2 Tujuan

Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :

 Mengetahui jenis problem/masalah

 Dapat memformulasi problem

 Mengetahui contoh penyelesaian problem

 Mengetahui strategi pencarian tanpa informasi (uninformed)

2. JENIS PROBLEM

 Agen penyelesaian problem adalah jenis agen berbasis tujuan/goal.

 Agen berbasis tujuan memutuskan apa yang harus dilakukan dengan menemukan urutan tindakan yang mengarah ke state yang paling diinginkan.

 Tahapan penting/utama adalah perumusan tujuan dan perumusan masalah.

 Searching merupakan mekanisme yang menggunakan masalah sebagai masukan dan mengembalikan solusi dalam bentuk urutan tindakan.

 Eksekusi didasarkan pada algoritma pencarian yang digunakan.

Penyel

es

aian Prob

le

m

de

ngan

Pencari

a

n (

se

arc

h

ing

)

MODUL

3

(18)

Page 17 of 98

3. FORMULASI PROBLEM

Deskripsi Masalah:

 Pada suatu liburan di negara Rumania, saat ini (current state) berada di kota Arad.

 Penerbangan meninggalkan Rumania besok dari kota Bucharest.

 Merumuskan tujuan:berada di Bucharest

 Merumuskan masalah: o states: berbagai kota

o tindakan: menyetir melewati kota-kota di Rumania dari Arad ke Bucharest o Cari Solusi:urutan kota, misalnya, Arad, Sibiu, Fagaras, Bucharest

Gambar 3.1 Peta Rumania Sebuah masalah yang didefinisikan oleh:

1. state awal misalnya, "di Arad"

2. tindakan atau fungsi successor S (x) = set tindakan-state

 <action,successor(state)>

 misalnya, S (Arad) = {<Arad à Zerind, Zerind>, ...}

 tujuan, dapat berupa tujuan eksplisit, misalnya, x = "di Bucharest", implisit, misalnya, Checkmate (x)

3. jalur biaya (aditif)

 Menetapkan biaya numerik untuk setiap jalur

 Misalnya, jumlah jarak, jumlah tindakan yang dieksekusi, dll

 c (x, a, y) adalah biaya per langkah, diasumsikan ≥ 0

 Solusi adalah urutan tindakan dari state awal ke state tujuan

 kualitas Solusi diukur oleh fungsi biaya Contoh State Space

1. Vacuum world state space

(19)

Page 18 of 98

 states? Letak kotoran dan lokasi robot  actions?Left, Right, Suck

 goal test?Tidak ada kotoran sama sekali di semua lokasi  path cost? 1 per action

2. The 8-puzzle Problem

Gambar 3.3. Problem 8-puzzle

 states?Lokasi setiap kotak nomor

 actions? move, blank, left, right, up, down  goal test? = goal state (terdapat pada gambar)  path cost? 1 per move

3. 8-Queens Problem

Gambar 3.4. 8-Queens Problem

 states?Papan catur dengan n queens (n= 1…8)

 actions? move, left, right, up, down

 goal test? = 8 queens pada posisi yang benar, tidak ada yang saling serang  path cost? 1 per move

4. Robotic assembly

Gambar 3.5. Robotic assembly

 states?: Nilai riil koordinat robot joint angles  actions?: gerakan kontinyu robot joints  goal test?: complete assembly

(20)

Page 19 of 98

4. ALGORITMA PENCARIAN DASAR

Ide dasar: Eksplorasi secara offline , simulasi state space dengan menghasilkan turunan (successor) dari state yang sudah dieksplorasi (dikenal sebagai expanding state).

Algoritma pencarian dasar:

General tree search

Contoh Tree untuk permasalahan Tur Rumania:

Gambar 3.6. Tree untuk tur Rumania Implementasi: state vs node

 Sebuah state adalah (representasi) konfigurasi fisik

 Sebuah node adalah sebuah struktur data yang merupakan bagian dari tree pencarian meliputi state, parent node, tindakan, jalur biaya g (x), dan kedalaman.

 Fungsi Expand menciptakan node baru, mengisi berbagai bidang dan menggunakan SuccessorFn dari masalah untuk menciptakan state yang sesuai.

(21)

Page 20 of 98

Gambar 3.7. Implementasi state vs node

5. STRATEGI PENCARIAN UNINFORMED

 Sebuah strategi pencarian didefinisikan dengan memilih urutan ekspansi node.

 Strategi dievaluasi sepanjang dimensi berikut:

o kelengkapan: apakah selalu mencari solusi jika ada? o kompleksitas waktu: jumlah node yang dihasilkan

o kompleksitas ruang: jumlah maksimum node dalam memori o optimalitas: apa selalu menemukan solusi yang paling murah?

 kompleksitas waktu dan ruang diukur dalam hal: b: faktor percabangan maksimum search tree d: kedalaman solusi yang paling murah

m: panjang maksimum setiap path (mungkin ∞)

Strategi pencarian uninformed hanya menggunakan informasi yang tersedia dalam definisi masalah. Terdapat 5 teknik yang termasukstrategi uninformed, yaitu:

1. Breadth-first search 2. Uniform-cost search 3. Depth-first search 4. Depth-limited search

5. Iterative Deepening search Penjelasan masing-masing adalah: 1. Breadth-first search (BFS)

 Memperluas node terdangkal yang belum diekspansi

 Implementasi:

Urutan ekspansi dari node A – D : A-B-C-D

Properti BFS

(22)

Page 21 of 98

 Waktu? 1 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1)

 Ruang? O(bd+1) (setiap node terus disimpan dalam memori)  Optimal? Ya (jika biaya = 1 per langkah)

 Ruang adalah masalah yang lebih besar (lebih dari waktu)

2. Uniform Cost Search (UCS)

 Sama seperti BFS dengan tambahan pembentukan tree diurutkan berdasarkan cost yang paling murah/least-cost

 Urutan ekspansi seperti BFS

 Implementasi: tree/queue diurutkan berdasarkan least-cost

 Lengkap? Ya, jika biaya langkah ≥ ε

 Waktu? Jumlahnode dengan g ≤ biaya solusi optimal, O(bceiling(C*/ ε))di mana C* adalah biaya dari solusi optimal

 Space? Jumlah node dengan g ≤ biaya solusi optimal, O(bceiling(C*/ ε))

 Optimal? Ya - node diperluas dalam rangka peningkatan g (n) 3. Depth-first search (DFS)

Pencarian unexpanded node terdalam

(23)

Page 22 of 98

Urutan ekspansi dari A ke M: A-B-D-H-I-E-J-K-C-F-L-M

Properti BFS:

 Lengkap? Tidak: bisa gagal dalam ruang pencarian takterbatas, ruang pencarian dengan loop

 Waktu? O(bm):mengerikan jika m jauh lebih besar daripada d tetapi jika solusi padat, mungkin jauh lebih cepat daripada BFS

 Space? O (bm), yaitu, ruang linear!

 Optimal? Tidak

4. Depth Limited Search (DLS)

• Merupakan strategi DFS dengan batas kedalaman tree l yang didefinisikan sebelumnya. • Rekursif Pelaksanaan DLS:

5. Iterative Deepening Search (IDS)

• Prinsip dari strategi ini adalah melakukan pencarian DLS secara bertahap dengan nilai l yang ditambahkan pada setiap iterasinya.

• Strategi ini mengkombinasikan keuntungan BFS dan DFS (kelengkapan dan kompleksitas ruang linear dijamin). Lakukan pencarian DLS dengan l = 0,1,2, ... sampai tidak cutoff • Ilustrasi:

(24)

Page 23 of 98 Properti IDS

 Lengkap? Ya

 Waktu? ((d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd)

 Space? O (bd)

 Optimal? Ya, jika step cost= 1 Ringkasan Strategi Uninformed Search

Gambar 3.8. Ringkasan strategi uninformed search

REFERENSI

Russell, Stuart; dan Norvig, Peter. 2003. Artificial Intelligence A Modern Approach.

International Edition, Edisi 2. Pearson Prentice-Hall Education International. New Je

rsey

(25)

Page 24 of 98

Rangkuman

 Perumusan masalah biasanya membutuhkan abstrak pergi rincian dunia nyata untuk menentukan ruang state yang bisa dieksplorasi.

 Agen penyelesaian problem dapat memecahkan masalah dan mencapai tujuan melalui strategi pohon pencarian (searching tree).

 Berbagai strategi pencarian uninformed: BFS, UCS, DFS, DLS, IDS

 IDS hanya menggunakan ruang linear dan tidak banyak waktu lebih dari algoritma uninformed lainnya.

PROPAGASI

A. Latihan (evaluasi mandiri)

Formulasikan masalah perjalanan dari Arad ke Bucharest (Lihat Peta Rumania)! desainlah search treemasalah ini menggunakan kelima strategi uninformed search, kemudian

(26)

Page 25 of 98

Kecerdasan Buatan:

PENCARIAN HEURISTIK / INFORMED SEARCH

Dian Eka Ratnawati, S.Si, M.Kom, Dewi Yanti Liliana, S.Kom., M.Kom. Lailil Muflikhah,S.Kom,M.Sc, Rekyan Regasari,ST,MT

Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya

Program Teknologi Informasi dan Ilmu Komputer,

1. PENDAHULUAN 1.1 Pengantar 1.2 Tujuan 1.3 Definisi 2. Generate and Test

3. Hill Climbing 4. Best First Search 5. Latihan

1. PENDAHULUAN

1.1 Pengantar

Pada modul 4 ini akan dibahas mengenai pencarian heuristik. Pencarian heuristik (informed search) lebih cepat dan bagus daripada pencarian buta (uninformed search) yang sudah dibahas pada modul 3. Hal ini karena pada pencarian heuristik ditambahkan informasi tambahan yang bisa berupa bobot, jarak atau yang lain. Informasi tambahan tersebut yang akan mempercepat dan membantu proses pencarian. Tetapi ada kelemahan dari metode ini yaitu solusi yang dihasilkan bisa jadi bukan yang terbaik.

Ada beberapa pencarian heuristik yang akan dibahas pada modul 4 ini , diantaranya adalah pertama : Bangkitkan - dan - Uji (Generate and Test), kedua :Pendakian Bukit (Hill Climbing)yang meliputiSimple Hill Climbing dan SteepestAscent Hill Climbing, kemudian yang terakhir Pencarian Terbaik Pertama (Best First Search) yang meliputi Greedy Best First Search dan Algoritma A*.

1.2 Tujuan

Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :

1. Memahami dan mengerti Metode Pencarian heuristikyaitu Bangkitkan - dan - Uji (Generate and Test), Pendakian Bukit (Hill Climbing) yang meliputiSimple Hill Climbing dan SteepestAscent Hill Climbing, Best First Search yang meliputi Greedy Best First Search dan Algoritma A*.

2. Menerapkan metode inform search tersebut untuk menyelesaikan berbagai permasalahan

4

P

E

NC

A

R

IA

N

H

EU

R

IS

T

IK

/

IN

F

O

R

M

E

D

S

EA

R

C

H

(S

PEE

D)

MODUL

(27)

Page 26 of 98 1.3 Definisi Heuristik

- Kata Heuristic berasal dari sebuah kata kerja bahasa Yunani, heuriskein, yang berarti ‘mencari’ atau menemukan.

- Dalam dunia pemrograman, sebagian orang menggunakan kata heuristik sebagai lawan kata algoritmik, dimana kata heuristik ini diartikan sebagai suatu proses yang dapat menyelesaikan suatu masalah tetapi tidak ada jaminan bahwa solusi yang dicari selalu dapat ditemukan.

- Pencarian heuristik merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan (statespace) suatu problem secara selektif, yang memandu proses pencarian yang dilakukan di sepanjangjalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang sia-sia dan memboroskan waktu

- Untuk dapat menerapkan heuristik tersebut dengan baik dalam suatu domain tertentu, diperlukan suatu Fungsi Heuristik.

- Fungsi heuristik ini digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.

2.GENERATE AND TEST

Algoritma :

1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu ataulintasan tertentu dari keadaan awal)

2. Uji apakah node tersebut adalah solusi dengan membandingkan node tersebut atau node akhir dari lintasan yang dipilih dengan kumpulan tujuan yang diharapkan 3. Jika solusi ditemukan,langkah–langkah tersebut dihentikan, jika tidak, kembali ke

langkah pertama

4. Jika pembangkitan atau pembuatan solusi–solusi yang dimungkinkan dapat dilakukan secara sistematis, maka prosedur ini akan dapat segera menemukan solusinya, (bila ada).

5. Namun, jika ruang problem sangat besar, maka proses ini akan membutuhkan waktu yang lama, sehingga metode generate and test ini kurang efisien untuk masalah yang besar atau kompleks.

Kelemahan metode Generate and Test:

- Membangkitkan semua kemungkinan sebelum dilakukan pengujian - Membutuhkan waktu yang cukup besar dalam pencariannya

Contoh Soal :

Seorang salesman ingin mengunjungi n kota. Jarak tiap kota sudah diketahui seperti terlihat pada gambar 4.1.Bantu salesman untuk menentukan rute terpendek, dimana setiap kota hanya boleh dikunjungi 1 kali. Misal ada 4 kota dengan jarak sebagai berikut:

Gambar 4.1 Penyelesaian :

Membangkitkan solusi - solusi yang mungkin dengan menyusun kota – kota dalam urutan abjad, yaitu: A B D C 8 6 7 3 4 5

(28)

Page 27 of 98

 A – B – C – D

 A – D – B – C dan seterusnya

Jumlah seluruh kombinasi abjad yangmenjadi sulusi adalah n!.

Pilih keadaan awal, mis ABCD dengan panjang lintasan 19.Lakukan backtracking untuk mendapatkan lintasan ABDC 18.Bandingkan lintasan ABDC dengan sebelumnya, lintasan terpendek akan dipilih untuk dilakukan backtracking lagi.

Tabel 4.1 Alur pencarian dengan

generate & test

pada TSP.

Pencarian

ke- Lintasan Lintasan Panjang Lintasan terpilih

Panjang Lintasan terpilih 1. ABCD 19 ABCD 19 2. ABDC 18 ABDC 18 3. ACBD 12 ACBD 12 4. ACDB 13 ACBD 12 5. ADBC 16 ACBD 12 6. ADCB 18 ACBD 12 7. BACD 17 ACBD 12 8. BADC 21 ACBD 12 9. BCAD 15 ACBD 12 10. BCDA 18 ACBD 12 11. BDAC 14 ACBD 12 12. BDCA 13 ACBD 12 13. CABD 15 ACBD 12 14. CADB 14 ACBD 12 15. CBAD 20 ACBD 12 16. CBDA 16 ACBD 12 17. CDAB 21 ACBD 12 18. CDBA 18 ACBD 12 19. DABC 20 ACBD 12 20. DACB 15 ACBD 12 21. DBAC 15 ACBD 12

22. DBCA 12 ACBD atau DBCA 12

23. DCAB 17 ACBD atau

DBCA

12

24. DCBA 19 ACBD atau DBCA 12

3.

HILL CLIMBING

Hill climbing merupakan salah satu variasi metode Bangkitkan - dan - Uji (generate and test) dimana umpan balik yang berasal dari prosedur uji digunakan untuk memutuskan arah gerak dalam ruang pencarian.

Dalam prosedur Hill Climbing, fungsi ujidikombinasikan dengan fungsi heuristik yang menyediakan pengukuran kedekatan suatu keadaan yang diberikan dengan tujuan (goal).

3.1. Simple Hill Climbing Algoritma :

1. Mulai keadaan awal, lakukan pengujian: jika tujuan maka stop,jika tidak maka lanjuntukan dengan keadaan sekarang sebagai keadaan awal.

2. Ulangi langkah berikutnya hingga solusi ditemukan atau sampai tidak ada operator baru yang diaplikasikan pada keadaan sekarang:

(29)

Page 28 of 98

a. Pilih operator yang belum pernah digunakan, gunakan operator untukmendapatkan keadaan yang baru

b.Evaluasi keadaan baru tersebut :

(i) Jika keadaan baru adalah tujuan, keluar

(ii) Jika tidak, namun nilainya lebih baik dari keadaan sekarang, maka jadikan keadaan baru tersebutmenjadi keadaan sekarang

(iii) Jika keadaan baru tidaklebih baik daripada keadaan sekarang, makalanjuntukan iterasi

Masalah yangakan timbulpadaprosedur Hill Climbing :

Local optimum : adalah suatu keadaan yang lebih baik daripada semua tetangganya

namun masih belum lebih baik dari suatu keadaan lain yang jauh letaknya darinya

 Sering muncul ketika sdh mendekati solusi.

Gambar 4.5. Hill Climbing

Plateau(Daratan):adalah suatu daerah datar dari ruang pencarian (search) dimana

keadaan semua tetangga sama dengann keadaan dirinya

Ridengane (Punggung) : local optimum yang lbh disebabkan karena ketidak mampuan

untuk menggunakan 2 operator sekaligus. Solusinya:

1. Melakukan langkah balik (backtracking) ke simpul yang lebih awal dan mencoba bergerak ke arah yang lain.

2. Melakukan lompatan besar ke suatu arah untuk mencoba bagian ruang pencarian yang baru.

3. Menerapkan dua atau lebih aturan sebelum melakukan uji coba. Ini bersesuaian dengan bergerak ke beberapa arah sekaligus.

Contoh Soal :

Selesaikan permasalahan TSP pada Gambar 4.1 dengan menggunakan metode Simple Hill Climbing

Jawab :

 Operator yang digunakan adalah operator yang bisa menghasilkan kombinasi lintasan kota yang berbeda, yaitu dengan menukar urutan posisi 2 kota dalam suatu lintasan.

 Bila ada n kota maka kombinasi lintasan :

Sehingga kalau ada 4 kota, menjadi: 6 )! 2 4 ! ( 2 ! 4

 kombinasi. Keenam kombinasi ini akan dipakai semuanya sebagai operator, yaitu

2

!

!

2

!

n

n

(30)

Page 29 of 98

1. (1,2) tukar urutan posisi kota ke-1 dengan kota ke-2 2. (2,3) tukar urutan posisi kota ke-2 dengan kota ke-3 3. (3,4) tukar urutan posisi kota ke-3 dengan kota ke-4 4. (4,1) tukar urutan posisi kota ke-4 dengan kota ke-1 5. (2,4) tukar urutan posisi kota ke-2 dengan kota ke-4 6. (1,3) tukar urutan posisi kota ke-1 dengan kota ke-3

Pencarian dilihat dari anak kiri, bila nilai heuristik anak kiri lebih baik maka dibuka untuk pencarian selanjutnya, bilatidak baru melihat tetangga dari anak kiri tersebut.

Pada pencarian ini, penggunaan urutan dari kombinasi harus konsisten, misalnya pada penyelesaian ini urutan sesuai no 1 sampai dengan 6 seperti yang ada di atas. Urutan kombinasi yang lain juga diperkenankan, yang penting konsisten untuk semua level. Untuk lebih jelasnya bisa dilihat seperti pada Gambar 4.2.

Gambar 4.2 Metode Simple Hill Climbing dengan 6 operator.

Keterangan Gambar 4.2:

o Pada Gambar 4.2 terlihat bahwa, pada keadaan awal, lintasan terpilih adalah ABCD (=19).

o Pada level pertama, hill climbing akan mengunjungi BACD (=17), BACD memiliki nilai heuristik lebih kecil dibandingkan dengan ABCD (17<19), sehingga BACD menjadi pilihan selanjutnya dengan operator Tukar1,2.

o Pada level kedua, hill climbing akan mengunjungi ABCD. Karena operator Tukar1,2 sudah digunakan oleh BACD, maka dipilih node yang lain yaitu BCAD (=15). Karena

ABCD D

BACD ACBD ABDC DBCA

Tk 1,2 Tk 2,3 Tk 3,4 Tk 4,1 ADCB CBAD Tk 2,4 Tk 1,3 (19) (17)

ABCD BCAD BADC DACB

Tk 1,2

Tk 2,3 Tk 3,4 Tk 4,1

BDCA CABD

Tk 2,4 Tk 1,3

(15)

CBAD BACD BCDA DCAB BDAC ACBD

Tk 1,2 Tk 2,3 Tk 4,1

Tk 2,4 Tk 1,3 Tk 3,4

(20) (18) (17) (14)

DBAC BADC BDCA CDAB

Tk 1,2 Tk 3,4 Tk 4,1

BCAD ADBC

Tk 2,4 Tk 1,3

(15) (21) Tk 2,3 (13)

DBCA BCDA BDAC ADCB

Tk 1,2 Tk 3,4 Tk 4,1

BACD CDBA

Tk 2,4

(12) Tk 2,3 Tk 1,3

BDCA DCBA DBAC ABCD DACB CBDA

Tk 1,2 Tk 2,3 Tk 4,1

Tk 2,4 Tk 1,3 Tk 3,4

(19) (15) (19) (16)

(31)

Page 30 of 98

nilai heuristik BCAD lebih kecil dibanding dengan BACD (15<17), maka node BCAD akan menjadi pilihan selanjutnya dengan operator Tukar2,3.

o Kemudian hill climbing akan mengunjungi CBAD (=20). Karena nilai heuristik CBAD lebih besar jika dibanding dengan BCAD (20>17), maka dipilih node lain.

o Pencarian menuju ke node BACD, karena operator Tukar2,3 sudah pernah digunakan oleh BCAD, maka dipilih node lain.

o Kunjungan berikutnya ke node BCDA (=18). Nilai inipun masih lebih besar dari nilai heuristic BCAD, sehingga dipilih node lain.

o Node yang dikunjungi berikutnya adalah DCAB (=19). Nilai heuristik DCAB ternyata juga lebih besar dibanding dengan BCAD, sehingga pencarian dilanjuntukan di node lainnya lagi, yaitu BDAC (=14). Nilai heuristik ini sudah lebih kecil daripada nilai heuristik node BCAD (14<15), maka sekarang node ini yang akan diekplorasi.

o Pencarian pertama ditemukan node DBAC (=21), yang lebih besar daripada nilai BDAC. Nilai heuristik yang lebih kecil diperoleh pada node BDCA (=13). Sehingga node BDCA ini akan diekplorasi.

o Pencarian pertama sudah mendapatkan node dengan nilai heuristik yang kebih kecil, yaitu DBCA (=12). Sehingga node ini diekplorasi juga.

o Dari hasil ekplorasi dengan pemakaian semua operator, ternyata sudah tidak ada node yang memiliki nilai heuristik yang lebih kecil dibanding dengan nilai heuristik DBCA, sehingga sebenarnya node DBCA (=12) inilah lintasan terpendek yang kita cari (SOLUSI).

 Misalkan tidak dipergunakan semua operator, melainkan hanya dipergunakan 4 operator pertama saja, yaitu:

(a) Tukar 1,2 (menukar urutan posisi kota ke-1 dengan kota ke-2). (b) Tukar 2,3 (menukar urutan posisi kota ke-2 dengan kota ke-3). (c) Tukar 3,4 (menukar urutan posisi kota ke-3 dengan kota ke-4). (d) Tukar 4,1 (menukar urutan posisi kota ke-4 dengan kota ke-1).

 Maka pencarian dengan simple hill climbing ini dapat dilihat pada Gambar 4.3. Lintasan terpendek yang diperoleh adalah B-C-A-D yaitu sepanjang 15. Disini kita akan terjebak pada nilai minimum lokal yang disebabkan oleh kurangnya operator yang kita gunakan. Kita tidak dapat memperoleh nilai minimum globalnya yaitu sebesar 12.

Gambar 4.3. Metode Simple Hill Climbing dengan 4 operator. ABCD

BACD ACBD ABDC DBCA

ABCD BCAD BADC DACB

Tukar 1,2

Tukar 2,3 Tukar 3,4 Tukar 4,1

Tukar 1,2 Tukar 2,3

Tukar 3,4

Tukar 4,1

CBAD BACD BCDA DCAB

Tukar 1,2 Tukar 2,3 Tukar 3,4 Tukar 4,1 (19) (17) (15) (20) (17) (18) (17)

(32)

Page 31 of 98 KelemahanSimple Hill Climbing :

1. tidak semua solusi dapat ditemukan seperti pada metode generate and test 2. pembatasan kombinasi operator  penemuan solusi yang tidak maksimal 3.2. Steepest-Ascent Hill Climbing

 Algoritma :

(1) Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika tidak, lanjuntukan dengan keadaan sekarang sebagai keadaan awal.

(2) Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang.

(a) Tentukan SUCC sebagai nilai heuristik terbaik dari successor-successor. (b) Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang: i.Gunakan operator tersebut dan bentuk keadaan baru.

ii. Evaluasi keadaan baru tersebut. Jika merupakan tujuan, keluar. Jika bukan, bandingkan nilai heuristiknya dengan SUCC. Jika lebih baik, jadikan nilai heuristic keadaan baru tersebut sebagai SUCC. Namun jika tidak lebih baik, nilai SUCC tidak berubah.

(c) Jika SUCC lebih baik daripada nilai heuristik keadaan sekarang, ubah node SUCC menjadi keadaan sekarang.

Pada steepest-ascent hill climbing ini, ada 3 masalah yang mungkin, yaitu:

(1) Local optimum: keadaan semua tetangga lebih buruk atau sama dengan keadaan dirinya.

(2) Plateau: keadaan semua tetangga sama dengan keadaan dirinya.

(3) Ridengane: local optimum yang lebih disebabkan karena ketidakmampuan untuk menggunakan 2 operator sekaligus.

Contoh Soal :

Selesaikan permasalahan TSP pada Gambar 4.1 dengan menggunakan metode steepest ascent hill climbing

Jawab :

Pada metode ini, juga dipergunakan 6 operator seperti operator yang dipergunakan unttuk menyelesaikan TSP pada Simple Hill Climbing. Fungsi heuristik yang digunakan adalah panjang lintasan yang terjadi.

Gambar 4.4 Metode Steepest Ascent Hill Climbing

 Keterangan gambar 4.4.:

o Pada Gambar 4.4, terlihat bahwa, keadaan awal, lintasan terpilih adalah ABCD (19). o Pada level pertama, hill climbing akan memilih nilai heuristik terbaik dari keenam

succesor yang ada, yaitu: BACD(17), ACBD(12), ABDC(18), DBCA(12), ADCB (18) atau CBAD(20). Tentu saja yang terpilih adalah ACBD, karena memiliki nilai heuristik paling kecil (=12).

ABCD

ACBD ABDC DBCA

Tk 1,2 Tk 3,4 Tk 4,1 ADCB CBAD Tk 2,4 Tk 1,3 (19) (17)

CABD ABCD ACDB DCBA

Tk 2,3 Tk 3,4 Tk 4,1 ADBC BCAD Tk 2,4 Tk 1,3 (15) Tk 2,3 (12) (18) (12) (18) (20) BACD (13) Tk 1,2 (19) (16) (15) (19)

(33)

Page 32 of 98

o Dari ACBD ini akan dipilih nilai heuristik terbaik dari succesornya yaitu: CABD(15), ABCD(19), ACDB(13), DCBA(19), ADBC(16) atau BCAD(15). Ternyata dari keenam successor tersebut memiliki nilai heuristik yang lebih besar disbanding dengan ACBD. o Sehingga tidak akan ada perubahan nilai keadaan (tetap ACDB). Hasil yang diperoleh,

lintasannya adalah ACBD (12).

4.

BEST FIRST SEARCH

 Merupakan kombinasi kelebihan teknik depth first search dan breadth first search

 Pencarian diperkenankan mengunjungi node yang ada di level yang lebih rendah jika ternyata node pada level yang lebih tinggi ternyata memiliki nilai heuristik yang buruk

 Best First Search akan membangkitkan node berikutnya dari semua node yang pernah dibangkitkan

 Hill climbing tidak diperbolehkan untuk kembali ke node pada lebih rendah meskipun node tersebut memiliki nilai heuristik lebih baik.

 Pada best first search, pencarian diperbolehkan mengunjungi node di lebih rendah, jika

ternyata node di level lebih tinggi memiliki nilai heuristik lebih buruk.

Pada metode Best First Search cara untuk menentukan sebuah node terbaik saat inidengan menggunakan biaya perkiraan. Biaya perkiraan dapat ditentukan dengan fungsi heuristic. Suatu fungsi heuristic dikatakan baik jika bisa memberikan biaya perkiraan yang mendekati biaya sebenarnya.Semakin mendekati biaya sebenarnya, fungsi heuristic tersebut semakin baik.

Dalam kasus pencarian rute terpendek, biaya sebenarnya adalah panjang jalanRaya yang sebenarnya. Sedangkan fungsi heuristiknya adalah garis lurus dari1 kota ke kota lainnya.

Gambar 4.6. Hill Climbing

Untuk menghitung jarak antar kota bisa dipergunakan rumus euclidian: dab = ( yb – ya )2 + ( xb – xa )2

Untuk mengimplementasikan metodeBest First Search ini, dibutuhkan 2 antrian yang berisi node-node, yaitu :

 OPEN : berisi node-node yang sudah dibangkitkan, sudah memiliki fungsi heuristik namun belum diuji. Umumnya berupa antrian berprioritas yang berisi elemen-elemen dengan nilai heuristik tertinggi.

 CLOSED : berisi node-node yang sudah diuji

Pada modul ini diperkenalkan 2 algoritma yang tergolong Best First Search yaitu : 1. Greedy Best First Search

(34)

Page 33 of 98 4.1. Greedy Best First Search

 Algoritma ini merupakan jenis algoritma Best First Search yang paling sederhana  Algoritma ini hanya memperhitungkan biaya perkiraan saja

f(n) = h’(n)

 Karena hanya memperhitungkan biaya perkiraan yang belum tentu kebenarannya,

maka algoritma ini menjadi tidak optimal Contoh soal:

Dari gambar 4.7, lalukan penemuan jalur terpendek dari Arad menuju ke Bucharet dengan menggunakan menggunakan algoritma Greedy,

Gambar 4.7Kota Romania Penyelesaian :

(35)

Page 34 of 98

Gambar 4.8Penyelesaian TSP Romania dengan algoritma Greedy

Properti dari greedy best-first search

 Complete?Tidak, dapat terjebak dalam looping,contoh: Iasi  Neamt  Iasi  Neamt

 Time?O(bm), t

etapiheuristikyang baikdapat memberikanperbaikan secara dramatis

 Space?O(bm) --

menyimpansemua nodedalam memori

 Optimal?Tidak (memperluas jalurbiayaminimal tapitidak bisamenjadi optimal)

4.2. Algoritma A*(Admissible Heuristic )

 Berbeda dengan Greedy, algoritma ini akan menghitung fungsi heuristic dengan cara menambahkan biaya sebenarnya dengan biaya perkiraan.

 Heuristik adalah kriteria, metoda, atau prinsip-prinsip untuk menentukan

pilihansejumlah alternatif untuk mencapai sasaran dengan efektif.

 Nilai heuristik dipergunakan untukmempersempit ruang pencarian

 Dengan heuristik yang benar, maka A* pasti akan mendapatkan solusi (jika memang

ada solusinya) yang dicari.

 Dengan kata lain, heuristik adalah fungsi optimasi yang menjadikan algoritma A* lebih

baik dari pada algoritma lainnya.

 Namun heuristik masih merupakan estimasi / perkiraan biasa saja,sama sekali tidak

ada rumus khususnya. Artinya, setiap kasus memiliki fungsi heuristik yang berbedabeda.

 Algoritma A* ini bisa dikatakan mirip dengan algoritma Dijkstra, namun pada algoritma Dijkstra, nilai fungsi heuristiknya selalu 0 (nol) sehingga tidak ada fungsi yang

mempermudah pencarian solusinya.

 Metode ini berdasarkan formula fungsi evaluasi: f(n) = g(n) + h(n)

Keterangan :

h(n) = biaya estimasi dari node n ke tujuan. g(n) = biaya path / perjalananuntuk menuju n

f(n) = solusi biaya estimasi termurah node n untuk mencapai tujuan. (Russell, Stuart J and Norvig, Peter, 2003).

Langkah Algoritma A*

1. Masukan node awal ke openlist

Loop Langkah – langkah di bawah ini :

a. Cari node (n) dengan nilai f(n) yang paling rendah dalamopen list. Node ini sekarang menjadi current node.

(36)

Page 35 of 98

c. Untuk setiap tetangga dari current node lakukan berikut :

• Jika tidak dapat dilalui atau sudah ada dalam close list, abaikan.

• Jika belum ada di open list . Buat current node parent dari node tetangga ini. Simpan nilai f,g dan h dari node ini.

• Jika sudah ada di open list, cek bila node tetangga ini lebih baik, menggunakan nilai g sebagai ukuran. Jika lebih baik ganti parent dari node ini di openlist menjadi current node, lalu kalkulasi ulang nilai g dan f dari node ini.

Contoh 1:

Dari gambar 4.7, lalukan penemuan jalur terpendek dari Arad menuju ke Bucharet dengan menggunakan menggunakan algoritma A*

(37)

Page 36 of 98

Gambar 4.9Penyelesaian TSP Romania dengan algoritma A* Contoh 2

Temukan jalur terpendek dari S menuju ke G dengan menggunakan lgoritma A*, pada Gambar 4.10

Gambar 4.10. Graph dengan informasi biaya dan jarak antar kota Penyelesaian

(38)

Page 37 of 98

Gambar 4.12. langkah 3 penyelesaian dengan algoritma A*

Gambar 4.13. langkah 4 dan 5 penyelesaian dengan algoritma A*

(39)

Page 38 of 98

Gambar 4.15. langkah 7 penyelesaian dengan algoritma A*

Gambar 4.16. langkah 8 penyelesaian dengan algoritma A*

Gambar 4.17. langkah 9(sudah ditemukan jarak terpendek menuju kota G)

Jadi jalur terpendek untuk menuju kota G dari S adalah : S- A-B-F-K-G dengan total jarak 95

(40)

Page 39 of 98 Properties A*

 Complete? Ya (kecuali adanodetak terhinggadengan f ≤ f(G) )

 Time? Exponential

 Space?Menyimpan semua node dalam memori  Optimal? Ya

REFERENSI

 Anonim, TEKNIK PENCARIAN HEURISTIK(HEURISTIC SEARCHING),

http://journal.mercubuana.ac.id/data/Heuristic-search.pdf, tanggal akses 15 Agustus 2012

 Anonim, HEURISTIC SEARCH Presentation Part IV,

,http://hxpinter.files.wordpress.com/2012/11/ai_04.ppt,tanggal akses 15 Agustus 2012

 Anonim, TeknikPencarianHeuristik, http://

hendrik.staff.gunadarma.ac.id/.../files/.../teknik-pencarian-heuristik.p...,, tanggal akses 20 Agustus 2012

 Azhar,Yulis,heuristic Search Best First Search , Teknik Informatika -UMM,

www.mdp.ac.id/materi/2011-2012-1/.../TI322-041035-666-9.ppt, tanggal akses 20 Agustus 2012

 Russel, S., Norvig 1997, Artificial Intelligence: A Modern Approach , Prentice Hall. 2.

 Suyanto, ST.MSc ,2007,”Artificial Intelligence : Searching, Reasoning, Planning dan Learning” , Informatika Bandung

 Sri Kusumadewi, 2003, Artificial Intelligence : Teknik dan Aplikasinya, Graha Ilmu, Yogyakarta

PROPAGASI

A. Latihan dan Diskusi

1. Coba simpulkan apa yang anda ketahui tentangGenerate and Test, Hill Climbing, Best First Search?

2. Dari Gambar 4.18 lakukan pencarian rute terpendek dengan menggunakan a. Generate and Test

b. Hill Climbing c. Best First Search

B E A G F C H D 10 50 10 20 80 40 20 90 30 5 0 10 20 2 0

Estimasi waktu (dalam menit) untuk menuju goal (H)

A: 60

B: 80

C: 20

D: 25

E: 70

F: 25

G: 35

Gambar 4.18.

(41)

Page 40 of 98

Kecerdasan Buatan

CONSTRAINT SATISFACTION PROBLEM

Dian Eka Ratnawati, S.Si, M.Kom,Dewi Yanti Liliana, S.Kom., M.Kom. Lailil Muflikhah,S.Kom,M.Sc,Rekyan Regasari,ST,MT

Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya

1. PENDAHULUAN 1.1.Pengantar 1.2.Tujuan 1.3.Definisi 2.Komponen CSP 3. Backtracking 4. Forward Checking 5. Constrain Propagation 6. Arc consistency 7. Latihan

1. PENDAHULUAN

1.1.Pengantar

Constraint satisfaction problem (CSP) merupakan sebuah pendekatan dari problem yang bersifat matematis dengan tujuan menemukan keadaan atau obyek yang memenuhi sejumlah persyaratan (constrain) yang sudah ditetapkan. Banyak problem dapat dikategorikan CSP diantaranya n-queen problem, crossword(teka-teki silang), penjadwalan ,boolean satisfiability problem (SAT), ataupun pewarnaan peta(map coloring). Pada modul ini akan diperkenalkan beberapa metode untuk menyelesaiakan CSP diantaranya adalah backtracking, forward checking,constraint propagation, dan arc and path consistency. Untuk lebih memahami algoritma tersebut akan diberikan beberapa contoh.

1.2 Tujuan

Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :

1. Mahasiswa mengerti dan bisa menyelesaikan kasus-kasus Constraint Satisfaction Problems (CSP)

2. Mahasiswa mengerti DAN BIBacktracking 3. Mahasiswa mengerti Local search CSP

1.3. Definisi Constraint satisfaction problems (CSP) :

Constraint satisfaction problem (CSP) didefinisikan sebagai serangkain variabel {X1, X2, …, Xn}, dan serangkaian constraints {C1, C2, …, Cm}.

Setiap variabel Xi mempunyai domain Di. Setiap constraint Ci meliputi beberapa subset variabel dan menentukan nilai yang diijinkan untuk subset ini.

State problem kemudiandidefinisikan sebagai tugas untukbeberapa atau semuavariabel, {Xi =vi, Xj=vj, ...}. Solusi untukCSPadalahtugaslengkapyang tidak melanggar semuakendala

CON

STRA

IN

T SATI

SFAC

TIO

N

P

ROB

LEM

MODUL

5

(42)

Page 41 of 98

2. KOMPONEN CSP

CSP terdiri dari komponen komponen berikut:

 Variabel, yang merupakan penampung dapat diisi berbagai nilai.

Constraintyang merupakan suatu aturan yang ditentukan untuk mengatur nilai boleh diisikan ke variabel, atau kombinasi variabel.

 Domain yang merupakan kumpulan nilai legal dapat diisi ke variabel.

 Solusi/Goal test yang merupakan assignment nilai-nilai dari domain ke setiap variabel tidak ada constraint yang dilanggar.

 Solusi adalah penetapan nilai (assignment) terhadap semua variabel sehingga semua syarat dipenuhi

 CSP dimulai dari solusi kosong dan diakhiri dengan sebuah solusi yang memenuhi semua constraint (consistent).Pencarian solusi dilakukan dengan mencoba mengisi nilai domain pada setiap variabel satu demi satu tanpa melanggar constraint, sampai solusi ditemukan.

Contoh CSP: Mewarnai Peta

Lakukan pewarnaan pada Peta Gambar 5.1 sehingga pada kota yang saling berbatasan tidak diperbolehkan mempunyai warna yang sama, dimana hanya disaediakan 3 waarna yang berbeda

Gambar 5.1 PETA

Ketentuan yang harus dipenuhi untuk melakukan pewarnaan PETA pada gambar 5.1 adalah :

Variabel: WA, NT, Q, NSW, V, SA, T Ranah: Di = {red, green, blue}

Syarat: 2 wilayah yang berbatasan harus berbeda warna: WA ≠ NT, NT ≠ SA, . . .

(WA, NT) Є{(red, green), (red, blue), (green, red), (green, blue), . . .}, . . .

Dari Gambar 5.1 tersebut bisa dimungkinkan ada banyak solusi , yang salah satu contoh solusinya seperti pada Gambar 5.2.

Gambar 5.2 Contoh solusi pada perawrnaan PETA

Solusi adalah pemberian nilai setiap variabel yang memenuhi syarat, mis:{WA=red, NT=green, Q=red, NSW=green, V=red, SA=blue,

Gambar

Gambar 2.2. Simple Reflex Agent  Agen Refleks Sederhana:
Gambar 2.3. Model berbasis Agen
Gambar 2.4. Goal based agent
Gambar 2.6. AgenberbasisPembelajaran
+7

Referensi

Dokumen terkait