SlideShare a Scribd company logo
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
KECERDASAN BUATAN
Page 1 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
Tim teaching Kecerdasan Buatan
Page 2 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
Page 3 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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. FIRST ORDER LOGIC ................................................................................................................................................... 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
LAMPIRAN.............................................................................................. 91
Page 4 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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.
PENGANTARKECERDASANBUATAN
MODUL
1
Page 5 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
Acting rationally
Page 6 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
 Memahami perhitungan
Page 7 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
 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”
4. AI menjadi industry (1980 – sekarang)
Page 8 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
- 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
Page 9 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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.
AGENCERDAS
MODUL
2
Page 10 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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,
Page 11 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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.
• Jenis Lingkungan sangat menentukan desain agen
Page 12 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
• 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
Page 13 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
o UPDATE-STATE menciptakan keadaan internal baru
Page 14 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
 Fungsi Utilitas memetakan state ke bilangan real (ukuran kinerja)
Page 15 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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.)
2. Tentukan lingkungan agen dan jenis agen, dan penjelasannya!
Page 16 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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.
PenyelesaianProblemdengan
Pencarian(searching)
MODUL
3
Page 17 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
Gambar 3.2. Vacuum world
Page 18 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
 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
 path cost?: waktu eksekusi
Page 19 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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.
Page 20 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
 Lengkap? Ya (jika b adalah terbatas)
Page 21 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
 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
Page 22 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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:

Page 23 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
Page 24 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
bandingkan total step costnya!
Page 25 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
PENCARIANHEURISTIK/INFORMEDSEARCH
(SPEED)
MODUL
Page 26 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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 5
3 4
Page 27 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
 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
Panjang
Lintasan
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:
Page 28 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
)!24! (2
!4


kombinasi. Keenam kombinasi ini akan
dipakai semuanya sebagai operator, yaitu
 !2!2
!
n
n
Page 29 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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,3Tk 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)
Tk 2,3
(21) (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,3Tk 3,4
(19) (15) (19) (16)
(15)
Page 30 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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)
Page 31 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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)
Page 32 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
2. Algoritma A*
Page 33 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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 :
Page 34 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
), tetapiheuristikyang 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.
b. Keluarkan current node dari openlist dan masukan ke close list
Page 35 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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*
Penyelesaian TSP dengan A*
Page 36 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
Gambar 4.11. langkah 1 dan 2 penyelesaian dengan algoritma A*
Page 37 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
Gambar 4.12. langkah 3 penyelesaian dengan algoritma A*
Gambar 4.13. langkah 4 dan 5 penyelesaian dengan algoritma A*
Gambar 4.14. langkah 6 penyelesaian dengan algoritma A*
Page 38 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
Page 39 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
50
10
20
20
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.
Page 40 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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
CONSTRAINTSATISFACTION
PROBLEM
MODUL
5
Page 41 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
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,
Page 42 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
T=green}
Constraint graph
• merupakan representasi di mana node adalah variabel, edge
adalah constraint, misal peta pada gambar 5.2 bisa dibuat
seperti gambar 5.3
Gambar 5.3 Contoh Constraint graph
Jenis constraint
Unaryconstraint::menyatakan persyaratan sebuahvariabel,
mis: SA ≠ green
Binary constraint::menyatakan persyaratan sepasangvariabel, mis:
SA ≠ WA
n-ary constraint(Higher-Order) :menyatakan persyaratan tiga atau
lebih variabel, mis: Cryptarithmetic
Preferences (soft constraints) :syarat yang sebaiknyadipenuhi,
tetapi tidak harus. Mis: r lebih baik dari g.
Biasanya dinyatakan sebagai cost sebuah nilaivariabel. ! constrained
optimization problem.
Menyelesaikan CSP dengan search biasa
State ditentukan dengan nilai yang sudah dialokasikan sekarang
Initial state: assignment kosong: {}
Successor function: pilih nilai untuk sebuah variabelyang belum di-
assign yang sah: tidak konflik denganassignment. Jika tidak ada:
gagal!
Goal test: apakah assignment sudah lengkap
Catatan:
1. Hal ini berlaku untuk setiap masalah CSP
2. Karena variabel terbatas maka setiap solusi akan muncul pada
kedalaman n dengan n variabel gunakan depth-first Search
3. Karena path irrelevan kita dapat gunakan algoritma local search
3. BACKTRACKING
 Algoritma backtracking search (penelusuran kembali) adalah
suatu bentuk algoritma depth-first-search.
 Backtracking dapat dilihat sebagaimana searching dalam tree,
karena setiap node mewakili state dan turunan dari setiap node
mewakili ekstensi dari state tersebut.
 Pada metode backtracking, variabel diisi secara sequential selagi
semua variabel relevan dengan constraint yang sudah
diinisialisasi.
 Jika solusi partial melanggar constraint, backtracking melakukan
langkah kembali ke solusi partial sebelumnya dan memilih nilai
lain yang belum dicoba untuk variabel yang ingin diisikan.
Page 43 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
 Langkah tersebut berguna untuk menghindari eksplorasi lebih
lanjut dari solusi partial yang salah.
 Keuntungan backtracking : pemeriksaan consistency hanya perlu
dilakukan terhadap assignment yang terakhir dilakukan karena
pemeriksaan terhadap assignment yang sebelumnya sudah
dilakukan sebelumnya.
 Pada algoritma backtracking, teknik look ahead digunakan untuk
meramalkan efek pemilihan variabel branching untuk
mengevaluasi nilai-nilai 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 variabel untuk
dipakai.
 Ketika suatu nilai diisikan ke suatu variabel, nilai yang berada di
domain dari variabel yang konflik dengan assignment tersebut
akan dihilangkan dari domain.
Backtracking search
 Variabel 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,
ada dn leaf
 Depth first search pada CSP dengan assignment satuvariabel tiap
level disebut backtracking search.
 Algoritma uninformed standar untuk masalah CSP
Algoritma Bactracking
Contoh
Lakukan pewarnaan peta pada Gambar 5.1 dengan menggunakan
Bactracking
Page 44 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
Gambar 5.4 Contoh backtraking
Memperbaiki kinerja backtracking
 Urutan pemilihan variabel dan nilai mempengaruhi kinerja
backtracking
 Terdapat beberapa strategi yang berlaku secara umum (general-
purpose):
1. Variabel 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 masalahCSP?
(Representasinya jelas!)
PRINSIP PEWARNAAN
Ada beberapa prinsip dalam melakukan pewarnaan antara lain :
Prinsip 1: Most Constrained Variabel
 Adalah :Variabel paling dibatasi
 Pilih variabel yang memiliki kemungkinan nilai sah paling sedikit
Gambar 5.5 Contoh prinsip 1
Prinsip 2: Most Constraining Variabel
 Adalah variabel paling membatasi
 Pilih variabel yang terlibat constraint dengan variabel lain (yang
belum di-assign) yang paling banyak.
 Tie − breaker : gunakan kalau ada 2 atau lebih variabel yang
sama bagusnya berdasarkan prinsip 1.
Gambar 5.6 Contoh prinsip 2
Prinsip 3: Least Constraining Value
 Adalah variabel paling membebasi
 Pilih nilai yang menimbulkan batasan kemungkinan nilai variabel
lain (yang belum di-assign) yang paling sedikit.
 Jika ketiga prinsip ini digunakan, masalah n-queens
Page 45 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
dengan n=1000 bisa diselesaikan!
Gambar 5.7 Contoh prinsip 3
4. FORWARD CHECKING
 Cara termudah untuk menghindari konflik isi variabel
 Melalui forward checking hanya akan dievaluasi constraint antara
variabel saat ini dan variabel berikutnya. Jika suatu nilai
dialokasikan untuk variabel saat ini, maka nilai apapun dari
variabel berikutnya yang dapat membawa konflik dari variabel
saat ini akan disingkirkan dari domain.
 Keuntungannya adalah jika domain dari variabel berikutnya
adalah kosong, maka segera dikeahui bahwa solusi yang
terbentuk ternyata salah.
 Dengan forward checking, maka pencabangan dari pohon
pencarian akan dipangkas lebih awal, dibanding dengan
backtracking.
Catat kemungkinan nilai sah untuk semua variabel yang belum di-
assign. Jika ada sebuah variabel yang tidak ada kemungkinan nilai
sah, langsung failure (backtrack).
Gambar 5.8 Inisialisasi nilai untuk forward checking
Ideforward checking:
 Simpan nilai valid untuk variabel yang belum di-assign
 Bila salah satu variabel tidak mempunyai kemungkinan nilai
yang valid maka search dihentikan
 Untuk lebih jelasnya langkah forward checkingdapat dillihat
pada gambar 5.9
Page 46 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
Gambar 5.9 Langkah penyelesaian untuk forward checking
5.CONSTRAINT PROPAGATION
Constraint propagation
 Forward checking memberikan informasi dari variabel yang
dialokasi, namun tidak dapat mendeteksi kegagalan sebelumnya
Gambar 5.10 Pengecekan untuk Constraint propagation
Pada Gambar 5.10 , diketahui NT dan SA berwarna sama yakni biru,
padahal NT dan SA tetanggaan, sehingga hal ini tidak diperbolehkan.
 Forward checking hanya mempertimbangkan setiap constraint
secara terpisah.
 Forward checking mem-propagasi (meneruskan) informasi dari
variabel yang sudah di-assign ke yang belum. Secara umum, ini
disebut constraint propagation.
 Namun, tidak semua failure bisa di-deteksi secara dini
6.ARC CONSISTENCY
 Arc consistency adalah metode constraint propagation yang lebih
canggih. Konsistensi antar constraint dipertahankan.
 Arc X Yadalah edge satu arah dari variable X ke Y dalam
constraint graph.
Prinsip Con
Prinsip Arc Consistency
X Ydikatakan konsisten jika dan hanya jika untuk setiap nilai sah x
dari X ada nilai sah y dari Y.
Page 47 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
sistency
Gambar 5.11Langkah penyelesaian untuk Arc Consistency
Algoritma AC3
Algoritma AC3 melakukan constraint propagation sbb:
 Periksa semua arc dalam constraint graph
 Jika untuk X Yada nilai sah x dari X sehingga tidak ada nilai sah
y dari Y, buang x.
 Jika ada nilai x yang dibuang, periksa ulang semua“tetangga” Xdi
dalam constraint graph.
 Algoritma AC3 ini bisa mendeteksi failurelebih cepat
daripada forward checking.
 AC3 dapat dijalankan sebagai pra-proses sebelum melakukan
backtracking, atau bisa dijalankan setelah setiap assignment.
Page 48 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
Local search untuk CSP
 Dalam praktek, local search cocok untuk CSP.
 State harus lengkap/complete (semua variable harus ter-assign)
tapi boleh melanggar constraint.
 Operator/action-nya: menukar nilai variabel (reassign).
 Pemilihan variable: pilih secara acak variable yang melanggar
sebuah constraint.
 Pemilihan nilai:
 gunakan heuristic minimum conflict:
 pilih nilai yang melanggar constraint paling sedikit.
 Lakukan local search (hillclimb, simulated annealing,
 genetic algorithm, dll.) meminimalkan h(n) = jumlah
pelanggaran constraint
 Perhatian: secara teoritis pendekatan ini tidak dijamin complete.
Contoh :
Local search untuk 4 –queen
State: 4 queen dalam 4 kolom (44
= 256 state)
Operator/action: pindahkan menteri dalam kolom
Goal test: tidak ada menteri saling makan
Evaluation/fitness function: h(n) = jumlah pasangan queen saling makan
Bisa menyelesaikan 1000000-queens problem!
Gambar 5.12. Langkah penyelesaian untuk Arc Consistency
Page 49 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
Rangkuman
 CSP adalah masalah yang bentuknya spesifik:
 State berupa assignment nilai terhadap himpunan variabel
 Goal test berupa constraint terhadap nilai variabel.
 Backtracking: depth-first search mempertimbangkan satu variable
di setiap node
 Heuristic urutan pemilihan variable dan nilai sangat mempengaruhi
kinerja
 Forward checking dan arc consistency adalah bentuk constraint
propagation yang mendeteksi kegagalan (failure) lebih dini.
 Representasi CSP yang spesifik memungkinkan analisis masalah !
penyederhanaan: CSP berbentuk tree bisa diselesaikan dalam waktu
linier.
 Metode local search untuk CSP (dengan heuristic min-conflicts)
dalam praktek cukup efektif.
REFERENSI
 Anonim, Teknik Pencarian Heuristik, http://journal.mercubuana.ac.id/data/Heuristic-
search.pdf, tanggal akses 24 November 2011
 Anonim, Costraint Satisfaction Problem, PIB lesson9 CSP,
http://sitoba.itmaranatha.org/PIB%200809/eBooks/PIB%20lesson9.pdf, ,tanggal
akses 30 Agustus 2012
 Anonim, Constraints And Adversarial Search,
http://sitoba.itmaranatha.org/PIB%200809/.../PIB0809-07%2009%2010.pp...,
tanggal akses 27 Agustus 2012
 Lianto, Joko dkk, Penjadwalan matakuliah dengan menggunakan algoritma genetik
dan metode constrain satisfaction, teknik informatika, FTI, ITS,
openpaper.its.ac.id/download.php/?idf=41, tanggal akses 25 Agustus 2012
 Manurung, Ruli , 2007 IKI 30320: Sistem CerdasKuliah 7: Constraint Satisfaction
Problems,Fakultas Ilmu Komputer,Universitas Indonesia,
www.cs.ui.ac.id/WebKuliah/IKI30320/.../iki30320_20070924_hand..., tanggal akses
15 Maretr 2012
 Russel, S., Norvig 1997, Artificial Intelligence: A Modern Approach , Prentice Hall. 2.
Firebaugh, M.W.,1998, Artificial Intelligence: A Knowledge-Base Approach, Boyd and
Page 50 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
Frasser
 Sri Kusumadewi, Artificial Intelligence : Teknik dan Aplikasinya, Graha Ilmu,
Yogyakarta, 2003
 Suyanto, ST.MSc Artificial Intelligence Searching, Reasoning, Planning dan Learning ,
informatika Bandung tahun 2007
 Yunarsono Muhyi , Penjadwalan kuliah otomatis dengan Constraint Programming,
http://muhyi.hostei.com/media/blogs/paper/ARTIKEL_SNASTI_MUHYI_Revisi.pdf,
tanggal akses 23 Agustus 2012
 Wijaya, Teddy dan Ruli Manurung, Solving University Timetabling As a Constraint
Satisfaction Problem with Genetic Algorithm
,http://ejournal.narotama.ac.id/files/Solving%20University%20Timetabling%20As%2
0a%20Constraint%20Satisfaction%20Problem%20with%20Genetic%20Algorithm.pdf,
tanggal akses 17 September 2012
PROPAGASI
B. Latihan dan Diskusi
1. Gunakan Algoritma Backtracking untuk menyelesaikan kasus 8-puzzle
2.
Gambar 5.13.
Isikan bidang pada Gambar 5.13 di atas dengan warna: merah, kuning, hijau, biru.
Bidang bertetangga tidak boleh memiliki warna yang sama.
1. Sebutkan variabel yang Anda !
2. Sebutkandomain yang tersedia!
3. Bagaimana Anda mengevaluasi constraints-nya?
Selamat mengerjakan
Page 51 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
Kecerdasan Buatan:
Logical Agents
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 : ptik@ub.ac.id
1. PENDAHULUAN
1.1 Pengantar
1.2 Tujuan
2. Agen Berbasis Pengetahuan
3. Agen Berbasis Logika
4. Logika Proposisi
5. Metode Pembuktian
6. Latihan
1. PENDAHULUAN
1.1 Pengantar
Agen logika merupakan agen yang memiliki kemampuan bernalar
secara logika. Ketika beberapa solusi tidak secara eksplisit diketahui,
maka diperlukan suatu agen berbasis logika. Logika sebagai Bahasa
Representasi Pengetahuan memiliki kemampuan untuk
merepresenasikan fakta sedemikian sehingga kesimpulan (fakta baru,
jawaban) dapat ditarik, sedangkan pengetahuan merupakan komponen
yang penting, sehingga terdapat perbedaan jika diterapkan pada dua
agent, yakni problem solving agent dan knowledge-based agent.
- Problem solving agent: memilih solusi di antara kemungkinan yang.
Apa yang ia “ketahui” tentang dunia tidak berkembang untuk
mencapai problem solution (initial state, successor function, goal
test)
- Knowledge-based agent: lebih “pintar”. Ia “mengetahui” hal-hal
tentang dunia dan dapat melakukan reasoning (berpikit, bernalar)
mengenai:
o Hal-hal yang tidak diketahui sebelumnya (imprefect/ partial
information)
o Tindakan yang paling baik untuk diambil
Inference engine Domain-independent algorithms
Knowledge engine Domain-specifics content
6
LOGICALAGENTS
MODUL
Page 52 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
1.2 Tujuan
Penguasaan materi dalam modul ini dirancang agar mahasiswa
mampu untuk :
 Menjelaskan dan memahami tentang definisi dan konsep dasar
agen berbasis pengetahuan
 Menjelaskan dan memahami tentang definisi dan konsep dasar
agen berbasis logika.
 Menjelaskan dan memahami tentang konsep dasar logika
proporsisi baik secara sintaks maupun semantik
 Menjelaskan dan memahami tentang metode pembuktian dari
logika proporsisi
2. Agen Berbasis Pengetahuan (Knowledge-based Agent)
 Knowledge Base menyatakan apa yang “diketahui” oleh si agent
 Pendekatan deklaratif membangun agent: “beritahu” informasi yang relevan, simpan
dalam KB  (TELL).
 Agen dapat ditanya (atau bertanya diri sendiri) apa yang sebaiknya dilakukan berdasarkan
KB  (ASK).
 Maka sebuah agen berbasis pengetahuan harus bisa:
o Mereprentasikan world, state, action, dst.
o Menerima informasi baru (dan meng-update representasinya)
o Menyimpulkan pengetahuan lain yang tidak eksplisit (hidden property)
o Menyimpulkan action apa yang perlu diambil
- Knowledge Base merupakan
o Himpunan representasi fakta yang diketahui tentang lingkungannya
o Tiap fakta disebut sentence
o Dinyatakan dalam bahasa formal sehingga bisa diolah
o TELL: menambahkan sentence baru ke KB
- Inference Engine merupakan:
o Menentukan fakta baru yang dapat diturunkan dari pengetahun yang sudah ada
dalam KB
o Menjawab pertanyaan (ASK) berdasarkan KB yang sudah ada.
- Dalam representasi, agent dapat dipandang dari knowledge level: informasi apa yang
diketahui?
Misal: sebuah robot “mengetahui” bahwa gedung B di antara gedung A dan gedung C
- Agent dapat dipandang dari implementation level: bagaimana representasi informas yang
diketahuinya?
o Logical sentence: di_antara(gdB, gdA, gdC)
o Natural language: “Gedung B ada di antara gedung A dan gedung C”
o Tabel posisi koordinat gedung-gedung
o Gambar diagram peta (dalam bitmap atau vektor?)
- Pilihan representasi berpengaruh terhadap apa yang bisa dilakukan inference engine
- Pada pendekatan deklaratif programmer memberitahu (TELL) agent informasi tentang
environment.
- Kalau informasi kurang, agen bisa melengkapinya sendiri.
- Jika dibandingkan dengan pendekatan prosedural: programmer secara eksplisit
memrogram agen untuk bertindak.
- Sehingga bagaimana jika program tidak benar, maka akan besar kemungkinan
menyebabkan kesalahan
Page 53 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
- Permasalahannya adalah bagaimana representasi yang tepat, sehingga ada dua hal yang
harus memperhatikan dua hal:
o Expressive: bisa menyatakan fakta tentang environment
o Tractable: bisa diolah/ diproses inference engine (dengan cepat?)
- Knowledge merupakan kekuatan dari pemrograman secara deklaratif.
- Representasi dan penalaran membentuk suatu Intelligence.
Contoh Aturan Permainan dalam Wumpus World
- Performance measure: emas +1000, mati -1000, gerak -1, panah -10
- Environment: Matriks 4x4 ruang dengan initial state [1,1]. Ada gold, wumpus, dan pit
yang lokasinya dipilih secara acak.
- Percept terdiri dari:
o Breeze: kamar di samping lubang jebakan ada hembusan angin
o Glitter: kamar di mana ada emas ada kilauan/ sinar.
o Smell: kamar di samping Wumpus berbau busuk
- Action: maju, belok kiri 900
,belok kanan 900
, tembak panah (hanya 1!), ambil benda
-
Sifat dari Wumpus World:
- Fully observable? Tidak, hanya bisa berpresepsi lokal
- Deterministic? Ya, hasil tindakan jelas dan pasti
- Episodic? Tidak, tergantung action sequence
- Static? Ya, gold, wumpus, pit tidak bergerak
- Discrete? Ya
- Single agent? Ya
Bahasa Representasi Pengetahuan (Knowledge Representation Language)
Menyatakan suatu bahasa yang digunakan untuk menyatakan fakta tentang “dunia”.
Suatu bahasa representasi pengetahuan didefinisikan dalam dua aspek, yakni:
1. Sintaks dari bahasa merupakan aturan yang mendefinisikan sentence yang sah dalam
bahasa
2. Semantik menyatakan aturan yang mendefinisikan “arti” sebuah sentence, misalkan:
kebenaran sentence dalam dunia
ContohKRL dalam bahasa aritmetika
Page 54 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
Secara Sintaks dituliskan:
x + 2 ≥ y adalah kalimat sah.
x2 + y ≥ bukan kalimat sah.
Secara semantik: x + 2 ≥ y benar jika dan hanya jika bilangan x + 2 tidak lebih kecil dari
bilangan y:
- x + 2 ≥ y benar dalam “dunia” di mana x=7, y=1
- x + 2 ≥ y benar dalam “dunia” di mana x=0, y=6
Contoh KRL dalam bahasa Indonesia
Secara sintaks dituliskan:
- “Jakarta adalah ibukota Indonesia” adalah kalimat sah.
- “Ibu Indonesia kota Jakarta adalah” bukan kalimat sah.
Maka secara Semantik: “X adalah ibukota Y” benar jika dan hanya jika adalah pusat
pemerintahan negara Y.
- “Jakarta adalah ibukota Indonesia” benar dalam “dunia” kita sekarang.
- “Jakarta adalah ibukota Indonesia” salah dalam “dunia” tahun 1948 (Yogya? Bukitinggi?)
3. Agen Berbasis Logika
Logika sebagai Bahasa Representasi Pengetahuan memiliki pengertian:
- Logika sebagai bahasa formal untuk merepresenasikan fakta sedemikian sehingga
kesimpulan (fakta baru, jawaban) dapat ditarik.
- Ada banyak metode inference yang diketahui.
- Sehingga kita bisa membangun agent Wumpus World dengan logika: memanfaatkan
perkembangan logika oleh ahli matematika, filsafat selama ratusan tahun!
Entailmentdapat diartikan sebagai suatu fakta bisa disimpulkan dari (kumpulan) fakta lain.
- KB |= α berarti KB melakukan entailment sentence α jika dan hanya jikaa α true dalam
“dunia” di mana KB true.
Contoh:
- KB mengandung dua sentence, yakni “ Anto ganteng” dan “Ani cantik”.
- KB |= α1: “Anto ganteng dan Ani cantik” (artinya: hasil entailment bisa berupa kalimat
gabungan dari dua kalimat)
- KB |≠ α2 : “Anto pintar”
- x + y = 4 =| 4= x+y
Inferensiatau reasoning merupakan pembentukan fakta (sentence) baru yang meng-entail
fakta-fakta lama.
Reasoning bukan dilakukan pada fakta di dunia (berdasarkan semantik), melainkan
representasi fakta dalam bahasa representasi pengetahuan si agent (secara sintaks)
Otak manusia melakukan proses reasoning dalam suatu bentuk sintak dapat diilustrasikan
sebagaimana gambar berikut:
Page 55 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
- Model merupakan suatu “dunia” di mana kebenaran suatu sentence bisa diuji.
- m adalah model α jika dan hanya jika true di “dalam” m.
- M(α) adalah himpunan semua model dari α.
- KB |= α jika dan hanya jika M(KB) subset dari M(α), sehingga bisa dilihat pada ilustrasi
gambar berikut:
Misalkan:
- KB= Anto ganteng dan Ani cantik
- α = Anto ganteng
- Hal ini bisa diartikan bahwasanya sentence Anto ganteng lebih luas konotasinya
dibandingkan dengan sentence Anto ganteng dan Ani cantik
Entailment dalam Wumpus World bisa diilustrasikan sebagaimana berikut, dengan melihan
[1,1] OK, [2,1] Breeze:
Maka model jebakan ada 3 pilihan boolean di [2,1],[2,2],[3,1], dengan 8 kemungkinan model
Page 56 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
KB = pengamatan (percept) + aturan main Wumpus World, maka kita menyatakan apakah
kamar [1,2] aman dengan cara melakukan entailment yang mana dibuktikan dengan
menggunakan model checking, yakni memeriksa semua kemungkinan M(KB), M(α1).
Sehingga dari ilustrasi tersebut diatas menunjukkan bahwasannya: M(KB) subset dari M(α1),
sehingga bisa disimpulkan bahwa kamar [1,2] aman.
Lain halnya ketika melakukan pengamatan apakah kamar [2,2] aman, dengan ditunjukkan
oleh α2., sehingga terlihat sebagaimana ilustrasi berikut:
Dari gambar tersebut menunjukkan bahwasannya M(KB) bukan subset dari M(α2), sehingga
bisa disimpulkan bahwa KB |≠ α2, dengan kata lain kamar [2,2] tidak aman.
Inferensi merupakan proses atau algoritma yang “menurunkan” fakta baru dari fakta-fakta
lama.
- KB|- iα: sentence α bisa diturunkan dari KB oleh prosedur i
- Soundness: idikatakan sound jika untuk semua KB |- i α, KB |= α benar
- Completeness: i dikatakan complete jika untuk semua KB |= α, KB |- i α benar
Logika Proposisi
Merupakan logika yang paling sederhana. Sebuah sentence dinyatakan sebagai simbol
proposional P1, P2, dst.
Sintaks dari logika proposisi
- Jika S adalah kalimat, ⌐S adalah kalimat (negasi)
- Jika S1 dan S2 adalah kalimat S1Ʌ S2 adalah kalimat (conjunction)
- Jika S1 dan S2 adalah kalimat S1 V S2 adalah kalimat (disjunction)
- Jika Jika S1 dan S2 adalah kalimat S1→ S2 adalah kalimat (implication)
Page 57 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
- Jika S1 dan S2 adalah kalimat S1↔ S2 adalah kalimat (biconditional)
Semantik dari logika proposisi
- Sebuah model memberi nilai true/ false terhadap setiap proposisi, misal P1,2 = true,
P2,2=true, P3.1=false
- Sebuah proses rekursif bisa mengevaluasi kalimat sembarang: ⌐P1,2 Ʌ (P2,2 V P3,1) =
true Ʌ (false V true) = true Ʌ true = true
- Maka kalimat yang digunakan untuk merepresentasikan Wumpus World
o Secara semantik:
 Pi,j = true menyatakan kalau ada lubang jebakan (pit) di [i, j].
 Bi,j = true menyatakan kalau ada hembusan angin (breeze)
o Aturan main dalam Wumpus World: kamar di samping lubang jebakan ada
hembusan angin:
 B1,1↔ (P1,2 V P2,1)
 B2,1↔ (P1,2 V P2,2 V P3,1)
o Hasil pengamatan (percept):
 ⌐P1,1
 ⌐ B1,1
 B2,1
- Inferensi bisa juga dilakukan dengan menggunakan tabel kebenaran dalam rangka untuk
membuktikan terhadap entailment dari suatu knowledge. Sehingga kita dapat
membuktikan apakah KB |= α1 menggunakan tabel kebenaran (sejenis model checking),
di mana α1menyatakan kamar di [1, 2] aman sebagaimana tabel di bawah ini.
Metode Pembuktian
Secara umum, ada dua jenis metode pembuktian:
- Pengaplikasian inference rule
o Dihasilkan kalimat baru yang sah (sound) dari yang lama
o Bukti(proof) merupakan serangkaian pengaaplikasian inference rule (operator )
dari algoritma search
o Biasanya, kalimat harus diterjemahkan ke dalam sebuah normal form
- Model checking
o Penjabaran truth table (sehingga dihasilkan nilai eksponensial dalam n)
o Backtracking lebih efisien, misalkan: algoritma DPLL
o Heuristic search dalam model space (sound tetapi incomplete), misalkan : min-
conflicts hill –climbing
- Horn Form
o Dalam Horn form, KB merupakan conjuction dari Horn Clauses
o Horn Clause terdiri:
 Proposition symbol
 (Conjuction of symbol)  symbol
- Misalkan:
Page 58 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
- Modus ponen pada Horn form (yang mana lengkap pada Horn KB):
- Horn form bisa digunakan dengan algoritma forward chaining atau backward chaining
- Konsep dasar dari algoritma forward chaining adalah aplikasikan rule yang premise-nya
diketahui benar dalam KB, kemudian tambahkan conclusionnya ke dalam KB, ulangi
sampai query (Q) terbukti. Sehingga bisa dikatakan kinerja dari forward chaining
merupakan metoda bottom up dari fakta menuju konklusi
Misal:
- Sedangkan konsep dasar dari algoritma backward chaining digunakan untuk membuktikan
query q, dengan cara memeriksa q jika sudah diketahui, atau secara rekursif, dengan
membuktikan semua premise rule yang conclusion-nya q (dikenal sebagai metode top
down)
- Dalam backward chaining ada beberapa hal yang perlu diketahui:
o Menghindari loop: dengan cara memeriksa apakah subgoal yang baru sudah ada
di goal stack
o Menghindariperulangan pekerjaan: periksa apakah subgoal yang baru sudah
dibuktikan benar atau sudah dibuktikan salah.
- Perbandingan antara Forward dan backward chaining
o Forward chaining adalah pendekatan data-driven, bottom up sehingga
pemrosesan informasi secara tak sadar
o Melakukan banyak usaha yang tidak relevan terhadap goal
o Backward chainingadalah pendekatan goal-driven, top-down sehingga
pemrosesan inforasi secara sadar
o Kompleksitas BC bisa jauh lebih kecil dari dalam linear ukuran KB
Kesimpulan
- Agen berbasis pengetahuan menggunakan inferensi dan knowledge base untuk
menghasilkan informasi baru atau untuk mengambil keputusan
- Konsep-konsep dasar logika sebagai knowledge representation language meliputi:
o Sintak: struktur kalimat bahasa formal
o Semantik: arti kalimat sebagai kebenaran terhadao model
o Entailment: menyimpulkan kalimat baru yang benar
o Inferensi: proses menurunkan kalimat baru dari kalimat-kalimat lama
o Soundness: proses menurunkan hanya kalimat yang di-entail
o Completeness: pross menurunkan SEMUA kalimat yang di-entail
- Forward, backward chaining merupakan proses inferensi complete dan linear untuk
Horn form
REFERENSI
o Russell, Stuart; dan Norvig, Peter. 2003. Artificial Intelligence A Modern Approach.
International Edition, Edisi 2. Pearson Prentice-Hall Education International. New
Jersey
Page 59 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
o Kumpulan Slide Kuliah Kecerdasan Buatan disusun oleh dosen Fakultas Ilmu
Komputer, Universitas Indonesia
PROPAGASI
C. Latihan dan Diskusi
1. Jelaskan konsep dasar dari agen berbasis pengetahuan dan hal-hal apa saja yang
harus dipenuhi ketika membuat agen tersebut
2. Berilah contoh kasus entailment dari permainan Wumpus World berdasarkan
aturan yang diberikan
3. Dari soal nomor 2, tunjukkan dengan metoda pembuktian baik model checking
ataupun menggunakan tabel kebenaran
D. Pertanyaan (Evaluasi mandiri)
Buatlah sebuah agen berbasis logika dengan menerapkan pula proses inferensi dengan
cara entailment yang kemudian dibuktikan dengan model checking dan tabel
kebenaran.
Page 60 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
First Order Logic
Dian E.R, M.Kom; Dewiyanti L, M.Kom; Laili M, M.Sc; Rekyan RMP, MT
Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya
Email : ptiik@ub.ac.id
1.
P
E
N
D
A
HULUAN
1.1 Pengantar
Dalam sistem kecerdasan buatan untuk menyelesaikan permasalahan
ada beberapa metode yang dapat digunakan. Dalam menggunakan
metode tersebut harus disesuaikan karena masing-masing metode
memiliki spesifikasi tersendiri. Salah satu metode adalah Reasoning
(penalaran). Reasoning adalah teknik penyelesaian masalah dengan
cara merepresentasikan masalah ke dalam basis pengetahuan
(knowledge base) menggunakan logic yang dapat dipahami oleh
komputer. FOL (First Order Logic) merupakan penyempurnaan dari
Propositional Logic yang ada pada bab sebelumnya yang merupakan
jenis reasoning untuk permasalahan sederhana, sedangkan first order
logic digunakan untuk permasalahan yang lebih kompleks. Pada bab
ini akan dijelaskan bagaimana first order logic dapat
merepresentasikan pengetahuan lebih efisien pada permasalahan
kompleks beserta contoh permasalahan.
1.PENDAHULUAN
1.1.Pengantar
1.2.Tujuan
1.3.Definisi
1. FIRST ORDER LOGIC
2.1 Definisi First Order Logic
2.2 Sintaks First Order Logic
2.3 Semantik
2.4 Quantifier
2.5 Equality
2.6 Inferensi pada First Order Logic
2. CONTOH
3. PROPAGASI
4.1 Pertanyaan/Latihan Soal
4.2 Diskusi
4.3 Project
1.2 Tujuan
Setelah mempelajari Pokok Bahasan ini, diharapkan mahasiswa akan :
1. Memahami konsep first order logic
2. Bisa memahami komponen-komponen yang ada pada first order
logic
3. Menerapkan first order logic pada pemecahan masalah
4. Memiliki sikap disiplin dalam mengumpulkan tugas
1.3 Definisi
MODUL
7
Page 61 of 98
Kecerdasan buatan / MateriKuliah 2012Brawijaya University
 Objects : merupakan sesuatu yang dikenai logika-logika yang memiliki identitas
untuk masing-masing individual (komputer, rumah, mobil, ...).
 Properties : sifat yang dimiliki oleh objek dan merupakan pembeda dengan objek
lainnya (merah, besar, lingkaran, ...).
 Relations : aksi atau aktifitas yang menjadi penghubung antar objek dalam berelasi
(saudara dari, lebih tinggi dari, bagian dari).
 Functions : merupakan relation yang memiliki satu nilai (ayah dari, teman baik,...).
2. FIRST ORDER LOGIC
2.1 Definisi First Order Logic
Proses reasoning untuk menyelesaikan masalah dengan merepresentasikan masalah
kedalam logic sudah dilakukan oleh propositional logic. Propositional logic dalam
menyelesaikan permasalahan dengan menggunakan fakta-fakta yang diproses
menggunakan logika-logika sederhana saja. Sedangkan pada first order logic
permasalahan diselesaikan dengan sentence yang merepresentasikan fakta dan term
yang merepresentasikan objek. Komponen-komponen penting yang ada pada first order
logic yaitu :
Objects : merupakan sesuatu yang dikenai logika-logika yang memiliki identitas
untuk masing-masing individual (komputer, rumah, mobil, ...).
 Properties : sifat yang dimiliki oleh objek dan merupakan pembeda dengan
objek lainnya (merah, besar, lingkaran, ...).
 Relations : aksi atau aktifitas yang menjadi penghubung antar objek dalam
berelasi (saudara dari, lebih tinggi dari, bagian dari).
 Functions : merupakan relation yang memiliki satu nilai (ayah dari, teman
baik,...).
Komponen-komponen yang sudah dijelaskan diatas disebut sebagai ontological
commitment atau hal-hal apa saja yang diketahui dan dijelaskan di dalam logic yang
digunakan dalam menyelesaikan permasalahan. Selanjutnya akan ditunjukkan beberapa
jenis logic lain yang memiliki ontological commitment dan epistemological commitment
(kebenaran apa yang dapat dinyatakan tentang sebuah sentence). Contoh beberapa
logic lain adalah sebagai berikut :
Logic Ontological
Epistemolog
ical
Propositiona
l logic
Facts True/false/unk
nown
First-order
logic
Facts, objects,
relations
True/false/unk
nown
Temporal
logic
Facts, objects,
relations, times
True/false/unk
nown
Probability
theory
Facts Degree of
believe 0…1
Fuzzy logic Degree of truth Degree of
believe 0…1
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final

More Related Content

What's hot

Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
Banta Cut
 
Matriks eselon baris dan eselon baris tereduksi
Matriks eselon baris dan eselon baris tereduksiMatriks eselon baris dan eselon baris tereduksi
Matriks eselon baris dan eselon baris tereduksi
Elemantking Daeva
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
ahmad haidaroh
 
Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06
KuliahKita
 
proposisi majemuk & Tautologi
 proposisi majemuk & Tautologi proposisi majemuk & Tautologi
proposisi majemuk & Tautologi
Huzairi Zairi
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
Buhori Muslim
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)
Ajeng Savitri
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
Asep Jaenudin
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
Zaldy Eka Putra
 
Contoh soal Metode Simpleks
Contoh soal Metode SimpleksContoh soal Metode Simpleks
Contoh soal Metode SimpleksReza Mahendra
 
Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-searchAMIK AL MA'SOEM
 
Proposal pembuatan aplikasi
Proposal pembuatan aplikasiProposal pembuatan aplikasi
Proposal pembuatan aplikasi
HIMATIF UIN SGD
 
Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)
Farichah Riha
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )
Kelinci Coklat
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputer
Miftahul Khair N
 
Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskrit
said zulhelmi
 
Matematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi RekursifMatematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi Rekursif
Ayuk Wulandari
 
2. galat
2. galat2. galat

What's hot (20)

Bab 9 graf
Bab 9 grafBab 9 graf
Bab 9 graf
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Matriks eselon baris dan eselon baris tereduksi
Matriks eselon baris dan eselon baris tereduksiMatriks eselon baris dan eselon baris tereduksi
Matriks eselon baris dan eselon baris tereduksi
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06
 
proposisi majemuk & Tautologi
 proposisi majemuk & Tautologi proposisi majemuk & Tautologi
proposisi majemuk & Tautologi
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
 
Contoh soal Metode Simpleks
Contoh soal Metode SimpleksContoh soal Metode Simpleks
Contoh soal Metode Simpleks
 
Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-search
 
Proposal pembuatan aplikasi
Proposal pembuatan aplikasiProposal pembuatan aplikasi
Proposal pembuatan aplikasi
 
Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputer
 
Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskrit
 
Matematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi RekursifMatematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi Rekursif
 
2. galat
2. galat2. galat
2. galat
 

Viewers also liked

Intelijensia buatan - 02 Agen Cerdas
Intelijensia buatan - 02 Agen CerdasIntelijensia buatan - 02 Agen Cerdas
Intelijensia buatan - 02 Agen Cerdas
KuliahKita
 
Intelijensia buatan - 03 Agen Pencarian (Searching Agent)
Intelijensia buatan - 03 Agen Pencarian (Searching Agent)Intelijensia buatan - 03 Agen Pencarian (Searching Agent)
Intelijensia buatan - 03 Agen Pencarian (Searching Agent)
KuliahKita
 
Slide tentang Kecerdasan Buatan
Slide tentang Kecerdasan BuatanSlide tentang Kecerdasan Buatan
Slide tentang Kecerdasan Buatanyogiteddywardhana
 
Kecerdasan buatan
Kecerdasan buatanKecerdasan buatan
Kecerdasan buatan
laztorino
 
Modul 1 pengenalan kecerdasan buatan
Modul 1   pengenalan kecerdasan buatanModul 1   pengenalan kecerdasan buatan
Modul 1 pengenalan kecerdasan buatan
ahmad haidaroh
 
Presentasi modul 11 kecerdasan buatan
Presentasi modul 11 kecerdasan buatanPresentasi modul 11 kecerdasan buatan
Presentasi modul 11 kecerdasan buatan
Paris Dkc
 
Makalah n-queen problem
Makalah n-queen problemMakalah n-queen problem
Makalah n-queen problemEghan Jaya
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman Algoritma
Khairul Anwar
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi PengetahuanLangit Papageno
 
Tugas bu ratna #pertemuan 11
Tugas bu ratna #pertemuan 11Tugas bu ratna #pertemuan 11
Tugas bu ratna #pertemuan 11putri ariesta
 
Metodologi penelitian Ilmu Komputer (zainal a.h, ph.d) 2007
Metodologi penelitian Ilmu Komputer (zainal a.h, ph.d) 2007Metodologi penelitian Ilmu Komputer (zainal a.h, ph.d) 2007
Metodologi penelitian Ilmu Komputer (zainal a.h, ph.d) 2007
Ismi Islamia
 
Definisi kecerdasan buatan
Definisi kecerdasan buatanDefinisi kecerdasan buatan
Definisi kecerdasan buatanAs As
 
Eight puzzle kotak 8 - final
Eight puzzle   kotak 8 - finalEight puzzle   kotak 8 - final
Eight puzzle kotak 8 - finalAnthon Tampubolon
 
Sistem Cerdas
Sistem CerdasSistem Cerdas
Sistem Cerdas
Arum Retno
 
Jarrar: First Order Logic- Inference Methods
Jarrar: First Order Logic- Inference MethodsJarrar: First Order Logic- Inference Methods
Jarrar: First Order Logic- Inference Methods
Mustafa Jarrar
 
Modul 3 pencarian heuristik
Modul 3   pencarian heuristikModul 3   pencarian heuristik
Modul 3 pencarian heuristik
ahmad haidaroh
 
Bayes Belief Network
Bayes Belief NetworkBayes Belief Network
Bayes Belief Network
Hendri Karisma
 

Viewers also liked (20)

Intelijensia buatan - 02 Agen Cerdas
Intelijensia buatan - 02 Agen CerdasIntelijensia buatan - 02 Agen Cerdas
Intelijensia buatan - 02 Agen Cerdas
 
Intelijensia buatan - 03 Agen Pencarian (Searching Agent)
Intelijensia buatan - 03 Agen Pencarian (Searching Agent)Intelijensia buatan - 03 Agen Pencarian (Searching Agent)
Intelijensia buatan - 03 Agen Pencarian (Searching Agent)
 
Slide tentang Kecerdasan Buatan
Slide tentang Kecerdasan BuatanSlide tentang Kecerdasan Buatan
Slide tentang Kecerdasan Buatan
 
Kecerdasan buatan
Kecerdasan buatanKecerdasan buatan
Kecerdasan buatan
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
Modul 1 pengenalan kecerdasan buatan
Modul 1   pengenalan kecerdasan buatanModul 1   pengenalan kecerdasan buatan
Modul 1 pengenalan kecerdasan buatan
 
Presentasi modul 11 kecerdasan buatan
Presentasi modul 11 kecerdasan buatanPresentasi modul 11 kecerdasan buatan
Presentasi modul 11 kecerdasan buatan
 
Makalah n-queen problem
Makalah n-queen problemMakalah n-queen problem
Makalah n-queen problem
 
Ai 1
Ai 1Ai 1
Ai 1
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman Algoritma
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Tugas bu ratna #pertemuan 11
Tugas bu ratna #pertemuan 11Tugas bu ratna #pertemuan 11
Tugas bu ratna #pertemuan 11
 
Atm fix
Atm fixAtm fix
Atm fix
 
Metodologi penelitian Ilmu Komputer (zainal a.h, ph.d) 2007
Metodologi penelitian Ilmu Komputer (zainal a.h, ph.d) 2007Metodologi penelitian Ilmu Komputer (zainal a.h, ph.d) 2007
Metodologi penelitian Ilmu Komputer (zainal a.h, ph.d) 2007
 
Definisi kecerdasan buatan
Definisi kecerdasan buatanDefinisi kecerdasan buatan
Definisi kecerdasan buatan
 
Eight puzzle kotak 8 - final
Eight puzzle   kotak 8 - finalEight puzzle   kotak 8 - final
Eight puzzle kotak 8 - final
 
Sistem Cerdas
Sistem CerdasSistem Cerdas
Sistem Cerdas
 
Jarrar: First Order Logic- Inference Methods
Jarrar: First Order Logic- Inference MethodsJarrar: First Order Logic- Inference Methods
Jarrar: First Order Logic- Inference Methods
 
Modul 3 pencarian heuristik
Modul 3   pencarian heuristikModul 3   pencarian heuristik
Modul 3 pencarian heuristik
 
Bayes Belief Network
Bayes Belief NetworkBayes Belief Network
Bayes Belief Network
 

Similar to Modul bahan-ajar-kecerdasan-buatan-ptiik-final

Kajian Kritis dalam Pembelajaran Matematika di SD
Kajian Kritis dalam Pembelajaran Matematika di SDKajian Kritis dalam Pembelajaran Matematika di SD
Kajian Kritis dalam Pembelajaran Matematika di SDNASuprawoto Sunardjo
 
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SDPenggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SDNASuprawoto Sunardjo
 
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SDPenggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SDNASuprawoto Sunardjo
 
Penyusunan Proposal Penelitian Tindakan Kelas Dalam Pembelajaran Matematika d...
Penyusunan Proposal Penelitian Tindakan Kelas Dalam Pembelajaran Matematika d...Penyusunan Proposal Penelitian Tindakan Kelas Dalam Pembelajaran Matematika d...
Penyusunan Proposal Penelitian Tindakan Kelas Dalam Pembelajaran Matematika d...NASuprawoto Sunardjo
 
SMK-MAK kelas10 smk kimia industri suparmi sari
SMK-MAK kelas10 smk kimia industri suparmi sariSMK-MAK kelas10 smk kimia industri suparmi sari
SMK-MAK kelas10 smk kimia industri suparmi sarisekolah maya
 
PTK Keaktifan dan Hasil Belajar Siswa SMK NU Balikpapan
PTK Keaktifan dan Hasil Belajar Siswa SMK NU BalikpapanPTK Keaktifan dan Hasil Belajar Siswa SMK NU Balikpapan
PTK Keaktifan dan Hasil Belajar Siswa SMK NU Balikpapan
SMK Nahdlatul Ulama Balikpapan
 
Smk11 kimiaindustri-suparni
Smk11 kimiaindustri-suparniSmk11 kimiaindustri-suparni
Smk11 kimiaindustri-suparniDian Fery Irawan
 
Kata pengantar
Kata pengantarKata pengantar
Kata pengantar
dekanfkip
 
kapitaaa-170427174940.pdf
kapitaaa-170427174940.pdfkapitaaa-170427174940.pdf
kapitaaa-170427174940.pdf
Isnaininurazizah2
 
Modul Pembelajaran Kapita Selekta Matematika
Modul Pembelajaran Kapita Selekta MatematikaModul Pembelajaran Kapita Selekta Matematika
Modul Pembelajaran Kapita Selekta Matematika
Adelia Ibrahim
 
Smk10 kimiaindustri-suparni
Smk10 kimiaindustri-suparniSmk10 kimiaindustri-suparni
Smk10 kimiaindustri-suparniDian Fery Irawan
 
Pembelajaran Kemampuan Pemecahan Masalah Matematika di SD
Pembelajaran Kemampuan Pemecahan Masalah Matematika di SDPembelajaran Kemampuan Pemecahan Masalah Matematika di SD
Pembelajaran Kemampuan Pemecahan Masalah Matematika di SDNASuprawoto Sunardjo
 
Pembelajaran Kemampuan Memecahkan Masalah Matematika di SD
Pembelajaran Kemampuan Memecahkan Masalah Matematika di SDPembelajaran Kemampuan Memecahkan Masalah Matematika di SD
Pembelajaran Kemampuan Memecahkan Masalah Matematika di SDNASuprawoto Sunardjo
 
Pemanfaatan Alat Peraga Matematika Dalam Pembelajaran di SD
Pemanfaatan Alat Peraga Matematika Dalam Pembelajaran di SDPemanfaatan Alat Peraga Matematika Dalam Pembelajaran di SD
Pemanfaatan Alat Peraga Matematika Dalam Pembelajaran di SDNASuprawoto Sunardjo
 
Smk12 kimiaindustri-suparni
Smk12 kimiaindustri-suparniSmk12 kimiaindustri-suparni
Smk12 kimiaindustri-suparniDian Fery Irawan
 
53 metode belajar dan pembelajaran beserta aplikasinya
53 metode belajar dan pembelajaran  beserta aplikasinya53 metode belajar dan pembelajaran  beserta aplikasinya
53 metode belajar dan pembelajaran beserta aplikasinya
Sinta Rosanti
 
53 metode pembelajaran (e-book)
53 metode pembelajaran (e-book)53 metode pembelajaran (e-book)
53 metode pembelajaran (e-book)
Sifa Siti Mukrimah
 
Metode Pembelajaran untuk diterapkan di dalam kelas
Metode Pembelajaran untuk diterapkan di dalam kelasMetode Pembelajaran untuk diterapkan di dalam kelas
Metode Pembelajaran untuk diterapkan di dalam kelas
erwan861
 
PELATIHAN WIDYAISWARA PENYESUAIAN/INPASSING BERBASIS E-LEARNING
PELATIHAN WIDYAISWARA PENYESUAIAN/INPASSING BERBASIS E-LEARNINGPELATIHAN WIDYAISWARA PENYESUAIAN/INPASSING BERBASIS E-LEARNING
PELATIHAN WIDYAISWARA PENYESUAIAN/INPASSING BERBASIS E-LEARNING
temanna #LABEDDU
 

Similar to Modul bahan-ajar-kecerdasan-buatan-ptiik-final (20)

Kajian Kritis dalam Pembelajaran Matematika di SD
Kajian Kritis dalam Pembelajaran Matematika di SDKajian Kritis dalam Pembelajaran Matematika di SD
Kajian Kritis dalam Pembelajaran Matematika di SD
 
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SDPenggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
 
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SDPenggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
Penggunaan Program Pengolah Kata untuk Penyiapan Bahan Ajar Matematika SD
 
Penyusunan Proposal Penelitian Tindakan Kelas Dalam Pembelajaran Matematika d...
Penyusunan Proposal Penelitian Tindakan Kelas Dalam Pembelajaran Matematika d...Penyusunan Proposal Penelitian Tindakan Kelas Dalam Pembelajaran Matematika d...
Penyusunan Proposal Penelitian Tindakan Kelas Dalam Pembelajaran Matematika d...
 
SMK-MAK kelas10 smk kimia industri suparmi sari
SMK-MAK kelas10 smk kimia industri suparmi sariSMK-MAK kelas10 smk kimia industri suparmi sari
SMK-MAK kelas10 smk kimia industri suparmi sari
 
PTK Keaktifan dan Hasil Belajar Siswa SMK NU Balikpapan
PTK Keaktifan dan Hasil Belajar Siswa SMK NU BalikpapanPTK Keaktifan dan Hasil Belajar Siswa SMK NU Balikpapan
PTK Keaktifan dan Hasil Belajar Siswa SMK NU Balikpapan
 
Pedoman umum-unpad
Pedoman umum-unpadPedoman umum-unpad
Pedoman umum-unpad
 
Smk11 kimiaindustri-suparni
Smk11 kimiaindustri-suparniSmk11 kimiaindustri-suparni
Smk11 kimiaindustri-suparni
 
Kata pengantar
Kata pengantarKata pengantar
Kata pengantar
 
kapitaaa-170427174940.pdf
kapitaaa-170427174940.pdfkapitaaa-170427174940.pdf
kapitaaa-170427174940.pdf
 
Modul Pembelajaran Kapita Selekta Matematika
Modul Pembelajaran Kapita Selekta MatematikaModul Pembelajaran Kapita Selekta Matematika
Modul Pembelajaran Kapita Selekta Matematika
 
Smk10 kimiaindustri-suparni
Smk10 kimiaindustri-suparniSmk10 kimiaindustri-suparni
Smk10 kimiaindustri-suparni
 
Pembelajaran Kemampuan Pemecahan Masalah Matematika di SD
Pembelajaran Kemampuan Pemecahan Masalah Matematika di SDPembelajaran Kemampuan Pemecahan Masalah Matematika di SD
Pembelajaran Kemampuan Pemecahan Masalah Matematika di SD
 
Pembelajaran Kemampuan Memecahkan Masalah Matematika di SD
Pembelajaran Kemampuan Memecahkan Masalah Matematika di SDPembelajaran Kemampuan Memecahkan Masalah Matematika di SD
Pembelajaran Kemampuan Memecahkan Masalah Matematika di SD
 
Pemanfaatan Alat Peraga Matematika Dalam Pembelajaran di SD
Pemanfaatan Alat Peraga Matematika Dalam Pembelajaran di SDPemanfaatan Alat Peraga Matematika Dalam Pembelajaran di SD
Pemanfaatan Alat Peraga Matematika Dalam Pembelajaran di SD
 
Smk12 kimiaindustri-suparni
Smk12 kimiaindustri-suparniSmk12 kimiaindustri-suparni
Smk12 kimiaindustri-suparni
 
53 metode belajar dan pembelajaran beserta aplikasinya
53 metode belajar dan pembelajaran  beserta aplikasinya53 metode belajar dan pembelajaran  beserta aplikasinya
53 metode belajar dan pembelajaran beserta aplikasinya
 
53 metode pembelajaran (e-book)
53 metode pembelajaran (e-book)53 metode pembelajaran (e-book)
53 metode pembelajaran (e-book)
 
Metode Pembelajaran untuk diterapkan di dalam kelas
Metode Pembelajaran untuk diterapkan di dalam kelasMetode Pembelajaran untuk diterapkan di dalam kelas
Metode Pembelajaran untuk diterapkan di dalam kelas
 
PELATIHAN WIDYAISWARA PENYESUAIAN/INPASSING BERBASIS E-LEARNING
PELATIHAN WIDYAISWARA PENYESUAIAN/INPASSING BERBASIS E-LEARNINGPELATIHAN WIDYAISWARA PENYESUAIAN/INPASSING BERBASIS E-LEARNING
PELATIHAN WIDYAISWARA PENYESUAIAN/INPASSING BERBASIS E-LEARNING
 

Recently uploaded

tugas Ppkn_2024043274444_150222_0000.pdf
tugas Ppkn_2024043274444_150222_0000.pdftugas Ppkn_2024043274444_150222_0000.pdf
tugas Ppkn_2024043274444_150222_0000.pdf
JelitaMeizeraWellysy
 
Reformasi Birokrasi Kementerian Pertanian Republik Indonesia Tahun 2020-2024
Reformasi Birokrasi Kementerian Pertanian Republik Indonesia Tahun 2020-2024Reformasi Birokrasi Kementerian Pertanian Republik Indonesia Tahun 2020-2024
Reformasi Birokrasi Kementerian Pertanian Republik Indonesia Tahun 2020-2024
Universitas Sriwijaya
 
Materi kuliah tEORI KOMUNIKASI PEMBANGUNAN.pptx
Materi kuliah tEORI KOMUNIKASI PEMBANGUNAN.pptxMateri kuliah tEORI KOMUNIKASI PEMBANGUNAN.pptx
Materi kuliah tEORI KOMUNIKASI PEMBANGUNAN.pptx
erlinahayati1
 
Sejarah Rekam Medis, Perkembangan, Isi, Manfaat, dan Penyimpanannya PPT.pptx
Sejarah Rekam Medis, Perkembangan, Isi, Manfaat, dan Penyimpanannya PPT.pptxSejarah Rekam Medis, Perkembangan, Isi, Manfaat, dan Penyimpanannya PPT.pptx
Sejarah Rekam Medis, Perkembangan, Isi, Manfaat, dan Penyimpanannya PPT.pptx
LuhAriyani1
 
TEORI-TEORI KEPEMIMPINAN (Tugas uas Kepemimpinan)
TEORI-TEORI KEPEMIMPINAN (Tugas uas Kepemimpinan)TEORI-TEORI KEPEMIMPINAN (Tugas uas Kepemimpinan)
TEORI-TEORI KEPEMIMPINAN (Tugas uas Kepemimpinan)
NurHalifah34
 
Permasalahan dan Kebijakan Konvergensi Penurunan Stunting di Desa.pptx
Permasalahan dan Kebijakan Konvergensi Penurunan Stunting di Desa.pptxPermasalahan dan Kebijakan Konvergensi Penurunan Stunting di Desa.pptx
Permasalahan dan Kebijakan Konvergensi Penurunan Stunting di Desa.pptx
Zainul Akmal
 
1.4.a.8. Koneksi Antar Materi Budaya Positif
1.4.a.8. Koneksi Antar Materi Budaya Positif1.4.a.8. Koneksi Antar Materi Budaya Positif
1.4.a.8. Koneksi Antar Materi Budaya Positif
emalestari711
 
THE TRADISIONAL MODEL OF PUBLIC ADMINISTRATION model tradisional administras...
THE TRADISIONAL MODEL OF PUBLIC  ADMINISTRATION model tradisional administras...THE TRADISIONAL MODEL OF PUBLIC  ADMINISTRATION model tradisional administras...
THE TRADISIONAL MODEL OF PUBLIC ADMINISTRATION model tradisional administras...
Universitas Sriwijaya
 
PPT (EKOSISTEM) - Refandi Alim - Bahan Ajar Magang.pptx
PPT (EKOSISTEM) - Refandi Alim - Bahan Ajar Magang.pptxPPT (EKOSISTEM) - Refandi Alim - Bahan Ajar Magang.pptx
PPT (EKOSISTEM) - Refandi Alim - Bahan Ajar Magang.pptx
refandialim
 
Reformasi Administrasi Publik di Indonesia (1998-2023): Strategi, Implementas...
Reformasi Administrasi Publik di Indonesia (1998-2023): Strategi, Implementas...Reformasi Administrasi Publik di Indonesia (1998-2023): Strategi, Implementas...
Reformasi Administrasi Publik di Indonesia (1998-2023): Strategi, Implementas...
Universitas Sriwijaya
 
PPT ASAS PERATURAN PERundang UNDANGAN.pptx
PPT ASAS PERATURAN PERundang UNDANGAN.pptxPPT ASAS PERATURAN PERundang UNDANGAN.pptx
PPT ASAS PERATURAN PERundang UNDANGAN.pptx
LuhAriyani1
 
KOSP SD MODEL 1 - datadikdasmen.com.docx
KOSP SD MODEL 1 - datadikdasmen.com.docxKOSP SD MODEL 1 - datadikdasmen.com.docx
KOSP SD MODEL 1 - datadikdasmen.com.docx
sdpurbatua03
 
Penumbuhan POSLUHDES ( pos penyuluhan desa)
Penumbuhan POSLUHDES ( pos penyuluhan desa)Penumbuhan POSLUHDES ( pos penyuluhan desa)
Penumbuhan POSLUHDES ( pos penyuluhan desa)
SobriCubi
 
Etikolegal Pelayanan kebidanan ibu hamil
Etikolegal Pelayanan kebidanan ibu hamilEtikolegal Pelayanan kebidanan ibu hamil
Etikolegal Pelayanan kebidanan ibu hamil
NurWana20
 

Recently uploaded (14)

tugas Ppkn_2024043274444_150222_0000.pdf
tugas Ppkn_2024043274444_150222_0000.pdftugas Ppkn_2024043274444_150222_0000.pdf
tugas Ppkn_2024043274444_150222_0000.pdf
 
Reformasi Birokrasi Kementerian Pertanian Republik Indonesia Tahun 2020-2024
Reformasi Birokrasi Kementerian Pertanian Republik Indonesia Tahun 2020-2024Reformasi Birokrasi Kementerian Pertanian Republik Indonesia Tahun 2020-2024
Reformasi Birokrasi Kementerian Pertanian Republik Indonesia Tahun 2020-2024
 
Materi kuliah tEORI KOMUNIKASI PEMBANGUNAN.pptx
Materi kuliah tEORI KOMUNIKASI PEMBANGUNAN.pptxMateri kuliah tEORI KOMUNIKASI PEMBANGUNAN.pptx
Materi kuliah tEORI KOMUNIKASI PEMBANGUNAN.pptx
 
Sejarah Rekam Medis, Perkembangan, Isi, Manfaat, dan Penyimpanannya PPT.pptx
Sejarah Rekam Medis, Perkembangan, Isi, Manfaat, dan Penyimpanannya PPT.pptxSejarah Rekam Medis, Perkembangan, Isi, Manfaat, dan Penyimpanannya PPT.pptx
Sejarah Rekam Medis, Perkembangan, Isi, Manfaat, dan Penyimpanannya PPT.pptx
 
TEORI-TEORI KEPEMIMPINAN (Tugas uas Kepemimpinan)
TEORI-TEORI KEPEMIMPINAN (Tugas uas Kepemimpinan)TEORI-TEORI KEPEMIMPINAN (Tugas uas Kepemimpinan)
TEORI-TEORI KEPEMIMPINAN (Tugas uas Kepemimpinan)
 
Permasalahan dan Kebijakan Konvergensi Penurunan Stunting di Desa.pptx
Permasalahan dan Kebijakan Konvergensi Penurunan Stunting di Desa.pptxPermasalahan dan Kebijakan Konvergensi Penurunan Stunting di Desa.pptx
Permasalahan dan Kebijakan Konvergensi Penurunan Stunting di Desa.pptx
 
1.4.a.8. Koneksi Antar Materi Budaya Positif
1.4.a.8. Koneksi Antar Materi Budaya Positif1.4.a.8. Koneksi Antar Materi Budaya Positif
1.4.a.8. Koneksi Antar Materi Budaya Positif
 
THE TRADISIONAL MODEL OF PUBLIC ADMINISTRATION model tradisional administras...
THE TRADISIONAL MODEL OF PUBLIC  ADMINISTRATION model tradisional administras...THE TRADISIONAL MODEL OF PUBLIC  ADMINISTRATION model tradisional administras...
THE TRADISIONAL MODEL OF PUBLIC ADMINISTRATION model tradisional administras...
 
PPT (EKOSISTEM) - Refandi Alim - Bahan Ajar Magang.pptx
PPT (EKOSISTEM) - Refandi Alim - Bahan Ajar Magang.pptxPPT (EKOSISTEM) - Refandi Alim - Bahan Ajar Magang.pptx
PPT (EKOSISTEM) - Refandi Alim - Bahan Ajar Magang.pptx
 
Reformasi Administrasi Publik di Indonesia (1998-2023): Strategi, Implementas...
Reformasi Administrasi Publik di Indonesia (1998-2023): Strategi, Implementas...Reformasi Administrasi Publik di Indonesia (1998-2023): Strategi, Implementas...
Reformasi Administrasi Publik di Indonesia (1998-2023): Strategi, Implementas...
 
PPT ASAS PERATURAN PERundang UNDANGAN.pptx
PPT ASAS PERATURAN PERundang UNDANGAN.pptxPPT ASAS PERATURAN PERundang UNDANGAN.pptx
PPT ASAS PERATURAN PERundang UNDANGAN.pptx
 
KOSP SD MODEL 1 - datadikdasmen.com.docx
KOSP SD MODEL 1 - datadikdasmen.com.docxKOSP SD MODEL 1 - datadikdasmen.com.docx
KOSP SD MODEL 1 - datadikdasmen.com.docx
 
Penumbuhan POSLUHDES ( pos penyuluhan desa)
Penumbuhan POSLUHDES ( pos penyuluhan desa)Penumbuhan POSLUHDES ( pos penyuluhan desa)
Penumbuhan POSLUHDES ( pos penyuluhan desa)
 
Etikolegal Pelayanan kebidanan ibu hamil
Etikolegal Pelayanan kebidanan ibu hamilEtikolegal Pelayanan kebidanan ibu hamil
Etikolegal Pelayanan kebidanan ibu hamil
 

Modul bahan-ajar-kecerdasan-buatan-ptiik-final

  • 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 KECERDASAN BUATAN
  • 2. Page 1 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Tim teaching Kecerdasan Buatan
  • 3. Page 2 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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. FIRST ORDER LOGIC ................................................................................................................................................... 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 LAMPIRAN.............................................................................................. 91
  • 5. Page 4 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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. PENGANTARKECERDASANBUATAN MODUL 1
  • 6. Page 5 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Acting rationally
  • 7. Page 6 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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  Memahami perhitungan
  • 8. Page 7 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University  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” 4. AI menjadi industry (1980 – sekarang)
  • 9. Page 8 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University - 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 / MateriKuliah 2012Brawijaya University 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. AGENCERDAS MODUL 2
  • 11. Page 10 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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. • Jenis Lingkungan sangat menentukan desain agen
  • 13. Page 12 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University • 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 o UPDATE-STATE menciptakan keadaan internal baru
  • 15. Page 14 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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  Fungsi Utilitas memetakan state ke bilangan real (ukuran kinerja)
  • 16. Page 15 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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.) 2. Tentukan lingkungan agen dan jenis agen, dan penjelasannya!
  • 17. Page 16 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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. PenyelesaianProblemdengan Pencarian(searching) MODUL 3
  • 18. Page 17 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Gambar 3.2. Vacuum world
  • 19. Page 18 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University  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  path cost?: waktu eksekusi
  • 20. Page 19 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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  Lengkap? Ya (jika b adalah terbatas)
  • 22. Page 21 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University  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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 bandingkan total step costnya!
  • 26. Page 25 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 PENCARIANHEURISTIK/INFORMEDSEARCH (SPEED) MODUL
  • 27. Page 26 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 5 3 4
  • 28. Page 27 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University  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 Panjang Lintasan 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 )!24! (2 !4   kombinasi. Keenam kombinasi ini akan dipakai semuanya sebagai operator, yaitu  !2!2 ! n n
  • 30. Page 29 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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,3Tk 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) Tk 2,3 (21) (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,3Tk 3,4 (19) (15) (19) (16) (15)
  • 31. Page 30 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 2. Algoritma A*
  • 34. Page 33 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 ), tetapiheuristikyang 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. b. Keluarkan current node dari openlist dan masukan ke close list
  • 36. Page 35 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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* Penyelesaian TSP dengan A*
  • 37. Page 36 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Gambar 4.11. langkah 1 dan 2 penyelesaian dengan algoritma A*
  • 38. Page 37 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University Gambar 4.12. langkah 3 penyelesaian dengan algoritma A* Gambar 4.13. langkah 4 dan 5 penyelesaian dengan algoritma A* Gambar 4.14. langkah 6 penyelesaian dengan algoritma A*
  • 39. Page 38 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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 50 10 20 20 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 / MateriKuliah 2012Brawijaya University 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 CONSTRAINTSATISFACTION PROBLEM MODUL 5
  • 42. Page 41 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 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,
  • 43. Page 42 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University T=green} Constraint graph • merupakan representasi di mana node adalah variabel, edge adalah constraint, misal peta pada gambar 5.2 bisa dibuat seperti gambar 5.3 Gambar 5.3 Contoh Constraint graph Jenis constraint Unaryconstraint::menyatakan persyaratan sebuahvariabel, mis: SA ≠ green Binary constraint::menyatakan persyaratan sepasangvariabel, mis: SA ≠ WA n-ary constraint(Higher-Order) :menyatakan persyaratan tiga atau lebih variabel, mis: Cryptarithmetic Preferences (soft constraints) :syarat yang sebaiknyadipenuhi, tetapi tidak harus. Mis: r lebih baik dari g. Biasanya dinyatakan sebagai cost sebuah nilaivariabel. ! constrained optimization problem. Menyelesaikan CSP dengan search biasa State ditentukan dengan nilai yang sudah dialokasikan sekarang Initial state: assignment kosong: {} Successor function: pilih nilai untuk sebuah variabelyang belum di- assign yang sah: tidak konflik denganassignment. Jika tidak ada: gagal! Goal test: apakah assignment sudah lengkap Catatan: 1. Hal ini berlaku untuk setiap masalah CSP 2. Karena variabel terbatas maka setiap solusi akan muncul pada kedalaman n dengan n variabel gunakan depth-first Search 3. Karena path irrelevan kita dapat gunakan algoritma local search 3. BACKTRACKING  Algoritma backtracking search (penelusuran kembali) adalah suatu bentuk algoritma depth-first-search.  Backtracking dapat dilihat sebagaimana searching dalam tree, karena setiap node mewakili state dan turunan dari setiap node mewakili ekstensi dari state tersebut.  Pada metode backtracking, variabel diisi secara sequential selagi semua variabel relevan dengan constraint yang sudah diinisialisasi.  Jika solusi partial melanggar constraint, backtracking melakukan langkah kembali ke solusi partial sebelumnya dan memilih nilai lain yang belum dicoba untuk variabel yang ingin diisikan.
  • 44. Page 43 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University  Langkah tersebut berguna untuk menghindari eksplorasi lebih lanjut dari solusi partial yang salah.  Keuntungan backtracking : pemeriksaan consistency hanya perlu dilakukan terhadap assignment yang terakhir dilakukan karena pemeriksaan terhadap assignment yang sebelumnya sudah dilakukan sebelumnya.  Pada algoritma backtracking, teknik look ahead digunakan untuk meramalkan efek pemilihan variabel branching untuk mengevaluasi nilai-nilai 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 variabel untuk dipakai.  Ketika suatu nilai diisikan ke suatu variabel, nilai yang berada di domain dari variabel yang konflik dengan assignment tersebut akan dihilangkan dari domain. Backtracking search  Variabel 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, ada dn leaf  Depth first search pada CSP dengan assignment satuvariabel tiap level disebut backtracking search.  Algoritma uninformed standar untuk masalah CSP Algoritma Bactracking Contoh Lakukan pewarnaan peta pada Gambar 5.1 dengan menggunakan Bactracking
  • 45. Page 44 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University Gambar 5.4 Contoh backtraking Memperbaiki kinerja backtracking  Urutan pemilihan variabel dan nilai mempengaruhi kinerja backtracking  Terdapat beberapa strategi yang berlaku secara umum (general- purpose): 1. Variabel 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 masalahCSP? (Representasinya jelas!) PRINSIP PEWARNAAN Ada beberapa prinsip dalam melakukan pewarnaan antara lain : Prinsip 1: Most Constrained Variabel  Adalah :Variabel paling dibatasi  Pilih variabel yang memiliki kemungkinan nilai sah paling sedikit Gambar 5.5 Contoh prinsip 1 Prinsip 2: Most Constraining Variabel  Adalah variabel paling membatasi  Pilih variabel yang terlibat constraint dengan variabel lain (yang belum di-assign) yang paling banyak.  Tie − breaker : gunakan kalau ada 2 atau lebih variabel yang sama bagusnya berdasarkan prinsip 1. Gambar 5.6 Contoh prinsip 2 Prinsip 3: Least Constraining Value  Adalah variabel paling membebasi  Pilih nilai yang menimbulkan batasan kemungkinan nilai variabel lain (yang belum di-assign) yang paling sedikit.  Jika ketiga prinsip ini digunakan, masalah n-queens
  • 46. Page 45 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University dengan n=1000 bisa diselesaikan! Gambar 5.7 Contoh prinsip 3 4. FORWARD CHECKING  Cara termudah untuk menghindari konflik isi variabel  Melalui forward checking hanya akan dievaluasi constraint antara variabel saat ini dan variabel berikutnya. Jika suatu nilai dialokasikan untuk variabel saat ini, maka nilai apapun dari variabel berikutnya yang dapat membawa konflik dari variabel saat ini akan disingkirkan dari domain.  Keuntungannya adalah jika domain dari variabel berikutnya adalah kosong, maka segera dikeahui bahwa solusi yang terbentuk ternyata salah.  Dengan forward checking, maka pencabangan dari pohon pencarian akan dipangkas lebih awal, dibanding dengan backtracking. Catat kemungkinan nilai sah untuk semua variabel yang belum di- assign. Jika ada sebuah variabel yang tidak ada kemungkinan nilai sah, langsung failure (backtrack). Gambar 5.8 Inisialisasi nilai untuk forward checking Ideforward checking:  Simpan nilai valid untuk variabel yang belum di-assign  Bila salah satu variabel tidak mempunyai kemungkinan nilai yang valid maka search dihentikan  Untuk lebih jelasnya langkah forward checkingdapat dillihat pada gambar 5.9
  • 47. Page 46 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University Gambar 5.9 Langkah penyelesaian untuk forward checking 5.CONSTRAINT PROPAGATION Constraint propagation  Forward checking memberikan informasi dari variabel yang dialokasi, namun tidak dapat mendeteksi kegagalan sebelumnya Gambar 5.10 Pengecekan untuk Constraint propagation Pada Gambar 5.10 , diketahui NT dan SA berwarna sama yakni biru, padahal NT dan SA tetanggaan, sehingga hal ini tidak diperbolehkan.  Forward checking hanya mempertimbangkan setiap constraint secara terpisah.  Forward checking mem-propagasi (meneruskan) informasi dari variabel yang sudah di-assign ke yang belum. Secara umum, ini disebut constraint propagation.  Namun, tidak semua failure bisa di-deteksi secara dini 6.ARC CONSISTENCY  Arc consistency adalah metode constraint propagation yang lebih canggih. Konsistensi antar constraint dipertahankan.  Arc X Yadalah edge satu arah dari variable X ke Y dalam constraint graph. Prinsip Con Prinsip Arc Consistency X Ydikatakan konsisten jika dan hanya jika untuk setiap nilai sah x dari X ada nilai sah y dari Y.
  • 48. Page 47 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University sistency Gambar 5.11Langkah penyelesaian untuk Arc Consistency Algoritma AC3 Algoritma AC3 melakukan constraint propagation sbb:  Periksa semua arc dalam constraint graph  Jika untuk X Yada nilai sah x dari X sehingga tidak ada nilai sah y dari Y, buang x.  Jika ada nilai x yang dibuang, periksa ulang semua“tetangga” Xdi dalam constraint graph.  Algoritma AC3 ini bisa mendeteksi failurelebih cepat daripada forward checking.  AC3 dapat dijalankan sebagai pra-proses sebelum melakukan backtracking, atau bisa dijalankan setelah setiap assignment.
  • 49. Page 48 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University Local search untuk CSP  Dalam praktek, local search cocok untuk CSP.  State harus lengkap/complete (semua variable harus ter-assign) tapi boleh melanggar constraint.  Operator/action-nya: menukar nilai variabel (reassign).  Pemilihan variable: pilih secara acak variable yang melanggar sebuah constraint.  Pemilihan nilai:  gunakan heuristic minimum conflict:  pilih nilai yang melanggar constraint paling sedikit.  Lakukan local search (hillclimb, simulated annealing,  genetic algorithm, dll.) meminimalkan h(n) = jumlah pelanggaran constraint  Perhatian: secara teoritis pendekatan ini tidak dijamin complete. Contoh : Local search untuk 4 –queen State: 4 queen dalam 4 kolom (44 = 256 state) Operator/action: pindahkan menteri dalam kolom Goal test: tidak ada menteri saling makan Evaluation/fitness function: h(n) = jumlah pasangan queen saling makan Bisa menyelesaikan 1000000-queens problem! Gambar 5.12. Langkah penyelesaian untuk Arc Consistency
  • 50. Page 49 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University Rangkuman  CSP adalah masalah yang bentuknya spesifik:  State berupa assignment nilai terhadap himpunan variabel  Goal test berupa constraint terhadap nilai variabel.  Backtracking: depth-first search mempertimbangkan satu variable di setiap node  Heuristic urutan pemilihan variable dan nilai sangat mempengaruhi kinerja  Forward checking dan arc consistency adalah bentuk constraint propagation yang mendeteksi kegagalan (failure) lebih dini.  Representasi CSP yang spesifik memungkinkan analisis masalah ! penyederhanaan: CSP berbentuk tree bisa diselesaikan dalam waktu linier.  Metode local search untuk CSP (dengan heuristic min-conflicts) dalam praktek cukup efektif. REFERENSI  Anonim, Teknik Pencarian Heuristik, http://journal.mercubuana.ac.id/data/Heuristic- search.pdf, tanggal akses 24 November 2011  Anonim, Costraint Satisfaction Problem, PIB lesson9 CSP, http://sitoba.itmaranatha.org/PIB%200809/eBooks/PIB%20lesson9.pdf, ,tanggal akses 30 Agustus 2012  Anonim, Constraints And Adversarial Search, http://sitoba.itmaranatha.org/PIB%200809/.../PIB0809-07%2009%2010.pp..., tanggal akses 27 Agustus 2012  Lianto, Joko dkk, Penjadwalan matakuliah dengan menggunakan algoritma genetik dan metode constrain satisfaction, teknik informatika, FTI, ITS, openpaper.its.ac.id/download.php/?idf=41, tanggal akses 25 Agustus 2012  Manurung, Ruli , 2007 IKI 30320: Sistem CerdasKuliah 7: Constraint Satisfaction Problems,Fakultas Ilmu Komputer,Universitas Indonesia, www.cs.ui.ac.id/WebKuliah/IKI30320/.../iki30320_20070924_hand..., tanggal akses 15 Maretr 2012  Russel, S., Norvig 1997, Artificial Intelligence: A Modern Approach , Prentice Hall. 2. Firebaugh, M.W.,1998, Artificial Intelligence: A Knowledge-Base Approach, Boyd and
  • 51. Page 50 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University Frasser  Sri Kusumadewi, Artificial Intelligence : Teknik dan Aplikasinya, Graha Ilmu, Yogyakarta, 2003  Suyanto, ST.MSc Artificial Intelligence Searching, Reasoning, Planning dan Learning , informatika Bandung tahun 2007  Yunarsono Muhyi , Penjadwalan kuliah otomatis dengan Constraint Programming, http://muhyi.hostei.com/media/blogs/paper/ARTIKEL_SNASTI_MUHYI_Revisi.pdf, tanggal akses 23 Agustus 2012  Wijaya, Teddy dan Ruli Manurung, Solving University Timetabling As a Constraint Satisfaction Problem with Genetic Algorithm ,http://ejournal.narotama.ac.id/files/Solving%20University%20Timetabling%20As%2 0a%20Constraint%20Satisfaction%20Problem%20with%20Genetic%20Algorithm.pdf, tanggal akses 17 September 2012 PROPAGASI B. Latihan dan Diskusi 1. Gunakan Algoritma Backtracking untuk menyelesaikan kasus 8-puzzle 2. Gambar 5.13. Isikan bidang pada Gambar 5.13 di atas dengan warna: merah, kuning, hijau, biru. Bidang bertetangga tidak boleh memiliki warna yang sama. 1. Sebutkan variabel yang Anda ! 2. Sebutkandomain yang tersedia! 3. Bagaimana Anda mengevaluasi constraints-nya? Selamat mengerjakan
  • 52. Page 51 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University Kecerdasan Buatan: Logical Agents 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 : ptik@ub.ac.id 1. PENDAHULUAN 1.1 Pengantar 1.2 Tujuan 2. Agen Berbasis Pengetahuan 3. Agen Berbasis Logika 4. Logika Proposisi 5. Metode Pembuktian 6. Latihan 1. PENDAHULUAN 1.1 Pengantar Agen logika merupakan agen yang memiliki kemampuan bernalar secara logika. Ketika beberapa solusi tidak secara eksplisit diketahui, maka diperlukan suatu agen berbasis logika. Logika sebagai Bahasa Representasi Pengetahuan memiliki kemampuan untuk merepresenasikan fakta sedemikian sehingga kesimpulan (fakta baru, jawaban) dapat ditarik, sedangkan pengetahuan merupakan komponen yang penting, sehingga terdapat perbedaan jika diterapkan pada dua agent, yakni problem solving agent dan knowledge-based agent. - Problem solving agent: memilih solusi di antara kemungkinan yang. Apa yang ia “ketahui” tentang dunia tidak berkembang untuk mencapai problem solution (initial state, successor function, goal test) - Knowledge-based agent: lebih “pintar”. Ia “mengetahui” hal-hal tentang dunia dan dapat melakukan reasoning (berpikit, bernalar) mengenai: o Hal-hal yang tidak diketahui sebelumnya (imprefect/ partial information) o Tindakan yang paling baik untuk diambil Inference engine Domain-independent algorithms Knowledge engine Domain-specifics content 6 LOGICALAGENTS MODUL
  • 53. Page 52 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University 1.2 Tujuan Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :  Menjelaskan dan memahami tentang definisi dan konsep dasar agen berbasis pengetahuan  Menjelaskan dan memahami tentang definisi dan konsep dasar agen berbasis logika.  Menjelaskan dan memahami tentang konsep dasar logika proporsisi baik secara sintaks maupun semantik  Menjelaskan dan memahami tentang metode pembuktian dari logika proporsisi 2. Agen Berbasis Pengetahuan (Knowledge-based Agent)  Knowledge Base menyatakan apa yang “diketahui” oleh si agent  Pendekatan deklaratif membangun agent: “beritahu” informasi yang relevan, simpan dalam KB  (TELL).  Agen dapat ditanya (atau bertanya diri sendiri) apa yang sebaiknya dilakukan berdasarkan KB  (ASK).  Maka sebuah agen berbasis pengetahuan harus bisa: o Mereprentasikan world, state, action, dst. o Menerima informasi baru (dan meng-update representasinya) o Menyimpulkan pengetahuan lain yang tidak eksplisit (hidden property) o Menyimpulkan action apa yang perlu diambil - Knowledge Base merupakan o Himpunan representasi fakta yang diketahui tentang lingkungannya o Tiap fakta disebut sentence o Dinyatakan dalam bahasa formal sehingga bisa diolah o TELL: menambahkan sentence baru ke KB - Inference Engine merupakan: o Menentukan fakta baru yang dapat diturunkan dari pengetahun yang sudah ada dalam KB o Menjawab pertanyaan (ASK) berdasarkan KB yang sudah ada. - Dalam representasi, agent dapat dipandang dari knowledge level: informasi apa yang diketahui? Misal: sebuah robot “mengetahui” bahwa gedung B di antara gedung A dan gedung C - Agent dapat dipandang dari implementation level: bagaimana representasi informas yang diketahuinya? o Logical sentence: di_antara(gdB, gdA, gdC) o Natural language: “Gedung B ada di antara gedung A dan gedung C” o Tabel posisi koordinat gedung-gedung o Gambar diagram peta (dalam bitmap atau vektor?) - Pilihan representasi berpengaruh terhadap apa yang bisa dilakukan inference engine - Pada pendekatan deklaratif programmer memberitahu (TELL) agent informasi tentang environment. - Kalau informasi kurang, agen bisa melengkapinya sendiri. - Jika dibandingkan dengan pendekatan prosedural: programmer secara eksplisit memrogram agen untuk bertindak. - Sehingga bagaimana jika program tidak benar, maka akan besar kemungkinan menyebabkan kesalahan
  • 54. Page 53 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University - Permasalahannya adalah bagaimana representasi yang tepat, sehingga ada dua hal yang harus memperhatikan dua hal: o Expressive: bisa menyatakan fakta tentang environment o Tractable: bisa diolah/ diproses inference engine (dengan cepat?) - Knowledge merupakan kekuatan dari pemrograman secara deklaratif. - Representasi dan penalaran membentuk suatu Intelligence. Contoh Aturan Permainan dalam Wumpus World - Performance measure: emas +1000, mati -1000, gerak -1, panah -10 - Environment: Matriks 4x4 ruang dengan initial state [1,1]. Ada gold, wumpus, dan pit yang lokasinya dipilih secara acak. - Percept terdiri dari: o Breeze: kamar di samping lubang jebakan ada hembusan angin o Glitter: kamar di mana ada emas ada kilauan/ sinar. o Smell: kamar di samping Wumpus berbau busuk - Action: maju, belok kiri 900 ,belok kanan 900 , tembak panah (hanya 1!), ambil benda - Sifat dari Wumpus World: - Fully observable? Tidak, hanya bisa berpresepsi lokal - Deterministic? Ya, hasil tindakan jelas dan pasti - Episodic? Tidak, tergantung action sequence - Static? Ya, gold, wumpus, pit tidak bergerak - Discrete? Ya - Single agent? Ya Bahasa Representasi Pengetahuan (Knowledge Representation Language) Menyatakan suatu bahasa yang digunakan untuk menyatakan fakta tentang “dunia”. Suatu bahasa representasi pengetahuan didefinisikan dalam dua aspek, yakni: 1. Sintaks dari bahasa merupakan aturan yang mendefinisikan sentence yang sah dalam bahasa 2. Semantik menyatakan aturan yang mendefinisikan “arti” sebuah sentence, misalkan: kebenaran sentence dalam dunia ContohKRL dalam bahasa aritmetika
  • 55. Page 54 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University Secara Sintaks dituliskan: x + 2 ≥ y adalah kalimat sah. x2 + y ≥ bukan kalimat sah. Secara semantik: x + 2 ≥ y benar jika dan hanya jika bilangan x + 2 tidak lebih kecil dari bilangan y: - x + 2 ≥ y benar dalam “dunia” di mana x=7, y=1 - x + 2 ≥ y benar dalam “dunia” di mana x=0, y=6 Contoh KRL dalam bahasa Indonesia Secara sintaks dituliskan: - “Jakarta adalah ibukota Indonesia” adalah kalimat sah. - “Ibu Indonesia kota Jakarta adalah” bukan kalimat sah. Maka secara Semantik: “X adalah ibukota Y” benar jika dan hanya jika adalah pusat pemerintahan negara Y. - “Jakarta adalah ibukota Indonesia” benar dalam “dunia” kita sekarang. - “Jakarta adalah ibukota Indonesia” salah dalam “dunia” tahun 1948 (Yogya? Bukitinggi?) 3. Agen Berbasis Logika Logika sebagai Bahasa Representasi Pengetahuan memiliki pengertian: - Logika sebagai bahasa formal untuk merepresenasikan fakta sedemikian sehingga kesimpulan (fakta baru, jawaban) dapat ditarik. - Ada banyak metode inference yang diketahui. - Sehingga kita bisa membangun agent Wumpus World dengan logika: memanfaatkan perkembangan logika oleh ahli matematika, filsafat selama ratusan tahun! Entailmentdapat diartikan sebagai suatu fakta bisa disimpulkan dari (kumpulan) fakta lain. - KB |= α berarti KB melakukan entailment sentence α jika dan hanya jikaa α true dalam “dunia” di mana KB true. Contoh: - KB mengandung dua sentence, yakni “ Anto ganteng” dan “Ani cantik”. - KB |= α1: “Anto ganteng dan Ani cantik” (artinya: hasil entailment bisa berupa kalimat gabungan dari dua kalimat) - KB |≠ α2 : “Anto pintar” - x + y = 4 =| 4= x+y Inferensiatau reasoning merupakan pembentukan fakta (sentence) baru yang meng-entail fakta-fakta lama. Reasoning bukan dilakukan pada fakta di dunia (berdasarkan semantik), melainkan representasi fakta dalam bahasa representasi pengetahuan si agent (secara sintaks) Otak manusia melakukan proses reasoning dalam suatu bentuk sintak dapat diilustrasikan sebagaimana gambar berikut:
  • 56. Page 55 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University - Model merupakan suatu “dunia” di mana kebenaran suatu sentence bisa diuji. - m adalah model α jika dan hanya jika true di “dalam” m. - M(α) adalah himpunan semua model dari α. - KB |= α jika dan hanya jika M(KB) subset dari M(α), sehingga bisa dilihat pada ilustrasi gambar berikut: Misalkan: - KB= Anto ganteng dan Ani cantik - α = Anto ganteng - Hal ini bisa diartikan bahwasanya sentence Anto ganteng lebih luas konotasinya dibandingkan dengan sentence Anto ganteng dan Ani cantik Entailment dalam Wumpus World bisa diilustrasikan sebagaimana berikut, dengan melihan [1,1] OK, [2,1] Breeze: Maka model jebakan ada 3 pilihan boolean di [2,1],[2,2],[3,1], dengan 8 kemungkinan model
  • 57. Page 56 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University KB = pengamatan (percept) + aturan main Wumpus World, maka kita menyatakan apakah kamar [1,2] aman dengan cara melakukan entailment yang mana dibuktikan dengan menggunakan model checking, yakni memeriksa semua kemungkinan M(KB), M(α1). Sehingga dari ilustrasi tersebut diatas menunjukkan bahwasannya: M(KB) subset dari M(α1), sehingga bisa disimpulkan bahwa kamar [1,2] aman. Lain halnya ketika melakukan pengamatan apakah kamar [2,2] aman, dengan ditunjukkan oleh α2., sehingga terlihat sebagaimana ilustrasi berikut: Dari gambar tersebut menunjukkan bahwasannya M(KB) bukan subset dari M(α2), sehingga bisa disimpulkan bahwa KB |≠ α2, dengan kata lain kamar [2,2] tidak aman. Inferensi merupakan proses atau algoritma yang “menurunkan” fakta baru dari fakta-fakta lama. - KB|- iα: sentence α bisa diturunkan dari KB oleh prosedur i - Soundness: idikatakan sound jika untuk semua KB |- i α, KB |= α benar - Completeness: i dikatakan complete jika untuk semua KB |= α, KB |- i α benar Logika Proposisi Merupakan logika yang paling sederhana. Sebuah sentence dinyatakan sebagai simbol proposional P1, P2, dst. Sintaks dari logika proposisi - Jika S adalah kalimat, ⌐S adalah kalimat (negasi) - Jika S1 dan S2 adalah kalimat S1Ʌ S2 adalah kalimat (conjunction) - Jika S1 dan S2 adalah kalimat S1 V S2 adalah kalimat (disjunction) - Jika Jika S1 dan S2 adalah kalimat S1→ S2 adalah kalimat (implication)
  • 58. Page 57 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University - Jika S1 dan S2 adalah kalimat S1↔ S2 adalah kalimat (biconditional) Semantik dari logika proposisi - Sebuah model memberi nilai true/ false terhadap setiap proposisi, misal P1,2 = true, P2,2=true, P3.1=false - Sebuah proses rekursif bisa mengevaluasi kalimat sembarang: ⌐P1,2 Ʌ (P2,2 V P3,1) = true Ʌ (false V true) = true Ʌ true = true - Maka kalimat yang digunakan untuk merepresentasikan Wumpus World o Secara semantik:  Pi,j = true menyatakan kalau ada lubang jebakan (pit) di [i, j].  Bi,j = true menyatakan kalau ada hembusan angin (breeze) o Aturan main dalam Wumpus World: kamar di samping lubang jebakan ada hembusan angin:  B1,1↔ (P1,2 V P2,1)  B2,1↔ (P1,2 V P2,2 V P3,1) o Hasil pengamatan (percept):  ⌐P1,1  ⌐ B1,1  B2,1 - Inferensi bisa juga dilakukan dengan menggunakan tabel kebenaran dalam rangka untuk membuktikan terhadap entailment dari suatu knowledge. Sehingga kita dapat membuktikan apakah KB |= α1 menggunakan tabel kebenaran (sejenis model checking), di mana α1menyatakan kamar di [1, 2] aman sebagaimana tabel di bawah ini. Metode Pembuktian Secara umum, ada dua jenis metode pembuktian: - Pengaplikasian inference rule o Dihasilkan kalimat baru yang sah (sound) dari yang lama o Bukti(proof) merupakan serangkaian pengaaplikasian inference rule (operator ) dari algoritma search o Biasanya, kalimat harus diterjemahkan ke dalam sebuah normal form - Model checking o Penjabaran truth table (sehingga dihasilkan nilai eksponensial dalam n) o Backtracking lebih efisien, misalkan: algoritma DPLL o Heuristic search dalam model space (sound tetapi incomplete), misalkan : min- conflicts hill –climbing - Horn Form o Dalam Horn form, KB merupakan conjuction dari Horn Clauses o Horn Clause terdiri:  Proposition symbol  (Conjuction of symbol)  symbol - Misalkan:
  • 59. Page 58 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University - Modus ponen pada Horn form (yang mana lengkap pada Horn KB): - Horn form bisa digunakan dengan algoritma forward chaining atau backward chaining - Konsep dasar dari algoritma forward chaining adalah aplikasikan rule yang premise-nya diketahui benar dalam KB, kemudian tambahkan conclusionnya ke dalam KB, ulangi sampai query (Q) terbukti. Sehingga bisa dikatakan kinerja dari forward chaining merupakan metoda bottom up dari fakta menuju konklusi Misal: - Sedangkan konsep dasar dari algoritma backward chaining digunakan untuk membuktikan query q, dengan cara memeriksa q jika sudah diketahui, atau secara rekursif, dengan membuktikan semua premise rule yang conclusion-nya q (dikenal sebagai metode top down) - Dalam backward chaining ada beberapa hal yang perlu diketahui: o Menghindari loop: dengan cara memeriksa apakah subgoal yang baru sudah ada di goal stack o Menghindariperulangan pekerjaan: periksa apakah subgoal yang baru sudah dibuktikan benar atau sudah dibuktikan salah. - Perbandingan antara Forward dan backward chaining o Forward chaining adalah pendekatan data-driven, bottom up sehingga pemrosesan informasi secara tak sadar o Melakukan banyak usaha yang tidak relevan terhadap goal o Backward chainingadalah pendekatan goal-driven, top-down sehingga pemrosesan inforasi secara sadar o Kompleksitas BC bisa jauh lebih kecil dari dalam linear ukuran KB Kesimpulan - Agen berbasis pengetahuan menggunakan inferensi dan knowledge base untuk menghasilkan informasi baru atau untuk mengambil keputusan - Konsep-konsep dasar logika sebagai knowledge representation language meliputi: o Sintak: struktur kalimat bahasa formal o Semantik: arti kalimat sebagai kebenaran terhadao model o Entailment: menyimpulkan kalimat baru yang benar o Inferensi: proses menurunkan kalimat baru dari kalimat-kalimat lama o Soundness: proses menurunkan hanya kalimat yang di-entail o Completeness: pross menurunkan SEMUA kalimat yang di-entail - Forward, backward chaining merupakan proses inferensi complete dan linear untuk Horn form REFERENSI o Russell, Stuart; dan Norvig, Peter. 2003. Artificial Intelligence A Modern Approach. International Edition, Edisi 2. Pearson Prentice-Hall Education International. New Jersey
  • 60. Page 59 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University o Kumpulan Slide Kuliah Kecerdasan Buatan disusun oleh dosen Fakultas Ilmu Komputer, Universitas Indonesia PROPAGASI C. Latihan dan Diskusi 1. Jelaskan konsep dasar dari agen berbasis pengetahuan dan hal-hal apa saja yang harus dipenuhi ketika membuat agen tersebut 2. Berilah contoh kasus entailment dari permainan Wumpus World berdasarkan aturan yang diberikan 3. Dari soal nomor 2, tunjukkan dengan metoda pembuktian baik model checking ataupun menggunakan tabel kebenaran D. Pertanyaan (Evaluasi mandiri) Buatlah sebuah agen berbasis logika dengan menerapkan pula proses inferensi dengan cara entailment yang kemudian dibuktikan dengan model checking dan tabel kebenaran.
  • 61. Page 60 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University First Order Logic Dian E.R, M.Kom; Dewiyanti L, M.Kom; Laili M, M.Sc; Rekyan RMP, MT Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya Email : ptiik@ub.ac.id 1. P E N D A HULUAN 1.1 Pengantar Dalam sistem kecerdasan buatan untuk menyelesaikan permasalahan ada beberapa metode yang dapat digunakan. Dalam menggunakan metode tersebut harus disesuaikan karena masing-masing metode memiliki spesifikasi tersendiri. Salah satu metode adalah Reasoning (penalaran). Reasoning adalah teknik penyelesaian masalah dengan cara merepresentasikan masalah ke dalam basis pengetahuan (knowledge base) menggunakan logic yang dapat dipahami oleh komputer. FOL (First Order Logic) merupakan penyempurnaan dari Propositional Logic yang ada pada bab sebelumnya yang merupakan jenis reasoning untuk permasalahan sederhana, sedangkan first order logic digunakan untuk permasalahan yang lebih kompleks. Pada bab ini akan dijelaskan bagaimana first order logic dapat merepresentasikan pengetahuan lebih efisien pada permasalahan kompleks beserta contoh permasalahan. 1.PENDAHULUAN 1.1.Pengantar 1.2.Tujuan 1.3.Definisi 1. FIRST ORDER LOGIC 2.1 Definisi First Order Logic 2.2 Sintaks First Order Logic 2.3 Semantik 2.4 Quantifier 2.5 Equality 2.6 Inferensi pada First Order Logic 2. CONTOH 3. PROPAGASI 4.1 Pertanyaan/Latihan Soal 4.2 Diskusi 4.3 Project 1.2 Tujuan Setelah mempelajari Pokok Bahasan ini, diharapkan mahasiswa akan : 1. Memahami konsep first order logic 2. Bisa memahami komponen-komponen yang ada pada first order logic 3. Menerapkan first order logic pada pemecahan masalah 4. Memiliki sikap disiplin dalam mengumpulkan tugas 1.3 Definisi MODUL 7
  • 62. Page 61 of 98 Kecerdasan buatan / MateriKuliah 2012Brawijaya University  Objects : merupakan sesuatu yang dikenai logika-logika yang memiliki identitas untuk masing-masing individual (komputer, rumah, mobil, ...).  Properties : sifat yang dimiliki oleh objek dan merupakan pembeda dengan objek lainnya (merah, besar, lingkaran, ...).  Relations : aksi atau aktifitas yang menjadi penghubung antar objek dalam berelasi (saudara dari, lebih tinggi dari, bagian dari).  Functions : merupakan relation yang memiliki satu nilai (ayah dari, teman baik,...). 2. FIRST ORDER LOGIC 2.1 Definisi First Order Logic Proses reasoning untuk menyelesaikan masalah dengan merepresentasikan masalah kedalam logic sudah dilakukan oleh propositional logic. Propositional logic dalam menyelesaikan permasalahan dengan menggunakan fakta-fakta yang diproses menggunakan logika-logika sederhana saja. Sedangkan pada first order logic permasalahan diselesaikan dengan sentence yang merepresentasikan fakta dan term yang merepresentasikan objek. Komponen-komponen penting yang ada pada first order logic yaitu : Objects : merupakan sesuatu yang dikenai logika-logika yang memiliki identitas untuk masing-masing individual (komputer, rumah, mobil, ...).  Properties : sifat yang dimiliki oleh objek dan merupakan pembeda dengan objek lainnya (merah, besar, lingkaran, ...).  Relations : aksi atau aktifitas yang menjadi penghubung antar objek dalam berelasi (saudara dari, lebih tinggi dari, bagian dari).  Functions : merupakan relation yang memiliki satu nilai (ayah dari, teman baik,...). Komponen-komponen yang sudah dijelaskan diatas disebut sebagai ontological commitment atau hal-hal apa saja yang diketahui dan dijelaskan di dalam logic yang digunakan dalam menyelesaikan permasalahan. Selanjutnya akan ditunjukkan beberapa jenis logic lain yang memiliki ontological commitment dan epistemological commitment (kebenaran apa yang dapat dinyatakan tentang sebuah sentence). Contoh beberapa logic lain adalah sebagai berikut : Logic Ontological Epistemolog ical Propositiona l logic Facts True/false/unk nown First-order logic Facts, objects, relations True/false/unk nown Temporal logic Facts, objects, relations, times True/false/unk nown Probability theory Facts Degree of believe 0…1 Fuzzy logic Degree of truth Degree of believe 0…1