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

March 15, 2017 | Author: mfajri9520 | Category: N/A
Share Embed Donate


Short Description

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

Description

Modul Bahan Ajar KECERDASAN BUATAN 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

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 1 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 2 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 3 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 : [email protected]

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.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.

Page 4 of 98

1 PENGANTAR KECERDASAN BUATAN

1. PENDAHULUAN

MODUL

Kecerdasan buatan / MateriKuliah

Brawijaya University

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

2012

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 Page 5 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 6 of 98

Kecerdasan buatan / MateriKuliah 

Brawijaya University

2012

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 lingkungan.

yang

bertindak

optimal

berdasarkan

umpan

balik

dari

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 7 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

-

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 masingmasing sub bidang tersebut! 1. Pengolahan Bahasa Alami 2.Knowledge representation 3.Automated Reasoning 4. Machine Learning 5. Computer Vision 6. Robotika Page 8 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 : [email protected]

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

2

1. PENDAHULUAN

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.

AGEN CERDAS

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.



MODUL

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

Page 9 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 Jumlah Jumlah Jumlah

kotoran dibersihkan, waktu yang dibutuhkan, listrik yang dikonsumsi, 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 10 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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. Aspekaspek 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 11 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

• 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 12 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 13 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 14 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 aspekaspeknya: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 15 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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.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.

Page 16 of 98

3 Penyelesaian Problem dengan Pencarian (searching)

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.

MODUL

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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   misalnya, S (Arad) = {, ...}  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 17 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya 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 18 of 98

2012

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 19 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 20 of 98

Kecerdasan buatan / MateriKuliah    

Brawijaya University

2012

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 21 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 22 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 23 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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 24 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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

MODUL

1. PENDAHULUAN 1.1

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

Page 25 of 98

(SPEED)

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*.

PENCARIAN HEURISTIK/ INFORMED SEARCH

4

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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: A 7 D

B

8 3

4

6

5 C

Gambar 4.1 Penyelesaian : Membangkitkan solusi - solusi yang mungkin dengan menyusun kota – kota dalam urutan abjad, yaitu: Page 26 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.

ABCD ABDC ACBD ACDB ADBC ADCB BACD BADC BCAD BCDA BDAC BDCA CABD CADB CBAD CBDA CDAB CDBA DABC DACB DBAC

19 18 12 13 16 18 17 21 15 18 14 13 15 14 20 16 21 18 20 15 15

22.

DBCA

12

23.

DCAB

17

24.

DCBA

19

ABCD ABDC ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD ACBD atau DBCA ACBD atau DBCA ACBD atau DBCA

Panjang Lintasan terpilih 19 18 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 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 27 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

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. n!  Bila ada n kota maka kombinasi lintasan :

2!n  2!

Sehingga kalau ada 4 kota, menjadi:

4! 6 2! (4  2)!

dipakai semuanya sebagai operator, yaitu Page 28 of 98

kombinasi. Keenam kombinasi ini akan

Kecerdasan buatan / MateriKuliah 1. 2. 3. 4. 5. 6.

(1,2) (2,3) (3,4) (4,1) (2,4) (1,3)

tukar tukar tukar tukar tukar tukar

urutan urutan urutan urutan urutan urutan

posisi posisi posisi posisi posisi posisi

Brawijaya University

kota kota kota kota kota kota

ke-1 ke-2 ke-3 ke-4 ke-2 ke-1

dengan dengan dengan dengan dengan dengan

kota kota kota kota kota kota

2012

ke-2 ke-3 ke-4 ke-1 ke-4 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. ABCD D

(19) Tk 1,2 Tk 2,3

BACD

(17)

Tk 3,4

ACBD

Tk 1,3

Tk 4,1

ABDC

Tk 2,4

DBCA

ADCB

CBAD

Tk 1,2 (15) Tk 2,3

ABCD

Tk 3,4

BCAD Tk 1,2

Tk 4,1

BADC

Tk 2,3

DACB

Tk 3,4

Tk 4,1

(20)

CBAD

Tk 2,4

BACD

(17)

(14)

BCDA

DCAB

BDAC

Tk 1,2 (21)

Tk 1,2

BDCA

BCDA Tk 3,4 (19)

DCBA

Tk 2,3 Tk 3,4 (13)

BADC

(12)

Tk 2,3

CABD

Tk 1,3

Tk 2,4

DBAC

Tk 1,2

BDCA

(18)

(15)

DBCA

Tk 1,3

BDCA

Tk 2,3

Tk 3,4

Tk 4,1

Tk 2,4

ADCB

Tk 2,4 (15)

DBAC

Tk 4,1

Tk 2,4

CDAB

Tk 4,1

BDAC

ACBD Tk 1,3

BCAD

ADBC

Tk 1,3

BACD

CDBA

Tk 1,3 (16)

(19)

ABCD

DACB

CBDA

(15)

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(1, 2) ∧ ¬>(1, 2) Belajar(x, SC) ⇒ Mengerti(x, AI)

2.3 Semantik First Order Logic Pada first order logic sama halnya dengan propositional logic sebuah kalimat first order logic dikatakan true terhadap sebuah model, artinya kalimat first order logic memiliki nilai kebenaran tertentu sehingga dianggap true atau false. Satu kalimat dalam first order logic dapat diinterpretasikan banyak cara dalam sebuah model. Model dalam first Page 63 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

order logic terdiri dari :  

Objects : elemen-elemen yang nyata ada pada permasalahan (domain elements) Relations : hubungan antara elemen-elemen / objek-objek tertentu

Sebuah interpretasi mendefinisikan referent (yang dipetakan) sebagai berikut :  Constant symbols : objects  Predicate symbols : relations  Functions symbols : functional relations Kalimat first order logic memiliki maksud kalimat atomik predicate(term1,...,term2) dikatakan bernilai true dalam model m di bawah unterpretasi i jika dan hanya jika object yang di-refer (term1, ... , term2) di bawah i terhubung oleh relation yang di refer oleh predicate dalam m. Ilustrasi pada gambar disamping menggambarkan komponen-komponen yang ada pada first order logic. Pada ilustrasi digambarkan bahwa terdapat orang dan raja. Hubungan keduanya adalah sebagai saudara satu dengan lainnya. Dari gambar tersebut dapat dilihat masing-masing komponen adalah sebagai berikut :



object Ilustrasi menggambarkan ada seorang raja dan orang biasa, dapat kita ambil contoh objek yang ada adalah orang, raja, kaki raja dan kaki orang. Objek memiliki identitas tertentu yang nantinya akan melalui proses logika.



function function merupakan hubungan yang hanya membutuhkan satu nilai untuk satu objek, contoh pada ilustrasi adalah kaki digunakan oleh orang untuk berjalan.



relation menyatakan hubungan antar objek yang memiliki relasi tertentu, pada gambar ilustrasi terdapat relasi saudara antara orang dan raja.

2.4 Quantifiers 

Universal quantifiers Page 64 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

Universal menyatakan logika yang digunakan untuk menunjuk sesuatu yang bersifat umum. Simbol ∀ yang memiliki makna "untuk semua atau setiap" atau "for all" terhadap sebuah variabel x yang disimbolkan dengan ∀x berarti bahwa kalimat tersebut berlaku untuk setiap objek x. Contoh permasalahan pada first order logic yang menggunakan Universal Quantifiers adalah sebagai berikut : Misalkan ada kalimat "Ikhsan adalah anak kecil", kalimat ini akan dinyatakan sebagai AnakKecil(Ikhsan), dan ada kalimat "Andi suka permen" dinyatakan sebagai Suka(Andi,Permen). Jika kita ingin membuat kalimat "Untuk setiap objek x, jika x adalah anak kecil maka x suka permen". Maka kalimat dapat kita tuliskan pada bentuk first order logic sebagai: ∀x AnakKecil(x)⇒Suka(x,Permen) kalimat tersebut akan bernilai benar jika dan hanya jika semua kalimat di bawah ini benar. AnakKecil(Budi) ⇒Suka(Budi,Permen)∧ AnakKecil(Rahmad)⇒Suka(Rahmad,Permen)∧ AnakKecil(Anton) ⇒Suka(Anton,Permen)∧ Hal-hal yang harus dihindari pada penggunaan Quantifier Universal adalah penggunaan logika ∧ pada kalimat utama karena akan menimbulkan pengertian yang ambigu.  Existential quantifiers Existential menyatakan logika yang digunakan untuk menunjuk sesuatu yang bersifat khusus. Artinya hanya beberapa bagian atau sebagian saja dari keseluruhan himpunan. Logika ini merupakan kebalikan dari logika Universal. Logika ini disimbolkan dengan ∃ yang memiliki makna "There Exist" atau (ada satu atau beberapa). Kita dapat menyatakan kalimat "Ada objek x, jika x adalah anak kecil maka x suka permen" menjadi first order logic sebagai berikut: ∃x AnakKecil(x) ∧ SukaPermen(x). Hal-hal yang harus dihindari pada penggunaan Quantifier Universal adalah penggunaan logika⇒pada kalimat utama karena akan menimbulkan pengertian yang ambigu. 2.5Equality Equality merupakan pembandingan terhadap dua kalimat atau term yang memiliki nilai logika true atau false. Kedua kalimat dianggap sama jika memiliki nilai logika yang sama. Term1 =Term2 akan diinterpretasikan benar jika dan hanya jika memiliki nilai yang sama. Contoh bentuk dari equality adalah sebagai berikut :

Equality x,ySaudara(x,y)  [(x = y) m,f  (m = f)OrangTua(m,x)OrangTua(f,x)OrangTua (m,y) OrangTua (f,y)]

Page 65 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

2.6 Inferensi pada First Order Logic Proses Inferensi pada First Order Logic menggunakan 7 aturan inferensi yang digunakan pada Propositional Logic, dengan ditambah aturan yang lebih kompleks sehubungan dengan quantifiers, sebagai berikut : 1. Inference Rules Involving Quantifiers SUBST(,): untuk menotasikan hasil dari pengaplikasian operasi subsitusi  terhadap sentence . SUBST({x/Andi, y/Budi}, Saudara(x,y)) = Saudara(Andi, Budi). 2. Universal Elimination: untuk setiap sentence , variabel v, dan ground term (term yang tidak berisi variabel) g :

v  SUBST ({v / g}, ) Dari x Suka(x, Membaca), dapat digunakan substitusi {x/Andi} dan melakukan inferensi bahwa Suka(Andi, Membaca) 3. Existential Elimination: untuk setiap sentence , variabel v, dan simbol konstanta k yang tidak tampak dimanapun di dalam basis pengetahuan:

v  SUBST ({v / k}, ) Dari x Membunuh(x, Korban), kita dapat menyimpulkan Membunuh{Penjahat, Korban}, selama Penjahat tidak tidak tampak dimanapun di dalam basis pengetahuan. 4. Existential Introduction: untuk setiap sentence , variabel v yang tidak terjadi pada , dan ground term g yang terjadi pada :

 v SUBST ({g / v}, ) Dari Suka(Budi, Membaca) kita dapat menyimpulkan xSuka(x, Membaca).

3. CONTOH terdapat pernyataan-pernyataan sebagai berikut : – Andi adalah seorang mahasiswa – Andi masuk Jurusan elektro – Setiap mahasiswa elektro pasti mahasiswa Teknik – Kalkulus adalah matakuliah yang sulit – Setiap mahasiswa Teknik pasti akan suka kalkulus atau akan membencinya – Setiap mahasiswa pasti akan suka terhadap suatu matakuliah – Mahasiswa yang tidak pernah hadir pada kuliah matakuliah sulit, maka mereka pasti tidak suka terhadap matakuliah tersebut. Page 66 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

– Andi tidak pernah hadir kuliah matakuliah kalkulus. • Kedelapan pernyataan di atas dapat dibawa ke bentuk logika predikat : 1. 2. 3. 4. 5. 6. 7. 8.

mahasiswa(Andi) Elektro(Andi) ∀x: Elektro(x) ->Teknik(x) sulit(Kalkulus) ∀x: Teknik(x) ->suka(x, Kalkulus) ∨benci(x, Kalkulus) ∀x:∃y : suka(x,y) ∀x: ∀y: mahasiswa(x) ∧sulit(y) ∧~hadir(x,y) ->~suka(x,y) ~hadir(Andi, Kalkulus)

• Kemudian dibuat dalam bentuk klausa : 1. mahasiswa(Andi) 2. Elektro(Andi) 3. ~Elektro(x1) ∨Teknik(x1) 4. sulit(Kalkulus) 5. ~Teknik(x2) ∨suka(x2, Kalkulus) ∨benci(x2, Kalkulus) 6. suka(x3,f1(x3)) 7. ~mahasiswa(x4) ∨~sulit(y1) ∨hadir(x4,y1) ∨~suka(x4,y1) 8. ~hadir(Andi,Kalkulus) • Akan dibuktikan apakah “Andi benci kalkulus” atau dapat ditulis : benci(Andi,Kalkulus) Pohon resolusi pada first order logic (logika predikat 1) untuk contohdi atas adalah :

Page 67 of 98

2012

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

4. PROPAGASI a.

Pertanyaan / Latihan Soal (Evaluasi Mandiri) 1. Bagaimana semantik pada first order logic ? 2. Apa perbedaan inferensi (resolusi) pada logika proposisi dan logika predikat (first order logic) ? Jelaskan !

b.

Latihan Soal Pengembangan dan Diskusi 1. Representasikan permainan “Dunia Wumpus” dengan menggunakan first order logic ! 2. Dika adalah adik bungsu dari Dede. Dede menikah dengan astuti, dan dari pernikahan mereka lahir anak perempuan bernama Anin. Anin hendak menikah dengan Dika. Buktikan bahwa pernikahan Anin dan Dika tidak sah, dengan representasi first order logic!

c.

PROYEK (Eksplorasi entrepreneurship, penerapan topic bahasan pada dunia nyata) Kembangkan sebuah game dengan representasi first order logic, berkelompok @ 3 orang

REFERENSI    

Russel &Artificial Intelligence : A Modern Approach (2nd ed.) by Russel & Norvig Suyanto, ST., MT., Artificial Intelligent : searching, reasoning, planning and learning Sri Kusumadewi, Artificial Intelligence : Teknik dan Aplikasinya, Graha Ilmu, Yogyakarta, 2003 Giarrantano, J and G.Riley, Expert System : Principle and Programming,4thed, PWS Kent, 2004

Page 68 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

Kecerdasan Buatan: LOGIC PROGRAMMING 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:[email protected]

1. PENDAHULUAN 1.1 Pengantar 1.2 Tujuan 2. Paradigma Pemrograman

3. Logic Programming pada Prolog 4. Aplikasi Logic Programming 5. Latihan

1. PENDAHULUAN

1.2 Tujuan Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :  Menjelaskan dan memahami tentang konsep dari berbagai paradigma pemrograman  Menjelaskan dan memahami tentang konsep dari pemrograman berbasis logika  Mampu merancang dan mengaplikasikan program berbasis logika dari kasus sederhana.  Menjelaskan dan memahami beberapa aplikasi dari pemrograman logika

2. Paradigma Pemrograman Paradigma pemrograman merupakan suatu pola yang menyajikan suatuacuan berpikirterhadap pemrograman komputer. Terdapat empat paradigma pemrograman utama: o Paradigma imperative o Obyek oriented paradigma o Paradigma fungsional o Paradigma logika

Page 69 of 98

8 LOGIC PROGRAMMING

1.1 Pengantar Logic Programming merupakan paradigma pemrograman deklaratif yang menekankan atas apa yang program lakukan daripada bagaimana dia akan melakukan. Ketika diterapkan logic programming digunakan suatu bahasa logika untuk menspesifikasi permasalahan dan kemudian menggunakan suatu prosedur pembuktian untuk melakukan komputasi.

MODUL

Kecerdasan buatan / MateriKuliah

Brawijaya University

2012

Paradigma Imperatif - Komputasi sebagai suatu urutan aksi “ pertama melakukan ini dan berikutya melakukan itu” - Penekanan pada bagaimana daripada apa yang dikomputasi o Ketika memecahkan suatu permasalahan, menempatkan pada metoda daripada arti dari permasalahan - Contoh: bahasa pemrograman Pascal, C, … Paradigma Object Oriented - Data beserta operasi-operasinya dibungkus dalam obyek - Objek terhubung dengan cara melewatkan pesan - Objek-objek dikelompokkan dalam kelas-kelas o Mengijinkan pemrograman atas kelas-kelas (berkebalikan atas pemrograman objek secara individu) - Contoh: bahasa pemrograman C++, Java,… Paradigma Fungsional - Berasal dari matematika murni, dengan disiplin ilmu: teori fungsi o Komputasi didasarkan atas fungsi o Fungsi memiliki status yang sama dengan yang lainnya (angka-angka, list)  Fungsi merupakan nilai kelas utama  Misalkan: Haskell, LISP,... Paradigma Logika - Mendasarkan pada matematika logika - Secara khusus keterkaitan diantara nilai-nilai data - Menggunakan fakta dan aturan-aturan untuk mendefinisikan dasar pengetahuan - Mengajukan pertanyaan terhadap lingkungannya.

3. Logic Programming in Prolog Sejarah singkat - Pemrograman Logika diperkenakan oleh Robert Kowalski pada tahun 1974 - Algoritma tersusun atas Logika dan kontrol Prolog - Merupakan pemrograman dalam logika - Bahasa pemrograman yang menggunakan pemrograman logika untk komputasi - Diperkenalkan oleh Alain Colmerauer pada tahun 1970 an - Imprementasi Prolog yang digunakan SWI Prolog versi 5.6.32 - Bebas melakukan download di URL: http://www.swi-prolog.org/ - Dikembangkan oleh Jan Wielenmaker, Universitas Amsterdam - Ada berbagai implementasi lain seperti: SICStus Prolog, XSB, dsb.) - Contoh 1 dari Paradigma Pemrograman Logika o Menyiapkan database untuk koneksi penerbangan  Adakah suatu penerbangan langsung dari A ke B?  Dapatkah saya terbang dari C ke D?  Tujuan apa saja yang mungkin dapat saya capai dari E?  dst. o Daftar penerbangan langsung direct(jakarta,denpasar). direct(jakarta,surabaya). direct(denpasar,mataram). direct(mataram,kupang).

Page 70 of 98

Kecerdasan buatan / MateriKuliah o

Brawijaya University

2012

Untuk menemukan koneksi diantara dua kota:  Ada suatu koneksi dari X ke Y, jika ada suatu penerbangan langsung dari X ke Y, sehingga diberikan aturan sebagai berikut: direct(X, Y)  connecton(X, Y). Dalam bahasa prolog: connection(X,Y):- direct( X,Y) 

Ada suatu koneksi dari X ke Y, jika ada suatu penerbangan langsung dari X ke Z dan suatu koneksi dari Z ke Y. direct(X,Z),connection(Z,Y)connection(X,Y). Dalam bahasa prolog: connection(X,Y):-direct(X,Z),connection(Z,Y)



Untuk menjawab pertanyaan-pertanyaan sebelumnya: o Tuliskan program yang berisikan database sebagai knowledge based-nya. o Jalankan program dengan query yang berhubungan dengan pertanyaan



Q1: apakah ada suatu penerbangan dari Jakarta ke Kupang? ?- connection(jakarta,kupang). Q2: Ke manakah seseorang dapat terbang dari Denpasar? ?- connection(denpasar,X). Q3: Dapatkah seseorang terbang dari Kupang? ?- connection(kupang,X). Q4: Dari manakah seseorang dapat terbang ke Kupang? ?- connection(X,kupang).

  

o

Dua aspek dari Prolog  Dengan program yang sama dapat digunakan untuk menjawab permasalahan (query) yang berbeda  Program dapat digunakan seperti kebanyakan suatu database  Pengetahuan disimpan dalam bentuk fakta dan aturan  Prolog memodelkan pemrosesan query dalam database deduktif

o

Paradigma Pemrograman Logika – Contoh 2  Temukan seluruh elemen yang beranggotakan dua list yang diberikan  List: [a1, a2, ..., an] atau [a1 | [a2..., an]]  a1 disebut dengan head dari [a1, a2, ..., an]  [a2, ..., an] disebut tail dari [a1, a2, ..., an]  Contoh: [1,2,3,4,5=[1|[2,3,4,5]]  X merupakan suatu member dari keduanya L1 dan L2 jika X adalah member dari L1 dan X adalah member dari L2. member_both (X,L1,L2)  member(X,L1), member(X,L2). 

Kita memerlukan mendefinisikan pada saat X merupakan member dari suatu list.  Jika X adalah sebagai head-nya, maka jawabannya positif (benar) member(X,[X|List]).  Sebaliknya, lakukan pengecekan apakah X adalah member dari tail. member(X,[Y|List])  member(X,List). Page 71 of 98

Kecerdasan buatan / MateriKuliah

Brawijaya University



Maka dalam bahasa Prolog bisa dituliskan terurut sebagaimana berikut: member(X|[X|List]). member(X,[Y|List]):-member(X,List). member_both(X,L1,L2):-member(X,L1),member(X,L2).



Kemudian jalankan program untuk memecahkan permasalahan ?-member_both(X,[1,2,3],[2,3,4,5]).



Bagaimana kita memecahkan permasalahan ini dengan tipe pemrograman imperative ? (misalkan bahasa C)

2012

#define SIZE1 3 #define SIZE2 4 void memberBoth(int a[],int b[],int c[]) { int i, j; int k=0; for (i=0;i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF