Modul Bahan Ajar KECERDASAN BUATAN

Ukuran: px
Mulai penontonan dengan halaman:

Download "Modul Bahan Ajar KECERDASAN BUATAN"

Transkripsi

1 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

2 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

3 DAFTAR ISI KATA PENGANTAR... 0 DAFTAR ISI... 2 PENGANTAR KECERDASAN BUATAN PENDAHULUAN DEFINISI KECERDASAN BUATAN FONDASI ILMU KECERDASAN BUATAN SEJARAH KECERDASAN BUATAN CONTOH APLIKASI KECERDASAN BUATAN... 8 AGEN CERDAS PENDAHULUAN KONSEP AGEN CERDAS DAN LINGKUNGAN KONSEP PERANCANGAN AGEN CERDAS JENIS LINGKUNGAN JENIS AGEN PENYELESAIAN PROBLEM DENGAN PENCARIAN (SEARCHING) PENDAHULUAN JENIS PROBLEM FORMULASI PROBLEM ALGORITMA PENCARIAN DASAR STRATEGI PENCARIAN UNINFORMED PENCARIAN HEURISTIK / INFORMED SEARCH PENDAHULUAN GENERATE AND TEST HILL CLIMBING BEST FIRST SEARCH CONSTRAINT SATISFACTION PROBLEM PENDAHULUAN KOMPONEN CSP BACKTRACKING FORWARD CHECKING CONSTRAINT PROPAGATION ARC CONSISTENCY Page 2 of 98

4 LOGICAL AGENTS PENDAHULUAN AGEN BERBASIS PENGETAHUAN (KNOWLEDGE-BASED AGENT) AGEN BERBASIS LOGIKA FIRST ORDER LOGIC PENDAHULUAN FIRST ORDER LOGIC CONTOH PROPAGASI LOGIC PROGRAMMING PENDAHULUAN PARADIGMA PEMROGRAMAN LOGIC PROGRAMMING IN PROLOG APLIKASI PEMROGRAMAN LOGIKA UNCERTAINTY (KETIDAKPASTIAN) PENDAHULUAN UNCERTAINTY CONTOH BAYESIAN NETWORK PENDAHULUAN SINTAK BAYESIAN NETWORK KECERDASAN BUATAN:LEARNING PENDAHULUAN LEARNING (PEMBELAJARAN) PROPAGASI LAMPIRAN Page 3 of 98

5 PENGANTAR KECERDASAN BUATAN 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, 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 MODUL 1 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. Page 4 of 98

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

7 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

8 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 lingkungan. 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 ( ) - 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 Allan Turing dianggap sebagai orang pertama yang mengeluarkan pikiran tentang AI secara lengkap pada artikelnya yang berjudul Computing machinery and Intelligent pada tahun 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 Awal mula AI yang penuh antusias dan harapan besar ( ) 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

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

10 AGEN CERDAS 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, 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. MODUL 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. Page 9 of 98

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

12 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

13 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

14 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

15 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

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

17 Penyelesaian Problem dengan Pencarian (searching) 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.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 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

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

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

20 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

21 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

22 Waktu? 1 1+b+b 2 +b 3 + +b d + b(b d -1) = O(b d+1 ) Ruang? O(b d+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(b ceiling(c*/ ε) )di mana C* adalah biaya dari solusi optimal Space? Jumlah node dengan g biaya solusi optimal, O(b ceiling(c*/ ε) ) Optimal? Ya - node diperluas dalam rangka peningkatan g (n) 3. Depth-first search (DFS) Pencarian unexpanded node terdalam Page 21 of 98

23 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(b m ):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

24 Properti IDS Lengkap? Ya Waktu? ((d+1)b 0 + d b 1 + (d-1)b b d = O(b d ) Space? O (bd) Optimal? Ya, jika step cost= 1 Ringkasan Strategi Uninformed Search REFERENSI Gambar 3.8. Ringkasan strategi uninformed search Russell, Stuart; dan Norvig, Peter Artificial Intelligence A Modern Approach. International Edition, Edisi 2. Pearson Prentice-Hall Education International. New Je rsey Page 23 of 98

25 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

26 PENCARIAN HEURISTIK/ INFORMED SEARCH 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 1. PENDAHULUAN 1.1 Pengantar 1.2 Tujuan 1.3 Definisi 2. Generate and Test Program Teknologi Informasi dan Ilmu Komputer, 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*. MODUL 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

27 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 8 B D 6 C Gambar 4.1 Penyelesaian : Membangkitkan solusi - solusi yang mungkin dengan menyusun kota kota dalam urutan abjad, yaitu: Page 26 of 98

28 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 ABDC 18 ABDC ACBD 12 ACBD ACDB 13 ACBD ADBC 16 ACBD ADCB 18 ACBD BACD 17 ACBD BADC 21 ACBD BCAD 15 ACBD BCDA 18 ACBD BDAC 14 ACBD BDCA 13 ACBD CABD 15 ACBD CADB 14 ACBD CBAD 20 ACBD CBDA 16 ACBD CDAB 21 ACBD CDBA 18 ACBD DABC 20 ACBD DACB 15 ACBD DBAC 15 ACBD DBCA 12 ACBD atau 12 DBCA 23. DCAB 17 ACBD atau 12 DBCA 24. DCBA 19 ACBD atau DBCA 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) 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

29 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 : n! 2! n 2! 4! Sehingga kalau ada 4 kota, menjadi: 6 kombinasi. Keenam kombinasi ini akan dipakai semuanya sebagai operator, yaitu 2!(4 2)! Page 28 of 98

30 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. (17) Tk 1,2 (19) ABCD Tk 1,2 Tk 2,3 Tk 3,4 Tk 4,1 BACD ACBD ABDC DBCA Tk 2,3 Tk 3,4 Tk 4,1 (15) Tk 2,4 Tk 1,3 ABCD BCAD BADC DACB BDCA CABD Tk 1,3 Tk 2,4 ADCB CBAD Tk 1,2 Tk 2,3 Tk 3,4 Tk 4,1 Tk 1,3 Tk 2,4 (20) (18) (17) (14) CBAD BACD BCDA DCAB BDAC ACBD Tk 1,2 Tk 2,3 Tk 3,4 Tk 4,1 Tk 2,4 Tk 1,3 (15) (21) (13) DBAC BADC BDCA CDAB BCAD ADBC Tk 1,2 Tk 2,3 Tk 3,4 Tk 4,1 Tk 2,4 Tk 1,3 (12) DBCA BCDA BDAC ADCB BACD CDBA Tk 1,2 Tk 2,3 Tk 3,4 Tk 4,1 Tk 1,3 Tk 2,4 (19) (15) (19) (16) BDCA DCBA DBAC 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<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 Page 29 of 98

31 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. (17) (19) ABCD Tukar 1,2 Tukar 2,3 Tukar 3,4 Tukar 4,1 BACD ACBD ABDC DBCA Tukar 1,2 Tukar 3,4 Tukar 2,3 (15) Tukar 4,1 ABCD BCAD BADC DACB Tukar 3,4 Tukar 1,2 Tukar 2,3 Tukar 4,1 (20) (17) (18) (17) CBAD BACD BCDA DCAB Gambar 4.3. Metode Simple Hill Climbing dengan 4 operator. Page 30 of 98

32 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. (17) BACD (19) ABCD Tk 1,2 Tk 1,3 Tk 3,4 Tk 4,1 Tk 2,3 Tk 2,4 (12) (18) (12) (18) (20) ACBD ABDC DBCA ADCB CBAD Tk 1,2 Tk 3,4 Tk 4,1 Tk 2,4 Tk 1,3 (15) Tk 2,3 (19) (13) (19) (16) (15) CABD ABCD ACDB DCBA ADBC BCAD 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). Page 31 of 98

33 o 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. 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: d ab = ( y b y a ) 2 + ( x b x a ) 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 32 of 98

34 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, Penyelesaian : Gambar 4.7Kota Romania Page 33 of 98

35 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(b m ), tetapiheuristikyang baikdapat memberikanperbaikan secara dramatis Space?O(b m ) -- 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 34 of 98

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

37 Contoh 2 Gambar 4.9Penyelesaian TSP Romania dengan algoritma A* Temukan jalur terpendek dari S menuju ke G dengan menggunakan lgoritma A*, pada Gambar 4.10 Gambar Graph dengan informasi biaya dan jarak antar kota Penyelesaian Gambar langkah 1 dan 2 penyelesaian dengan algoritma A* Page 36 of 98

38 Gambar langkah 3 penyelesaian dengan algoritma A* Gambar langkah 4 dan 5 penyelesaian dengan algoritma A* Gambar langkah 6 penyelesaian dengan algoritma A* Page 37 of 98

39 Gambar langkah 7 penyelesaian dengan algoritma A* Gambar langkah 8 penyelesaian dengan algoritma A* Gambar 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 38 of 98

40 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), tanggal akses 15 Agustus 2012 Anonim, HEURISTIC SEARCH Presentation Part IV,, akses 15 Agustus 2012 Anonim, TeknikPencarianHeuristik, 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, 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 Estimasi waktu (dalam F menit) untuk menuju B goal (H) 10 C A: 60 B: 80 A C: 20 D: 25 H E: 70 D F: 25 G: E G Gambar Page 39 of 98

41 CONSTRAINT SATISFACTION PROBLEM Kecerdasan buatan / MateriKuliah Brawijaya University 2012 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. MODUL 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 Page 40 of 98

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

43 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 diassign 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 42 of 98

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

45 Gambar 5.4 Contoh backtraking Memperbaiki kinerja backtracking Urutan pemilihan variabel dan nilai mempengaruhi kinerja backtracking Terdapat beberapa strategi yang berlaku secara umum (generalpurpose): 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 44 of 98

46 dengan n=1000 bisa diselesaikan! 4. FORWARD CHECKING Gambar 5.7 Contoh prinsip 3 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 assign. Jika ada sebuah variabel yang tidak ada kemungkinan 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 45 of 98

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

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

49 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 (4 4 = 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 queens problem! Gambar Langkah penyelesaian untuk Arc Consistency Page 48 of 98

50 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, tanggal akses 24 November 2011 Anonim, Costraint Satisfaction Problem, PIB lesson9 CSP, akses 30 Agustus 2012 Anonim, Constraints And Adversarial Search, 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, 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 49 of 98

51 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, tanggal akses 23 Agustus 2012 Wijaya, Teddy dan Ruli Manurung, Solving University Timetabling As a Constraint Satisfaction Problem with Genetic Algorithm, 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 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 50 of 98

52 LOGICAL AGENTS Kecerdasan buatan / MateriKuliah Brawijaya University 2012 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 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 MODUL 6 Inference engine Knowledge engine Domain-independent algorithms Domain-specifics content Page 51 of 98

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

54 - 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 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 90 0,belok kanan 90 0, 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 53 of 98

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

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

57 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 P 1, P 2, dst. Sintaks dari logika proposisi - Jika S adalah kalimat, S adalah kalimat (negasi) - Jika S 1 dan S 2 adalah kalimat S 1 Ʌ S 2 adalah kalimat (conjunction) - Jika S 1 dan S 2 adalah kalimat S 1 V S 2 adalah kalimat (disjunction) - Jika Jika S 1 dan S 2 adalah kalimat S 1 S 2 adalah kalimat (implication) Page 56 of 98

58 - Jika S 1 dan S 2 adalah kalimat S 1 S 2 adalah kalimat (biconditional) Semantik dari logika proposisi - Sebuah model memberi nilai true/ false terhadap setiap proposisi, misal P 1,2 = true, P 2,2 =true, P 3.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: P i,j = true menyatakan kalau ada lubang jebakan (pit) di [i, j]. B i,j = true menyatakan kalau ada hembusan angin (breeze) o Aturan main dalam Wumpus World: kamar di samping lubang jebakan ada hembusan angin: B 1,1 (P 1,2 V P 2,1 ) B 2,1 (P 1,2 V P 2,2 V P 3,1 ) o Hasil pengamatan (percept): P 1,1 B 1,1 B 2,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 α 1 menyatakan 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 : minconflicts 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 57 of 98

59 - 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 Artificial Intelligence A Modern Approach. International Edition, Edisi 2. Pearson Prentice-Hall Education International. New Jersey Page 58 of 98

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

61 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 ptiik@ub.ac.id 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. P E N D A MODUL 7 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.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 Page 60 of 98

62 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 Page 61 of 98

63 Elemen-elemen dasar terkecil yang dimiliki oleh first order logic adalah sebagai berikut : Constants Dituliskan dalam huruf besar seperti A, X, NAMA. Pada simbol konstanta ini, setiap simbol harus menyatakan secara spesifik objek yang dimaksud. Tetapi, mungkin saja satu simbol mengacu pada beberapa nama berbeda. Misalnya, MOBIL bisa mengacu pada MOBIL SEDAN, MOBIL JEEP, dan sebagainya. Oleh karena itu penulisan simbol konstanta harus dilakukan secara hati-hati agar tidak terjadi kerancuan atau ambiguitas. Predicates Menyatakan relasi khusus dalam suatu model yang menghubungkan antar objek yang memiliki hubungan. Misalkan Berwarna adalah suatu predicate yang memiliki beberapa nilai. Contoh : Berwarna(Mobil, Biru), Berwarna(Mobil, Merah), dan sebagainya. Functions Menyatakan relasi yang hanya membutuhkan satu nilai. Karena setiap orang hanya memiliki satu ayah, maka Ayah merupakan suatu function. Misalkan Ayah(Boediono, Zaki). Variables Dituliskan dalam huruf kecil seperti a, x, s dan sebagainya. Variable ini menyatakan simbol yang dapat digantikan oleh konstanta apapun dan bersifat dinamis. Connectives Merupakan logika yang menghubungkan di dalam suatu kalimat kompleks seperti : Equality Merupakan logika yang membandingkan kesamaan antara dua atau lebih kalimat yang memiliki kesamaan nilai logika. Equality disimbolkan dengan tanda = Quantifiers Terdapat dua quantifier secara umum yaitu Universal quantifier ( ) yang menyatakan sesuatu yang bersifat umumdan Existential quantifier ( ) yang menyatakan sesuatu yang berlaku sebagian saja. 2.2 Sintaks First Order Logic Tata bahasa pada first order logic meliputi : Terms Merupakan ekspresi logika yang mengacu pada sebuah objek. Terms bisa berupa constant, variable, atau function. Penulisan term dapat dilihat pada contoh di bawah ini : Page 62 of 98

64 Terms function(term 1,...,term n ) atau constant atau variable Atomic sentences Merupakan komponen yang dapat terbentuk dari Predicate(Term,...) atau Term=Term. Atomic sentence merupakan kalimat paling sederhana dan belum memiliki komponen logika lainnya. Bentuk penulisan atomic sentences adalah sebagai berikut : Atomic sentences predicate(term 1,...,term n ) atau term 1 = term 2 Contoh penggunaan adalah sebagai berikut : Sepatu(Budi), Saudara(Ahmad, Anton), Memberi(Andi,Budi,KueCoklat), Saudara(Andi)=Budi, dan sebagainya. Complex sentences Merupakan kalimat kompleks yang tersusun dari beberapa atomic sentence yang saling terhubung berdasarkan logika dengan menggunakan connective. Bentuk penulisan dari complex sentences adalah sebagai berikut : Complex sentences predicate 1 (term 1,term 2 ) perdicate 2 (term 3 ) Contoh penggunaan dari complex sentence adalah sebagai berikut: Belajar(Andi) Pintar(Andi) S, S1 S2, S1 S2, S1 S2, S1 S2 Saudara(Ahmad,Andi) Saudara(Andi,Ahmad) >(1, 2) (1, 2) >(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

65 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(term 1,...,term 2 ) dikatakan bernilai true dalam model m di bawah unterpretasi i jika dan hanya jika object yang di-refer (term 1,..., term 2 ) 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

66 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. Term 1 =Term 2 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

67 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

68 Andi tidak pernah hadir kuliah matakuliah kalkulus. Kedelapan pernyataan di atas dapat dibawa ke bentuk logika predikat : 1. mahasiswa(andi) 2. Elektro(Andi) 3. x: Elektro(x) ->Teknik(x) 4. sulit(kalkulus) 5. x: Teknik(x) ->suka(x, Kalkulus) benci(x, Kalkulus) 6. x: y : suka(x,y) 7. x: y: mahasiswa(x) sulit(y) ~hadir(x,y) ->~suka(x,y) 8. ~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

69 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, 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

70 LOGIC PROGRAMMING 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 ptiik@ub.ac.id 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.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 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

71 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 o Komputasi didasarkan atas fungsi 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 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 Bebas melakukan download di URL: - 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

72 o 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: [a 1, a 2,..., a n ] atau [a 1 [a 2..., a n ]] a1 disebut dengan head dari [a 1, a 2,..., a n ] [a 2,..., a n ] disebut tail dari [a 1, a 2,..., a n ] 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

73 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) #define SIZE1 3 #define SIZE2 4 void memberboth(int a[],int b[],int c[]) { int i, j; int k=0; for (i=0;i<size1;i++) { for (j=0;j<size2;j++) { if (a[i] == b[j]) { c[k] = a[i]; k = k+1; } } } } int main() { int list1[size1] = {1,2,3}; int list2[size2] = {2,3,4,5}; int result[size2]; memberboth(list1,list2,result); } Aspek-aspek lain dari Prolog: Mekanisme pencarian tidak memerlukan secara eksplisit untuk dispesifikasikan, namun diberikan secara implisit Cara pemecahan dari Prolog dapat digunakan dalam berbagai cara jika dibandingkan dengan cara pemecahan menggunaan bahasa C, misal: o Pengecekan keanggotaan?-member_both(2,[1,2,3],[2,3,4,5]). o Perumpamaan suatu elemen dari suatu list?-member_both(2,[1,2,3],[x,3,4,5]). Prolog menyusun suatu list secara dinamis o Tidak ada ukuran dari list yang harus didefinisikan, jika dibandingkan dengan arrayyang digunakan untuk merepresentasikan list dalam bahasa pemrograman C Paradigma Pemrograman Logika Contoh 3 Menyatakan ontology Contoh database animal animal(mammal,tiger,carnivore,stripes). animal(mammal,hyena,carnivore,ugly). animal(mammal,lion,carnivore,mane). animal(mammal,zebra,herbivore,stripes). animal(bird,eagle,carnivore,large). Page 72 of 98

74 animal(bird,sparrow,scavenger,small). animal(reptile,snake,carnivore,long). animal(reptile,lizard,scavenger,small). Kemudian jika diberikan beberapa pertanyaan berikut: a) Temukan semua binatang yang termasuk mamalia (mammal)? b) Temukan semua binatang karnivora yang mamalia? c) Temukan semua binatang mamalia yang berstrip? d) Apakah ada binatang reptil yang memiliki bulu di tengkuknya (mane)? Maka bisa diberikan bentuk perintah query dalam prolog sebagai berikut: a) animal(mammal,x,y,z). b) animal(mammal,x,carnivore,z). c) animal(mammal,x,y,stripes). d) animal(reptile,x,y,mane). 4. Aplikasi Pemrograman Logika Beberapa aplikasi dalam pemrograman logika bisa diterapkan sebagaimana berikut: - Reasoning Agents - Semantic Web - Natural Language Processing - Security Protocol Analysis - Molecular Biology REFERENSI Russell, Stuart; dan Norvig, Peter Artificial Intelligence A Modern Approach. International Edition, Edisi 2. Pearson Prentice-Hall Education International. New Jersey PROPAGASI Latihan dan Diskusi 1. Jelaskan konsep dasar dari paradigma pemrograman, jelaskan perbedaan dari keempat paradigma tersebut! 2. Tuliskan struktur dasar dari pemrograman berbasis logika menggunakan prolog! 3. Sebutkan dan jelaskan beberapa aplikasi dari pemrograman logika! Pertanyaan (Evaluasi mandiri) Buatlah sebuah perancangan aplikasi yang menyatakan silsilah keluarga. Tunjukkan rule dan faktanya. Dari aplikasi terebut, gunakan pemrograman imperatif untuk menyelesaikannya, serta tunjukkan apakah perbedaan di antara keduanya. Page 73 of 98

75 UNCERTAINTY (KETIDAKPASTIAN) Kecerdasan buatan / MateriKuliah Brawijaya University 2012 Kecerdasan Buatan: UNCERTAINTY (KETIDAKPASTIAN) 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 ptiik@ub.ac.id 1. PENDAHULUAN 1.1. Pengantar 1.2.Tujuan 1.3.Definisi 2. UNCERTAINTY 2.1 Definisi Ketidakpastian 2.2 Probabilitas 1. PENDAHULUAN 1.1 Pengantar 2.3 Teorema Bayes 2.4 Faktor Kepastian 3. CONTOH 4. PROPAGASI 4.1 Pertanyaan/Latihan Soal 4.2 Diskusi 4.3 Project MODUL 9 Sistem kecerdasan buatan dikembangkan dengan memiliki pengetahuan yang terbatas tentang permasalahan yang ditanganinya, maka sistem tersebut dapat memiliki kesalahan dalam memberikan solusi dengan menggunakan pendekatan logika. Sistem tidak akan pernah mempunyai pengetahuan atau fakta secara lengkap untuk permasalahan yang ditanganinya, sehingga sistem harus bekerja dalam ketidakpastian dan kesamaran. Oleh karena itu, sistem harus menggunakan teknik-teknik khusus yang dapat menangani ketidakpastian dan kesamaran dalam menyelesaikan permasalahan-permasalahan yang ditanganinya. 1.2 Tujuan Setelah mempelajari Pokok Bahasan ini, diharapkan mahasiswa akan : 1. Memahami konsep ketidakpastian dalam sistem kecerdasan buatan 2. Bisa memahami sifat-sifat ketidakpastian dalam sistem kecerdasan buatan dan teknik penyelesaiannya 3. Menerapkan Probabilitas Bayes dalam melakukan penyelesaian masalah ketidakpastian 4. Memiliki kreatifitas dalam penyelesaian masalah Page 74 of 98

76 1.3 Definisi Uncertainty : teori ketidakpastian pada kecerdasan buatan untuk menyelesaikan permasalahan yang ada dengan pendekatan logika (mengadopsi logika manusia) dimana sistem tidak dapat mengakses seluruh fakta yang ada. Contoh (sample point) : hasil dari percobaan Ruang Contoh (sample space): kumpulan dari semua kemungkinan titik contoh. Kejadian (event) : subset dari ruang contoh. Kejadian sederhana (simple event): hanya ada satu elemen kejadian. Kejadian gabungan (compound event): terdapat lebih dari dari satu kejadian Penalaran Deduktif dan Induktif dilihat dari populasi dan contoh (sample) 2.UNCERTAINTY 2.1 DefinisiKetidakpastian Pada sistem yang menggunakan kecerdasan buatan yang mengandalkan fakta-fakta dalam melakukan pengambilan kesimpulan logika tidak akan menggunakan keseluruhan fakta yang ada, sehingga akan muncul kesalahan-kesalahan dari proses pengambilan kesimpulan. Ketidakpastian dapat dianggap sebagai suatu kekurangan informasi yang memadai untuk membuat suatu keputusan. Ketidakpastian merupakan suatu permasalahan karena mungkin menghalangi kita membuat suatu keputusan yang terbaik. Beberapa teori yang berhubungan dengan ketidakpastian adalah sebagai berikut : Probabilitas Klasik Probabilitas Bayes Teori Hartley yang berdasarkan pada himpunan klasik Teori Shanon yang didasarkan pada peluang Teori Dempster-Shafer Teori Fuzzy Zadeh Contoh aplikasi yang menggunakan ketidakpastian dalam pengambilan kesimpulan logika yang sukses adalah sistem pakar MYCIN untuk diagnosa medis dan PROPECTOR untuk ekplorasi mineral. Salah satu contoh permasalahan yang memiliki ketidakpastian adalah permasalahan diagnosa pasien terhadap suatu penyakit. Misalkan terdapat aturan dalam mendiagosa gejala-gejala dari suatu penyakit sebagai berikut : IF badan_demam(pasien) AND IF badan_ruam(pasien) AND IF badan_pegal(pasien) THEN mengalami_tifus(pasien) Berdasarkan aturan diatas, terlihat bahwa jika ada pasien yang mengalami ketiga jenis gejala tersebut maka akan dideteksi bahwa pasien menderita penyakit tifus. Akan tetapi pada dunia nyata ketika terdapat gejala-gejala tersebut memenuhi belum tentu penyakit yang diderita adalah tifus. Bisa jadi penyakit lain memiliki gejala yang sama sehingga bisa terjadi kesalahan diagnosa. Bagaimana jika derajat gejala yang dialami seorang pasien dengan Page 75 of 98

77 pasien lainnya bisa jadi berbeda. Kemungkinan-kemungkinan kesalahan yang ada tersebut bisa jadi terjadi dan merupakan hal ketidakpastian dan kesamaran pengetahuan dalam permasalahan ini. 2.2 Probabilitas Klasik Probabilitas merupakan cara yang digunakan dalam menghitung ketidakpastian dengan jalan kuantitas. Dalam probabilitas klasik disebut juga dengan a priori probability karena berhubungan dengan game atau sistem. Secara fundamental formula probabilitas klasik seperti pada persamaan 9.1 : P=W/N (9.1) dimana : W adalah jumlah kemenangan dalam permainan N adalah jumlah kemungkinan kejadian yang dilakukan dalam percobaan Contoh permasalahan adalah pelemparan dadu yang memiliki 6 sisi dan memiliki 6 kemungkinan. Maka peluang-peluang yang mungkin adalah P(1) = 1/6 P(2) = 1/6 P(3) = 1/6 P(4) = 1/6 P(5) = 1/6 P(6) = 1/6 Teori formal probabilitas dibuat dengan menggunakan beberapa aturan, aturan-aturan tersebut antara lain adalah : 0 P(E) 1 Aturan ini menyebutkan bahwa jangkauan dari probabilitas berada antara 0 dan 1. Jika suatu kejadian itu pasti terjadi maka nilai probabilitasnya adalah 1, dan jika kejadiannya tidak mungkin terjadi maka nilai probabilitasnya adalah 0. Aturan ini menyatakan jumlah semua kejadian tidak memberikan pengaruh pada kejadian lainnya maka disebut mutually exclusive events yaitu 1. Pembuktian matematis dari aturan tersebut adalah : P(E) + P(E') =1 Kejadian E1 dan E2 adalah kejadian mutually exclusive. Kejadian mempunyai makna bahwa jika E1 dan E2 keduanya tidak dapat terjadi secara simultan, maka probabilitas dari satu atau kejadian lainnya dalah jumlah dari masing-masing probabilitasnya. Probabilitas Bersyarat Probabilitas kondisional merupakan probabilitas yang menghitung pengaruh suatu kejadian terhadap kejadian lainnya. Hal ini mengindikasikan bahwa kejadian terjadinya sesuatu bergantung dari kejadian yang lain. Rumusan dari probabilitas kondisional adalah sebagai berikut : Page 76 of 98 (9.2) Pada contoh diatas tersebut dapat dibaca sebagai peluang A dengan syarat B.

78 2.3 Teorema Bayes Teorema peluang Bayes merupakan teori probabilitas dan statistika yang melakukan penafsiran terhadap seberapa jauh derajat kepercayaab subjektif harus berubah secara rasional ketika ada petunjuk baru. Dalam melakukan penafsiran teorema ini melakukan perhitungan terhadap keseluruhan kemungkinan. Teorema bayes banyak digunakan pada banyak bidang ilmu untuk melakukan pengambilan keputusan pada permasalahan tertentu. Ilustrasi Teorema Bayes : A Bn B1 A Bn B2 B3 Gambar 9.1 Ilustrasi teorema Bayes Teorema probabilitas bersyarat yang hanya dibatasi oleh dua buah kejadian dapat diperluas untuk kejadian n buah. Digunakan bila ingin diketahui probabilitas P(B1 A),P(B2 A).,P(Bk A) Secara matematis Teorema Bayes ditulis sebagai persamaan : (9.3) 2.4 Faktor Kepastian (Certainty Faktor) Dalam mengekspresikan derajat keyakinan digunakan suatu nilai yang disebut certain factor (CF)untuk engasumsikan derajat keyakianan seorang pakar terhadap suatu data. Formulasi certain factor : CF[H,E] = MB[H,E] MD[H,E] Dimana : CF = Certain Factor(faktor kepastian) dalam hipotesis H yang dipengaruhi oleh fakta E MB = Measure of Belief(tingkat keyakinan), adalah ukuran kenaikan dari kepercayaan hipotesis H dipengaruhi oleh fakta E. MD = Measure of Disbelief(tingkat tidakyakinan), adalah kenaikan dari ketidakpercayaan hipotesis H dipengaruhi fakta E. E = Evidence(peristiwa ataua fakta). Penggabungan kepercayaan dan ketidakpercayaan dalam bilangan yang tunggal memiliki dua kegunaan, yaitu : Faktor kepastian digunakan untuk tingkat hipotesis di dalam urutan kepentingan. Contoh : jika seorang pasien mempunyai gejala tertentu yang mengindikasikan beberapa kemungkinan penyakit, maka penyakit dengan CF tertinggi menjadi urutan pertama dalam urutan pengujian Page 77 of 98

79 Ukuran kepercayaan dan ketidapercayaan didefinisikan dalam probabilitas sebagai berikut : Karakteristik dari MB, MD dan CF Faktor kepastian (CF) menunjukkan jaringan kepercayaan dalam suatu hipotesis yang berdasarkan pada beberapa fakta. CF Positif : mendukung hipotesis, karena MB > MD. CF=1 : fakta secara definisi membuktikan suatu hipotesis CF=0 : CF=MB-MD = 0, berarti tidak ada fakta. MD=MB, berarti kepercayaan dihapus/ditiadakan oleh ketidakpercayaan CF Negatif : fakta menandakan negasi dari hipotesis, karena MB <MD. Dengan kata lain menyatakan ketidakpercayaan terhadap hipotesis daripada mempercayainya. Faktor kepastian memberikan seorang pakar untuk menyatakan kepercayaan tanpa menyatakan nilai ketidakpercayaan. Formulanya : CF(H,E) + CF(H,E) = 0 Berarti, fakta mendukung suatu hipotesis dan mengurangi dukungan terhadap negasi dari hipotesis dengan jumlah yang sama, sehingga jumlahnya selalu nol. Contoh : Seorang calon karyawan akan diterima jika mendapatkan nilai 80 untuk tes kemampuan CF(H,E) = 0,75CF(H,E) = -0,75 Seberapa kepercayaan Anda bahwa mendapatkan nilai 80 pada tes kemampuan akan membantu Anda diterima bekerja? Jawab : saya pastikan 75% bahwa saya akan diterima bekerja jika saya memperoleh nilai 80 untuk tes Page 78 of 98

80 kemampuan. Seberapa ketidakpercayaan Anda bahwa mendapatkan nilai 80 pada tes kemampuan akan membantu Anda diterima bekerja? Jawab : saya pastikan -75% bahwa saya tidak akan diterima bekerja jika saya memperoleh nilai 80 untuk tes kemampuan Definisi asli dari CF adalah : CF = MB MD. Tahun 1977 definisi asli tersebut diubah dalam MYCIN menjadi : Aturan MYCIN untuk mengkombinasikan antecedent evidence dari ekspresi dasar Evidence E 1 AND E 2 E 1 AND E 2 NOT E Ketidakpastian anteseden Min[CF(H,E 1 ), CF(H,E 2 )] Max[CF(H,E 1 ), CF(H,E 2 )] -CF(H,E) Contoh : Diketahui ekspresi logika untuk penggabungan evicence E=(E1 ANDE2 AND E3) OR (E4 AND NOT E5). Evidence E akan dihitung sebagai berikut :E = max [min(e1,e2,e3), min (E4,-E5)] Jika diketahui : E1 = 0.9E2= 0.8E3 = 0.3E4 = -0.5 E5 = -0.4 Maka hasilnya :E = max [min(0.9;0.8;0.3), min (-0.5;(-0.4))]E = max[0.3;- 0.5] Rumus dasar untuk CF dari kaidah adalah : Dimana : IF E THEN H CF(H,e) = CF(E,e) CF(H,E) CF(E,e) : faktor kepastian dari fakta E membuat antecedent dari kaidah berdasarkan pada ketidakpastian fakta e CF(H,E) : faktor kepastian dalam hipotesa dengan asumsi bahwa fakta diketahui dengan pasti, bila CF(E,e)=1 CF(H,e) : faktor kepastian hipotesis yang didasarkanpada ketidakpastian fakta e. Jika semua fakta dalam antecedent diketahui dengan pasti rumus faktor kepastiannya menjadi : CF(H,e) = CF(E,e), karena CF (E,e) = 1 3. CONTOH kaidah streptococcus (bakteri) IF 1. Zat warna dari organisme adalah gram positif AND 2. morfologi dari organisme adalah coccus AND 3. penyesuaian diri dari organisme adalah merantai THEN Ada bukti sugesstif (0.7) bahwa identifikasi dari organisme Page 79 of 98

81 tersebut adalah streptococcus Dimana faktor kepastian dari hipotesis dengan kepastian fakta adalah CF(H,E) = CF(H, E1 E2 E3) = 0.7 Dan disebut Attenuation factor. Attenuation factordidasarkan pada asumsi bahwa semua fakta E1, E2 dan E3 diketahui dengan pasti, yaitu : CF(E1,e) = CF(E2,e) = CF(E3,e) = 1 Jika diasumsikan : CF(E1,e) = 0.5 CF(E2,e) = 0.6 CF(E3,e) = 0.3 Maka CF(E,e) = CF(E1 E2 E3,e) = 0.7 = min[cf(e1,e), CF(E2,e), CF(E3,e)] = min[0.5;0.6;0.3] = 0.3 CF(H,e) = CF(E,e) CF(H,e) = (0.3). (0.7) = 0.21 Karena CF dari antecedent CF(E,e) > 0.2; antecedent dinyatakan benar dan kaidah diaktifkan. 4. PROPAGASI Pertanyaan / Latihan Soal (Evaluasi Mandiri). Apa yang dimaksud teorema ketidakpastian?. Apa peran teorema ketidakpastian dalam Kecerdasan Buatan?. Bagaimana cara menerapkan teorema ketidakpastian dalam aplikasi?. Apa perbedaan dari teori Probabilitas Klasik, Bayes dan Faktor Kepastian? b. Latihan Soal Pengembangan dan Diskusi 1. Menurut anda, apa kelebihan maupun kekurangan dari teori-teori dalam teorema ketidakpastian? 2. Apakah masing-masing teori tersebut bisa diaplikasikan untuk permasalahan yang sama atau masing-masing punya karakteristik sendiri? 3. Jelaskan definisi teori demster-shafer dan Fuzzy Zadeh c. PROYEK (Eksplorasi entrepreneurship, penerapan topic bahasan pada dunia nyata) 1. Carilah sebuah jurnal / hasil penelitian yang menerapkan teori ketidakpastian dalam aplikasi kongrit dan berikan ulasan tentang implementasinya Page 80 of 98

82 REFERENSI 1. Giarrantano, J and G.Riley, Expert System : Principle and Programming,4thed, PWS Kent, Sri Kusumadewi, Artificial Intelligence : Teknik dan Aplikasinya, Graha Ilmu, Yogyakarta, 2003 Page 81 of 98

83 Bayesian Network Kecerdasan buatan / MateriKuliah Brawijaya University 2012 Kecerdasan Buatan: Bayesian Network 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.3 Pengantar 1.4 Tujuan 1.5 Definisi 2. Sintak Bayesian Network 3. Semantik Bayesian Network 1. PENDAHULUAN 1.1 Pengantar Ketika suatu permasalahan yang bisa dinyatakan dalam bentuk sebab akibat, dimana melibatkan adanya proporsisi/ ketidakpastian dari suatu kejadian, maka kita bisa menyelesaikannya dengan bayesian network. MODUL Tujuan Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk : Menjelaskan dan memahami tentang definisi dan konsep dari sintaks bayesian network Menjelaskan dan memahami tentang definisi dan konsep semantik dari bayesian network Mampu merancang aplikasi sederhana dengan konsep bayesian network 1.3Definisi Bayesian Network merupakan suatu notasi grafis yang sederhana untuk pernyataan bebas bersyarat dan oleh karenanya untuk spesifikasi atas full joint distribution yang padat. 2. SINTAK BAYESIAN NETWORK Adapun sintak dari Bayesian Network terdiri atas: o Sekumpulan node, di mana satu node per variabel o Suatu graph tidak berputar dan berarah (link menyatakan berpengaruh langsung ) o Suatu distribusi bersyarat untuk setiap node yang diberikan parent-nya: P(X i Parents(X i )) - Suatu contoh sederhana, distribusi bersyarat direpresentasikan sebagaimana dalam suatu suatu tabel probabilitas bersyarat (CPT) memberikan distribusi atas X i untuk setiap kombinasi nilai parentnya - - Contoh 1: o Topologi jaringan mengkodekan pernyataan-pernyataan bebas Page 82 of 98

84 bersyarat, sebagai berikut: Gambar 10.1 Hubungan antar variabel o o Weather adalah bebas (independent) atas variabel-variabel lain. Toothache dan Catch adalah bebas bersyarat atas variabel Cavity yang diberikan. - Contoh 2: o Andi punya alarm baru. Alarm akan berbunyi jika ada pencuri (burglary) masuk rumah Andi. Tetapi alarm juga akan berbunyi jika ada gempa kecil, dimana gempa tersebut tidak terasa di tempat John dan Mary. Jika alarm berbunyi, John dan Mary berjanji untuk menelepon Andi saat Andi bekerja di kantor. Tetapi terkadang saat alarm berbunyi John ataupun Mary tidak tahu karena mereka sedang pergi, atau karena suara alarm yang kecil karena baterai habis, atau karena ada suara lain yang lebih keras dari alarm tersebut. Adakah seorang pencuri (burglar)? o Variabel-variabel yang terlibat: Burglar, Earthquake, Alarm, JohnCalls, MaryCalls o Topologi jaringan merefleksikan pengetahuan sebab akibat : Seorang Burglary dapat menyebabkan alarm nyala Earthquake dapat menyebabkan alarm nyala Alarm dapat menyebabkan adanya panggilan dari Mary (MarryCall) Alarm dapat menyebabkan adanya panggilan dari John (JohnCall) o Sehingga bisa diilustrasikan sebagaimana berikut: Gambar 10.2 bayesian network dari kasus Andi - Dari ilustrasi pada Gambar 10.2 dapat diartikan: Burglary dan Earthquake keduanya merupakan variabel independent dengan nilai probabilitas masing-masing: P(B)= dan P(E)= Namun Alarm merupakan varibel bersyarat, yang Page 83 of 98

85 dipengaruhi oleh Burglary dan Earthquake. - Compactness - Suatu tabel probabilitas bersyarat (CPT) untuk nilai Boolean X i dengan k Boolean parent mempunyai 2 k baris untuk kombinasi dari nilai parent. Gambar 10.3 Hubungan antar variabel - Setiap baris meminta satu angka peluang p untuk X i =true (angka untuk X i =false sebesar1-p) - Jika setiap variabel tidak memiliki lebih banyak k parent, maka network yang lengkap memerlukan O(n.2 k ) angka. - Seperti, pertumbuhan secara linear dengan n terhadap O(2 n ) bagi distibrusi keterkaitan penuh (full joint distribution) - Dari nilai-nilai yang ada di dalam tabel CPT terlihat untuk jaringan burglary, terdapat = 10 angka (vs = 31) Semantics - Full joint distribution didefinisikan sebagai perkalian atas distribusi bersyarat lokal: P (X 1,,X n ) = π i = 1 P (X i Parents(X i )) - Misal: P(j m a b e) = P (j a) P (m a) P (a b, e) P (b) P (e) Pengkonstruksian Bayesian network 1. Choose an ordering of variables X 1,,X n 2. For i = 1 to n add X i to the network select parents from X 1,,X i-1 such that P (X i Parents(X i )) = P (X i X 1,... X i-1 ) This choice of parents guarantees: P (X 1,,X n ) = π i =1 P (X i X 1,, X i-1 ) (chain rule) = π i =1 P (X i Parents(X i )) (by construction) Contoh - Andaikan kita pilih urutan M, J, A, B, E Page 84 of 98

86 - P(J M) = P(J)? Apakah Peluang JohnCalls bersyarat terhadap MaryCalls sama dengan peluang terjadinya JohnCalls? Jawabannya: Tidak, karena dari graph di atas terlihat bahwa peluang terjadinya JohnCalls bergantung pada MaryCalls. - P(A J,M) = P(A J)?P(A J, M) = P(A)? Dari graph di atas terlihat bahwasannya peluang terjadinya Alarm dipengaruhi oleh adanya kejadian MaryCalls dan JohnCalls, sehingga: P(A J,M) = P(A J)?P(A J, M) = P(A)? No Kemudian diberikan pertanyaan berikutnya: - P(B A, J, M) = P(B A)? - P(B A, J, M) = P(B)? - Maka dari gambar di atas bisa menjawab pertanyaan sebelumnya bahwa Peluang terjadinya Burgary dipengarui oleh bunyi Alarm, sehingga: P(B A, J, M) = P(B A)? Yes P(B A, J, M) = P(B)? No - Kemudian, jika diberikan P(E B, A,J, M)apakah sama denganp(e A)? - Juga apakahp(e B, A, J, M) sama dengan P(E A, B)? Page 85 of 98

87 - Dari graph di atas dapat digunakan untuk menjawab pertanyaan sebelumnya, bahwa: P(E B, A,J, M) = P(E A)? No P(E B, A, J, M) = P(E A, B)? Yes - Penentuan kebebasan bersyarat (conditional independence) adalah sulit pada arah sebab akibat secara langsung. - Jaringan tersebut lebih sedikit padat: = 13 angka yang diperlukan Kesimpulan: - Bayesian network menyediakan suatu representasi alami untuk (induksi sebab akibat) kebebasan bersyarat - Topologi dan CPT membentuk representasi yang padat dari distribusi gabungan - Secara umum mudah bagi para pakar untuk mengkonstruksi REFERENSI Russell, Stuart; dan Norvig, Peter Artificial Intelligence A Modern Approach. International Edition, Edisi 2. Pearson Prentice- Hall Education International. New Jersey PROPAGASI Latihan dan Diskusi 1. Jelaskan konsep dasar dari Bayesian Network! 2. Jelaskan secara ringkas sintak dari Bayesian Network! Beserta komponenkomponen yang terdapat di dalamnya! 3. Jelaskan dengan memberikan contoh sederhana membuat konstruksi Bayesian Network secara semantik! 4. Jelaskan topologi jaringannya di tiap node atau variabel! 5. Jelaskan maksud dari compactness! Pertanyaan (Evaluasi mandiri) Buatlah sebuah perancangan aplikasi dalam bidang kedokteran untuk mendiagnosa suatu penyakit yang memiliki sebab akibat. Gambarkan dalam bentuk bayesian networknya. Jika diberikan nilai-nilai dalam CPT Page 86 of 98

88 LEARNING Kecerdasan buatan / MateriKuliah Brawijaya University 2012 Kecerdasan Buatan:Learning 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 ptiik@ub.ac.id 1. PENDAHULUAN 1.1 Pengantar 1.2 Tujuan 1.3 Definisi 2. Learning 3. Latihan MODUL 1.PENDAHULUAN 1.1 Pengantar 11 Penyelesaian permasalahan dalam kasus kecerdasan buatan selanjutnya adalah teknik learning. Terdapat banyak sekali teknik learning dengan berbagai variasinya yang telah diteliti dan diimplementasikan. Namun pada modul ini hanya dibahas dua metode, yaitu Jaringan Syaraf Tiruan dan Decision Tree Learning (pembelajaran dengan pohon keputusan). Pada teknik-teknik sebelumnya : searching, reasoning dan planning kita harus tahu aturan lengkap yang berlaku untuk sistem yang akan kita bangun. Namun jika terdapat banyak atribut dengan masingmasing memiliki banyak variasi nilai yang berbeda, maka akan sangat banyak kombinasi data yang harus dibuat aturannya. Contoh ada 30 atribut, masing-masing atribut memiliki 3 nilai yang berbeda, maka terdapat 3 30 = kombinasi data. Tentu sangat sulit atau bahkan tidak mungkin untuk menemukan aturan yang benar dan lengkap secara manual. Tetapi kita bisa membuat suatu program computer yang secara otomatis menemukan aturan-aturan yang kita harapkan. Hal itu kita lakukan dengan Teknik Learning. Meskipun untuk kombinasi data yang tidak lengkap kita tidak bisa berharap komputer akan menemukan aturan yang benar dan lengkap, tetapi komputer sanggup belajar. Pada teknik learning ini intinya kita membuat komputer bisa mempelajari data-data baru sehingga sehingga membuatnya semakin pintar. Page 87 of 98

89 1.2 Tujuan Setelah mempelajari Pokok Bahasan ini, diharapkan mahasiswa akan : 1. Memahami konsep learning dalam sistem kecerdasan buatan 2. Bisa memahami sifat-sifat learning dalam sistem kecerdasan buatan dan teknik penyelesaiannya 3. Menerapkan teknik learning dalam melakukan penyelesaian kecerdasan buatan 4. Memiliki motivasi untuk mencari ilmu dan mengembangkan ilmu yang sudah dimiliki 1.3 Definisi Individu : menyatakan salah satu solusi yang mungkin = kromosom : kumpulan gen. Gen : sebuah nilai yang menyatakan satuan dasar yang membentuk arti tertentu dalam satu kesatuan (kromosom). bisa biner, float, integer maupun karakter, list of rule (R1, R2, ), elemen permutasi (E1, E2, ) atau kombinatorial, struktur data lainnya Allele : nilai dari gen populasi : sekumpulan individu (kromosom) yang akan diproses bersama dalam satu siklus proses evolusi Generasi : satu siklus proses evolusi atau satu iterasi dalam algoritma genetika 2. LEARNING (PEMBELAJARAN) 2.1 Jaringan Syarat Tiruan (Artificial Neural Network) Sejarah Jaringan Syaraf Tiruan (JST) Perkembangan computer yang sangat pesat membuat para ahli tertantang untuk mengembangkan computer yang mampu yang mampu melakukan hal-hal seperti yang dilakukan manusia. Untuk perhitungan matematis, yang sulit sekalipun, computer mampu melakukan perhitungan dengan mudah, bahkan lebih cepat dari manusia. Akan tetapi, bagaimana dengan kemampuan manusia yang lain, terutama yang didapat dari pengalaman? Misal dari seorang guru, siswa belajar mengenali huruf A, atau membedakan gambar penguin dengan gambar kucing, dan lain sebagainya. Berdasar keadaan tersebut, dikembangkan suatu jaringan yang memiliki konsep mirip dengan jaringan otak manusia. Jaringan tersebut dapat dilatih sehingga pada akhirnya dapat mengambil keputusan seperti yang dilakukan oleh otak manusia. Jaringan tersebutdisebut sebagai jaringan syaraf tiruan, dan computer dimanfaatkan sebagai sarana pelatihan jaringan (artificial neural network) Konsep Jaringan Syaraf Tiruan. Seperti telah dijelaskan di atas, Jaringan syaraf tiruan merupakan sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. Jaringan syaraf tersebut adalah sebagaimana ditunjukkan pada gambar 1 berikut. Gambar 1. Jaringan syaraf biologi Page 88 of 98

90 Peniruan model otak manusia tersebut dilakukan dengan adaptasi seperti ditunjukkan tabel 1 berikut. Tabel 1. Model jaringan syaraf tiruan Sehingga model neuron pada jaringan syaraf tiruan menjadi seperti pada gambar 2. Karakteristik JST adalah : Arsitektur Jaringan Single Layer, Multi Layer Training/Learning Perceptron,, Backpropagation Fungsi Aktivasi Fungsi treshold (ramp function) Fungsi sigmoid Fungsi identitas Gambar 11.1 Model neuron JST Pelatihan Jaringan Syaraf Tiruan Pelatihan jaringan syaraf dimaksudkan untuk mencari bobot-bobot yang terdapat dalam tiap layer. Ada 2 jenis pelatihan dalam sistem jaringan syaraf tiruan, yaitu proses belajar terawasi (supervised learning) dan proses belajar tidak terawasi (unsupervised learning). a. Proses Belajar Terawasi Dalam proses belajar terawasi seolah-olah ada guru yang mengajari jaringan. Cara pelatihan jaringan tersebut adalah dengan memberikan data-data yang disebut data training. Data training terdiri atas pasangan input dan output yang diharapkan dan merupakan associative memory. Data-data tersebut biasanya didapat dari pengalaman atau pengetahuan seseorang dalam menyelesaikan persoalan. Setelah jaringan dilatih, associative memory akan mengingat suatu pola. Jika jaringan diberi input baru, jaringan dapat mengeluarkan output seperti yang diharapkan. Beberapa Page 89 of 98

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

Problem solving by Searching. Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ Problem solving by Searching Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ Pendahuluan Pengantar : Membahas agen cerdas penyelesaian problem serta strategi uninformed untuk memecahkan masalah. Tujuan:

Lebih terperinci

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

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM KERANGKA MASALAH Generate And Test Hill Climbing Best First Search PENCARIAN HEURISTIK Kelemahan blind search : 1.

Lebih terperinci

Pencarian. Kecerdasan Buatan Pertemuan 3 Yudianto Sujana

Pencarian. Kecerdasan Buatan Pertemuan 3 Yudianto Sujana Pencarian Kecerdasan Buatan Pertemuan 3 Yudianto Sujana Metode Pencarian dan Pelacakan Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian. Pencarian = suatu proses

Lebih terperinci

Agen Cerdas. Oleh: Dewi Liliana IT PNJ

Agen Cerdas. Oleh: Dewi Liliana IT PNJ Agen Cerdas Oleh: Dewi Liliana IT PNJ Tujuan Mengetahui konsep agen cerdas dan lingkungan agen cerdas. Mengetahui konsep PEAS (Performance measure, Environment, Actuators, Sensors) untuk merancang agen

Lebih terperinci

BAB III METODE PELACAKAN/PENCARIAN

BAB III METODE PELACAKAN/PENCARIAN BAB III METODE PELACAKAN/PENCARIAN Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian. Pencarian = suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan,

Lebih terperinci

BAB IV TEKNIK PELACAKAN

BAB IV TEKNIK PELACAKAN BAB IV TEKNIK PELACAKAN A. Teknik Pelacakan Pelacakan adalah teknik untuk pencarian :sesuatu. Didalam pencarian ada dua kemungkinan hasil yang didapat yaitu menemukan dan tidak menemukan. Sehingga pencarian

Lebih terperinci

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

HEURISTIC SEARCH. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc HEURISTIC SEARCH Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc Jurusan Informatika Universitas Syiah Kuala http://informatika.unsyiah.ac.id/irvanizam Travelling Salesmen Problem Seorang salesman

Lebih terperinci

KECERDASAN BUATAN. Simple Hill Climbing. Disusun Oleh:

KECERDASAN BUATAN. Simple Hill Climbing. Disusun Oleh: KECERDASAN BUATAN Simple Hill Climbing Disusun Oleh: 1. Lutvi Maulida Al H. (081112006) 2. Nurul Fauziah (081112021) 3. Anggraeni Susanti (081112055) 4. Syahrul Bahar Hamdani (081211232012) Departemen

Lebih terperinci

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING Dinda Novitasari 1, Arista Welasari 2, W. Lisa Yunita 3, Nur Alfiyah 4, dan Chasandra P. 5 Program Studi Informatika, PTIIK,

Lebih terperinci

Intelligent Agent. PERTEMUAN 10 Diema Hernyka Satyareni, M.Kom

Intelligent Agent. PERTEMUAN 10 Diema Hernyka Satyareni, M.Kom Intelligent Agent PERTEMUAN 10 Diema Hernyka Satyareni, M.Kom Outline Konsep Agen Cerdas dan Lingkungannya Konsep Perancangan Agen Cerdas Perancangan Agen Cerdas Karakteristik Agen Arsitektur Agen Tipe

Lebih terperinci

Teknik Pencarian Heuristik

Teknik Pencarian Heuristik Teknik Pencarian Heuristik Generate and Test Hill Climbing Best First Search Problem Reduction Constraint Satisfaction Means End Analysis Referensi Sri Kusumadewi - bab 2 Rich & Knight bab 3 Teknik Pencarian

Lebih terperinci

memberikan output berupa solusi kumpulan pengetahuan yang ada.

memberikan output berupa solusi kumpulan pengetahuan yang ada. MASALAH DAN METODE PEMECAHAN MASALAH (Minggu 2) Pendahuluan Sistem yang menggunakan kecerdasan buatan akan memberikan output berupa solusi dari suatu masalah berdasarkan kumpulan pengetahuan yang ada.

Lebih terperinci

Metode Pencarian & Pelacakan dengan Heuristik

Metode Pencarian & Pelacakan dengan Heuristik Metode Pencarian & Pelacakan dengan Heuristik Pencarian Buta (Blind Search) Breadth-First Search Depth-First Search Pencarian Terbimbing (Heuristics Search) Generate & Test Hill Climbing Best-First Search

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 5 BAB 2 TINJAUAN PUSTAKA Pada bab ini akan dibahas landasan teori, penelitian terdahulu, kerangka berpikir, dan hipotesis yang mendasari penyelesaian Traveling Salesman Problem dalam menentukan lintasan

Lebih terperinci

METODE PENCARIAN DAN PELACAKAN

METODE PENCARIAN DAN PELACAKAN METODE PENCARIAN DAN PELACAKAN SISTEM INTELEGENSIA Pertemuan 4 Diema Hernyka S, M.Kom Materi Bahasan Metode Pencarian & Pelacakan 1. Pencarian buta (blind search) a. Pencarian melebar pertama (Breadth

Lebih terperinci

PENCARIAN RUTE TERPENDEK ARENA KONTES ROBOT PEMADAM API INDONESIA (KRPAI) MENGGUNAKAN ALGORITMA HILL CLIMBING

PENCARIAN RUTE TERPENDEK ARENA KONTES ROBOT PEMADAM API INDONESIA (KRPAI) MENGGUNAKAN ALGORITMA HILL CLIMBING ABSTRAK PENCARIAN RUTE TERPENDEK ARENA KONTES ROBOT PEMADAM API INDONESIA (KRPAI) MENGGUNAKAN ALGORITMA HILL CLIMBING Pamor Gunoto Dosen Tetap Program Studi Teknik Elektro Universitas Riau Kepulauan (UNRIKA)

Lebih terperinci

Pendakian Bukit (Hill Climbing)

Pendakian Bukit (Hill Climbing) Pendakian Bukit (Hill Climbing) Metde ini hampir sama dengan metde pembangkitan & pengujian, hanya saja prses pengujian dilakukan dengan menggunakan fungsi heuristik. Pembangkitan keadaan berikutnya sangat

Lebih terperinci

PENGANTAR KECERDASAN BUATAN. Aturan Umum

PENGANTAR KECERDASAN BUATAN. Aturan Umum PENGANTAR KECERDASAN BUATAN Aturan Umum PENILAIAN Tugas ; resume paper, jurnal 4 kali = 20% Quiz ; 2 kali = 10% Ujian Tengah Semester = 30% Ujian Akhir Semester = 40% INDEX Nilai 80 NA 100 A 68 NA 79 B

Lebih terperinci

Artificial Intelegence/ P_3 EKA YUNIAR

Artificial Intelegence/ P_3 EKA YUNIAR Artificial Intelegence/ P_3 EKA YUNIAR Pokok Bahasan Teknik Pencarian Heuristik Generate And Test Hill Climbing Best First Searching Problem Reduction Constrait Satisfaction Means End Analysis Teknik Pencarian

Lebih terperinci

Problem-solving Agent: Searching

Problem-solving Agent: Searching Problem-solving Agent: Searching Kuliah 3 Sistem Cerdas 5 April 2010 STMIK Indonesia Problem-Solving Agent Kelemahan reflex agent tidak cocok untuk menangani masalah besar!! Goal-based agent memiliki tujuan,

Lebih terperinci

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

Agent Cerdas. Chastine Fatichah. Teknik Informatika Institut Teknologi Sepuluh Nopember November 2012 Kecerdasan Buatan Agent Cerdas Chastine Fatichah Teknik Informatika Institut Teknologi Sepuluh Nopember November 2012 1 / 25 Pokok Bahasan Agent & environment Konsep Rational Agents PEAS (Performance measure,

Lebih terperinci

Search Strategy. Search Strategy

Search Strategy. Search Strategy Search Strategy Search Strategy Salah satu hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian (search) Pada dasarnya ada 2 Teknik pencarian : 1. Metode Buta (Uninformed

Lebih terperinci

TEKNIK PENCARIAN HEURISTIK (HEURISTIC SEARCHING)

TEKNIK PENCARIAN HEURISTIK (HEURISTIC SEARCHING) TEKNIK PENCRIN HEURISTIK (HEURISTIC SERCHING) Teknik pencarian heuristik (heuristic searching) merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan (state space) suatu problema secara

Lebih terperinci

Pengantar Teknologi Informasi

Pengantar Teknologi Informasi Pengantar Teknologi Informasi Kecerdasan Buatan (Artificial Intelligence) Defri Kurniawan, M.Kom Fasilkom 1/7/2016 What s Artificial Intelligence What is Artificial Intelligence (AI) Cabang Science yang

Lebih terperinci

Pengenalan Intelligent Agent

Pengenalan Intelligent Agent Pengenalan Intelligent Agent Pertemuan II Wahyu Supriyatin Intelligent Agent Sistem agent pintar yang dirancang untuk bekerja secara otomatis pada setiap aplikasinya dengan sensornya yaitu menerima pesan

Lebih terperinci

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

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015 Sistem Kecerdasan Buatan Masalah, Ruang Masalah dan Pencarian Solusi Bahan Bacaan : Sri Kusumadewi, Artificial Intelligence. Russel, Artificial Intelligence Modern Approach 2 bagian utama kecerdasan buatan

Lebih terperinci

SEARCHING. Blind Search & Heuristic Search

SEARCHING. Blind Search & Heuristic Search SEARCHING Blind Search & Heuristic Search PENDAHULUAN Banyak cara yang digunakan untuk membangun sistem yang dapat menyelesaikan masalah-masalah di AI. Teknik penyelesaian masalah yang dapat dipakai untuk

Lebih terperinci

Artificial Intelligence Apa Itu AI?

Artificial Intelligence Apa Itu AI? Artificial Intelligence Apa Itu AI? Bagaimana otak manusia bekerja? Apa itu kecerdasan? Bagaimana kita meniru otak manusia? Bagaimana kita membuat kecerdasan? Peduli amat!!! Mending melakukan sesuatu yg

Lebih terperinci

HEURISTIC SEARCH UTHIE

HEURISTIC SEARCH UTHIE HEURISTIC SEARCH Pendahuluan Pencarian buta biasanya tidak efisien karena waktu akses memori yang dibutuhkan cukup besar. Untuk mengatasi hal ini maka perlu ditambahkan suatu informasi pada domain yang

Lebih terperinci

Kecerdasan Buatan. Dosen : Dr. Ir. Dian Retno Sawitri, MT Buku : Russel and Norvig (1995) Turban (1993) Rich and Knight (1991) dll

Kecerdasan Buatan. Dosen : Dr. Ir. Dian Retno Sawitri, MT Buku : Russel and Norvig (1995) Turban (1993) Rich and Knight (1991) dll Kecerdasan Buatan Dosen : Dr. Ir. Dian Retno Sawitri, MT Buku : Russel and Norvig (1995) Turban (1993) Rich and Knight (1991) dll Definisi Kecerdasan Buatan (Artificial Intelligence/AI) Proses Berpikir

Lebih terperinci

Case Study : Search Algorithm

Case Study : Search Algorithm Case Study : Search Algorithm INF-303 Kecerdasan Buatan Jurusan Informatika FMIPA UNSYIAH Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc Website: http://informatika.unsyiah.ac.id/irvanizam Contoh

Lebih terperinci

METODE PENCARIAN BFS dan DFS

METODE PENCARIAN BFS dan DFS METODE PENCARIAN BFS dan DFS Metode Pencarian Terdapat banyak metode yang telah diusulkan. Semua metode yang ada dapat dibedakan ke dalam 2 jenis : Pencarian buta / tanpa informasi (blind / un-informed

Lebih terperinci

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

IKI 30320: Sistem Cerdas Kuliah 3: Problem-Solving Agent & Search IKI 30320: Sistem Cerdas : -Solving Agent & Fakultas Ilmu Komputer Universitas Indonesia 3 September 2007 Outline 1 2 3 4 5 Outline 1 2 3 4 5 -Solving Agent Di kuliah yang lalu kita melihat contoh reflex

Lebih terperinci

Menjelaskan tujuan dan karakteristik kecerdasan buatan dengan baik

Menjelaskan tujuan dan karakteristik kecerdasan buatan dengan baik Menjelaskan tujuan dan karakteristik kecerdasan buatan dengan baik Kecerdasan buatan adalah ilmu dan rekayasa yang membuat mesin mempunyai intelegensi tertentu khususnya program komputer yang cerdas (John

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kecerdasan Buatan Kecerdasan buatan atau artificial intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti

Lebih terperinci

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian Kecerdasan Buatan Pertemuan 02 Penyelesaian Masalah dengan Pencarian Kelas 10-S1TI-03, 04, 05 Husni Lunix96@gmail.com http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM, 2012 Outline Pendahuluan

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS) RENCANA PEMBELAJARAN SEMESTER (RPS) IKG2J3 KECERDASAN BUATAN Disusun oleh: PROGRAM STUDI ILMU KOMPUTASI FAKULTAS INFORMATIKA TELKOM UNIVERSITY LEMBAR PENGESAHAN Rencana Semester (RPS) ini telah disahkan

Lebih terperinci

SISTEM PENENTUAN LINTASAN TERPENDEK TRAVELING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING

SISTEM PENENTUAN LINTASAN TERPENDEK TRAVELING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING SISTEM PENENTUAN LINTASAN TERPENDEK TRAVELING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING Abdul Mukthi Chifdhi 1, Dwi Puspitasari 2 Teknik Informatika, Teknologi Informasi, Politeknik Negeri

Lebih terperinci

Menurut Kaplan, AI mempunyai beberapa kelebihan dibandingkan dengan kecerdasan alami

Menurut Kaplan, AI mempunyai beberapa kelebihan dibandingkan dengan kecerdasan alami KECERDASAN BUATAN (AI/Artificial Intelligence) Menurut Kaplan, AI mempunyai beberapa kelebihan dibandingkan dengan kecerdasan alami (kecerdasan manusia). Kelebihan AI yaitu : AI lebih bersifat permanent

Lebih terperinci

INTELEGENSI BUATAN. Pertemuan 2,3 Problem, Space, Search. M. Miftakul Amin, M. Eng. website :

INTELEGENSI BUATAN. Pertemuan 2,3 Problem, Space, Search. M. Miftakul Amin, M. Eng. website : INTELEGENSI BUATAN Pertemuan 2,3 Problem, Space, Search M. Miftakul Amin, M. Eng. e-mail: mmiftakulamin@gmail.com website : http://mafisamin.web.ugm.ac.id Jurusan Teknik Komputer Jurusan Teknik Komputer

Lebih terperinci

Tujuan Instruksional

Tujuan Instruksional Pertemuan 4 P E N C A R I A N T A N P A I N F O R M A S I B F S D F S U N I F O R M S E A R C H I T E R A T I V E D E E P E N I N G B I D I R E C T I O N A L S E A R C H Tujuan Instruksional Mahasiswa

Lebih terperinci

AI sebagai Masalah Pelacakan. Lesson 2

AI sebagai Masalah Pelacakan. Lesson 2 AI sebagai Masalah Pelacakan Lesson 2 Teknik Pencarian Pendahuluan Setelah permasalahan direpresentasikan dalam bentuk state-space, maka selanjutnya dilakukan pencarian (searching) di dalam state-space

Lebih terperinci

KECERDASAN BUATAN ARTIFICIAL INTELLIGENCE. Copyright: Anik Handayani FT-UM

KECERDASAN BUATAN ARTIFICIAL INTELLIGENCE. Copyright: Anik Handayani FT-UM KECERDASAN BUATAN ARTIFICIAL INTELLIGENCE Copyright: Anik Handayani FT-UM ARTIFICIAL INTELLIGENCE Mata Kuliah:Kecerdasan Buatan (Artificial Intelligence/AI) Deskripsi Mengenai Kecerdasan Buatan Kecerdasan

Lebih terperinci

Artificial Intelegence/ P_2. Eka Yuniar

Artificial Intelegence/ P_2. Eka Yuniar Artificial Intelegence/ P_2 Eka Yuniar Pokok Bahasan Definisi Masalah Ruang Masalah Metode Pencarian BFS dan DFS Problem/ Masalah Masalah dalam kecerdasan buatan adalah masalah yang dapat dikonversi ke

Lebih terperinci

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

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni Kecerdasan Buatan Pertemuan 02 Penyelesaian Masalah dengan Pencarian... Husni Lunix96@gmail.com http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM, 2013 Outline Konsep Pencarian Pencarian

Lebih terperinci

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

Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A* Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A* Makalah IF2211 Strategi Algoritma Marvin Jerremy Budiman (13515076) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

ARTIFICIAL INTELLIGENCE

ARTIFICIAL INTELLIGENCE ARTIFICIAL INTELLIGENCE Team teaching: Sri Winiarti, Andri Pranolo, dan Anna Hendri SJ Andri Pranolo W : apranolo.tif.uad.ac.id M : 081392554050 E : andri.pranolo@tif.uad.ac.id Informatics Engineering,

Lebih terperinci

PERANCANGAN SYSTEM PAKAR GENERIC MENGGUNAKAN BINARY TREE

PERANCANGAN SYSTEM PAKAR GENERIC MENGGUNAKAN BINARY TREE PERANCANGAN SYSTEM PAKAR GENERIC MENGGUNAKAN BINARY TREE Luky Agus Hermanto, ST., MT. Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Adhi Tama Surabaya Jl. Arif Rahman Hakim

Lebih terperinci

Pencarian Rute Terpendek pada Tempat Wisata di Kota Bogor Menggunakan Metode Heuristik

Pencarian Rute Terpendek pada Tempat Wisata di Kota Bogor Menggunakan Metode Heuristik Pencarian Rute Terpendek pada Tempat Wisata di Kota Bogor Menggunakan Metode Heuristik Irwansyah Saputra Jurusan Ilmu Komputer, STMIK Nusa Mandiri Jakarta Irwansyah9205@gmail.com Abstrak: Pencarian rute

Lebih terperinci

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

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian. Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian. 3 Teknik Search menentukan simpul mana yang dibuat lebih dulu dan mana yang kemudian sampai ditemukannya simpul

Lebih terperinci

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek. Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek. Arnold Nugroho Sutanto - 13507102 1) 1) Jurusan Teknik Informatika ITB, Bandung 40132, email: if17102@students.if.itb.ac.id

Lebih terperinci

LESSON 6 : INFORMED SEARCH Part II

LESSON 6 : INFORMED SEARCH Part II LESSON 6 : INFORMED SEARCH Part II 3.3 Itterative deepening A* search 3.3.1 Algoritma IDA* Itterative deepening search atau IDA* serupa dengan iterative deepening depth first, namun dengan modifikasi sebagai

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata : Kecerdasan Buatan Bobot Mata : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata : Representasi pengetahuan dan pemecahan persoalan AI; Logika; Uncertainty; Vision Blind Search; Al

Lebih terperinci

ALGORITMA PENCARIAN (1)

ALGORITMA PENCARIAN (1) ALGORITMA PENCARIAN (1) Permasalahan, Ruang Keadaan, Pencarian Farah Zakiyah Rahmanti Diperbarui 2016 Overview Deskripsi Permasalahan dalam Kecerdasan Buatan Definisi Permasalahan Pencarian Breadth First

Lebih terperinci

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

Metode Searching. Blind/Un-informed Search. Heuristic/Informed Search. Breadth-First Search (BFS) Depth-First Search (DFS) Hill Climbing A* SEARCHING Russel and Norvig. 2003. Artificial Intelligence: a Modern Approach. Prentice Hall. Suyanto, Artificial Intelligence. 2005. Bandung:Informatika Program Studi Ilmu Komputer FPMIPA UPI RNI IK460(Kecerdasan

Lebih terperinci

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

METODE PENCARIAN. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc METODE PENCARIAN Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc Jurusan Informatika Universitas Syiah Kuala http://informatika.unsyiah.ac.id/irvanizam Teknik- Teknik Search (1/3) Hal- hal yang muncul

Lebih terperinci

KECERDASAN BUATAN Artificial intelligence TRI WAHYUDI TIPA 15

KECERDASAN BUATAN Artificial intelligence TRI WAHYUDI TIPA 15 KECERDASAN BUATAN Artificial intelligence TRI WAHYUDI 1530055401001 TIPA 15 DAFTAR isi BAB I pengantar kecerdasan buatan BAB II Bidang Ilmu Ai BAB III Machine Learning BAB I PENGANTAR KECERDASAN BUATAN

Lebih terperinci

Bab 2 2. Teknik Pencarian

Bab 2 2. Teknik Pencarian Bab 2 2. Teknik Pencarian Bab ini membahas bagaimana membuat ruang masalah untuk suatu masalah tertentu. Sebagian masalah mempunyai ruang masalah yang dapat diprediksi, sebagian lainnya tidak. 1.1 Pendefinisian

Lebih terperinci

Contoh 4/7/ HEURISTIC METHOD. Pencarian Heuristik

Contoh 4/7/ HEURISTIC METHOD. Pencarian Heuristik 07/04/2016 3. HEURISTI METHO KEERASAN BUATAN Pertemuan : 05-06 INFORMATIKA FASILKOM UNIVERSITAS IGM Pencarian Heuristik Kelemahan blind search : Waktu akses lama Memori yang dibutuhkan besar Ruang masalah

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kecerdasan Buatan Kecerdasan buatan atau Artificial Intelligence adalah bagian dari ilmu pengetahuan komputer yang khusus ditujukan dalam perancangan otomatisasi tingkah laku cerdas

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH : SISTEM CERDAS (AK014226) FAKULTAS / JURUSAN : TEKNIK KOMPUTER / D3 SKS/SEMESTER : 2/5

SATUAN ACARA PERKULIAHAN MATA KULIAH : SISTEM CERDAS (AK014226) FAKULTAS / JURUSAN : TEKNIK KOMPUTER / D3 SKS/SEMESTER : 2/5 SATUAN ACARA PERKULIAHAN MATA KULIAH : SISTEM CERDAS (AK014226) FAKULTAS / JURUSAN : TEKNIK KOMPUTER / D3 SKS/SEMESTER : 2/5 Minggu Ke Pokok Bahasan Dan TIU 1 Pengenalan Intelegensi Buatan (KB) konsep

Lebih terperinci

mental kita begitu penting bagi kehidupan

mental kita begitu penting bagi kehidupan PENGANTAR KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) Pendahuluan Manusia memiliki nama ilmiah homo sapiens - manusia yang bijaksana - karena kapasitas mental kita begitu penting bagi kehidupan sehari-hari.

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Permainan Reversi Permainan Reversi adalah permainan yang dimainkan oleh dua orang pemain. Permainan ini dimainkan di atas papan Reversi persegi yang terdiri dari 8 baris dan 8

Lebih terperinci

BAB I PENGANTAR KECERDASAN BUATAN

BAB I PENGANTAR KECERDASAN BUATAN BAB I PENGANTAR KECERDASAN BUATAN 1. 1 DEFINISI Kecerdasan buatan (Artificial Intelligence) : Bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat melakukan pekerjaan seperti

Lebih terperinci

Pengenalan Kecerdasan Buatan (KB)

Pengenalan Kecerdasan Buatan (KB) Pengenalan Kecerdasan Buatan (KB) Pengertian Kecerdasan Buatan VS Kecerdasan Alami Komputasi KB VS Komputasi Konvensional Sejarah KB Lingkup KB Soft Computing Referensi Luger & Stubblefield - bab 1 Sri

Lebih terperinci

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG Firman Harianja (0911519) Mahasiswa Program Studi Teknik Informatika STMIK Budidarma Medan Jl. Sisingamangaraja

Lebih terperinci

Algoritma Branch & Bound

Algoritma Branch & Bound Algoritma Branch & Bound Bahan Kuliah IF2211 Strategi Algoritma Program Studi Informatika STEI ITB 2018 Overview Pembentukan pohon ruang status (state space tree) dinamis untuk mencari solusi persoalan

Lebih terperinci

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA Mata Kuliah Kode / SKS Program Studi Fakultas : Sistem Kecerdasan Buatan : AK012229 / 2 SKS : Sistem Komputer : Ilmu Komputer & Teknologi Informasi 1 Pengenalan Intelegensi Buatan (KB) konsep Intelegensi

Lebih terperinci

ARTIFICIAL INTELLIGENCE / AI (Kecerdasan Buatan)

ARTIFICIAL INTELLIGENCE / AI (Kecerdasan Buatan) ARTIFICIAL INTELLIGENCE / AI (Kecerdasan Buatan) Definisi : - Awalnya komputer difungsikan sebagai alat hitung. - Seiring dengan perkembangan jaman, komputer diharapkan dapat diberdayakan untuk mengerjakan

Lebih terperinci

Penyelesaian Masalah dengan Pencarian

Penyelesaian Masalah dengan Pencarian Penyelesaian Masalah dengan Pencarian Model Problem & Pencarian Solusi Mengkonversi situasi yang diberikan ke dalam situasi lain menggunakan sekumpulan operasi tertentu. Searching : merepresentasikan masalah

Lebih terperinci

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

IKI30320 Kuliah 3 3 Sep Ruli Manurung. Problem solving agent. Representasi masalah: state space. Pencarian solusi: search. Outline IKI 00: istem Cerdas : -olving Agent & Fakultas Ilmu Komputer Universitas Indonesia 4 eptember 007 5 -olving Agent Mekanisme kerja -olving Agent Di kuliah yang lalu kita melihat contoh reflex agent:

Lebih terperinci

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

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A Nama : Gede Noverdi Indra Wirawan Nim : 0915051050 Kelas : VI A ALGORITMA PENCARIAN Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah argumen kunci dan dengan langkah-langkah

Lebih terperinci

BAB III TEORI DASAR SISTEM PAKAR DAN SISTEM KONTROL BERBASIS SISTEM PAKAR 20 BAB III TEORI DASAR SISTEM PAKAR DAN SISTEM KONTROL BERBASIS SISTEM PAKAR

BAB III TEORI DASAR SISTEM PAKAR DAN SISTEM KONTROL BERBASIS SISTEM PAKAR 20 BAB III TEORI DASAR SISTEM PAKAR DAN SISTEM KONTROL BERBASIS SISTEM PAKAR SISTEM PAKAR 20 BAB III TEORI DASAR SISTEM PAKAR DAN SISTEM KONTROL BERBASIS SISTEM PAKAR 3.1 Sistem Pakar Sistem pakar adalah suatu program komputer cerdas yang menggunakan knowledge (pengetahuan) dan

Lebih terperinci

ANALISA KEBUTUHAN WAKTU PADA PROSES PENYELESAIAN TRAVELING SALESMAN PROBLEM

ANALISA KEBUTUHAN WAKTU PADA PROSES PENYELESAIAN TRAVELING SALESMAN PROBLEM ANALISA KEBUTUHAN WAKTU PADA PROSES PENYELESAIAN TRAVELING SALESMAN PROBLEM Hari Murti 1, R. Soelistijadi 2, Sugiyamto 3 Program Studi Sistem Informasi, Fakultas Teknologi Informasi, Universitas Stikubank

Lebih terperinci

BAB 2 TINJAUAN TEORI. Artificial Intelligence. Jika diartikan Artificial memiliki makna buatan,

BAB 2 TINJAUAN TEORI. Artificial Intelligence. Jika diartikan Artificial memiliki makna buatan, BAB 2 TINJAUAN TEORI 2.1 Kecerdasan Buatan Kecerdasan buatan adalah sebuah istilah yang berasal dari bahasa Inggris yaitu Artificial Intelligence. Jika diartikan Artificial memiliki makna buatan, sedangkan

Lebih terperinci

Kecerdasan Buatan (Artificial Intelligence) Muhammad Dahria

Kecerdasan Buatan (Artificial Intelligence) Muhammad Dahria Kecerdasan Buatan (Artificial Intelligence) Muhammad Dahria Abstrak Kecerdasan Buatan (Artificial Intelligence) merupakan salah satu bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer)

Lebih terperinci

H. A. Simon [1987] : Rich and Knight [1991]:

H. A. Simon [1987] : Rich and Knight [1991]: H. A. Simon [1987] : Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang - dalam pandangan

Lebih terperinci

1. PENGANTAR KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)

1. PENGANTAR KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) 1. PENGANTAR KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) 1.1 DEFINISI KECERDASAN BUATAN Definisi Kecerdasan Buatan H. A. Simon [1987] : Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian,

Lebih terperinci

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

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed) Kecerdasan Buatan Pertemuan 03 Pencarian Branch & Bound dan Heuristik (Informed) Husni Lunix96@gmail.com http://www.facebook.com/lunix96 http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM,

Lebih terperinci

Artificial intelligence

Artificial intelligence Artificial intelligence Team teaching: Sri Winiarti, Andri Pranolo, dan Anna Hendri SJ Andri Pranolo W : apranolo.tif.uad.ac.id M : 081392554050 E : andri.pranolo@tif.uad.ac.id Informatics Engineering,

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Graf 2.1.1 Definisi Graf Graf adalah pasangan himpunan (V, E), dan ditulis dengan notasi G = (V, E), V adalah himpunan tidak kosong dari verteks-verteks {v 1, v 2,, v n } yang

Lebih terperinci

Artificial Intelegence. Eka Yuniar

Artificial Intelegence. Eka Yuniar Artificial Intelegence Eka Yuniar DEFINISI Awalnya komputer difungsikan sebagai alat hitung. Seiring dengan perkembangan jaman, komputer diharapkan dapatdiberdayakan untuk mengerjakan segala sesuatu yang

Lebih terperinci

KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) By :Suthami A.

KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) By :Suthami A. KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) By :Suthami A. Definisi Kecerdasan buatan (Artificial Intelligence) : Bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat melakukan

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Teknologi Jaringan Komunikasi

BAB 2 LANDASAN TEORI. 2.1 Teknologi Jaringan Komunikasi BAB 2 LANDASAN TEORI Bab ini akan menjelaskan tentang landasan teori yang digunakan pada penelitian tugas akhir ini. Pemaparan ini bertujuan untuk memberikan pemahaman lebih mendalam kepada penulis serta

Lebih terperinci

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

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PERGERAKAN CHESS KNIGHT DALAM PAPAN CATUR SIMULASI PERGERAKAN CHESS KNIGHT DALAM PAPAN CATUR Dini MH. Hutagalung Program Studi Sistem Informasi Universitas Sari Mutiara Indonesia mhdini@gmail.com ABSTRAK Sistem produksi ( production system) merupakan

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH : PENGANTAR KECERDASAN BUATAN (AK ) FAKULTAS / JURUSAN : TEKNIK INFORMATIKA / S-1 SKS/SEMESTER : 2/8

SATUAN ACARA PERKULIAHAN MATA KULIAH : PENGANTAR KECERDASAN BUATAN (AK ) FAKULTAS / JURUSAN : TEKNIK INFORMATIKA / S-1 SKS/SEMESTER : 2/8 SATUAN ACARA PERKULIAHAN MATA KULIAH : PENGANTAR KECERDASAN BUATAN (AK-045218) FAKULTAS / JURUSAN : TEKNIK INFORMATIKA / S-1 SKS/SEMESTER : 2/8 Minggu Pokok Bahasan Ke Dan TIU 1 Pengenalan Kecerdasasan

Lebih terperinci

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

Pengembangan Teknik Pencarian Optimal Menggunakan Algoritma Generate and Test dengan Diagram Precedence (GTPRE) Pengembangan Teknik Pencarian Optimal Menggunakan Algoritma Generate and Test dengan Diagram Precedence (GTPRE) Development of Optimal Search Using Generate and Test Algorithm with Precedence Diagram (GTPRE)

Lebih terperinci

BAB 3 PENANGANAN JARINGAN KOMUNIKASI MULTIHOP TERKONFIGURASI SENDIRI UNTUK PAIRFORM-COMMUNICATION

BAB 3 PENANGANAN JARINGAN KOMUNIKASI MULTIHOP TERKONFIGURASI SENDIRI UNTUK PAIRFORM-COMMUNICATION BAB 3 PENANGANAN JARINGAN KOMUNIKASI MULTIHOP TERKONFIGURASI SENDIRI UNTUK PAIRFORM-COMMUNICATION Bab ini akan menjelaskan tentang penanganan jaringan untuk komunikasi antara dua sumber yang berpasangan.

Lebih terperinci

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) Kode / Nama Mata Kuliah : A11. 54605 / Kecerdasan Buatan Revisi 2 Satuan Kredit Semester : 3 SKS Tgl revisi : Februari 2014 Jml Jam kuliah dalam seminggu

Lebih terperinci

Masalah, Ruang Masalah dan Pencarian

Masalah, Ruang Masalah dan Pencarian Masalah, Ruang Masalah dan Pencarian Review : Sistem yang menggunakan AI Komputer Input Masalah Pertanyaan dll Basis Pengetahuan Motor Inferensi Output Jawaban Solusi Untuk membangun sistem yang mampu

Lebih terperinci

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang BAB III ALGORITMA BRANCH AND BOUND Algoritma Branch and Bound merupakan metode pencarian di dalam ruang solusi secara sistematis. Ruang solusi diorganisasikan ke dalam pohon ruang status. Pohon ruang status

Lebih terperinci

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe Penerapan Metode Best First Search Pada Permainan Tic Tac Toe Harvei Desmon Hutahaean STMIK Pelita Nusantara, Jl. Iskandar Muda No. 1 Medan, Sumatera Utara, Indonesia http : // www.penusa.ac.id, Email:

Lebih terperinci

Algoritma A* untuk AI Path Finding bagi NPC

Algoritma A* untuk AI Path Finding bagi NPC Algoritma A* untuk AI Path Finding bagi NPC Pendahuluan Definisi AI Kecerdasan Buatan merupakan bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat melakukan pekerjaan seperti

Lebih terperinci

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Strategi Pembelajaran KONTRAK KULIAH DAN PREVIEW MATERI. PENGENALAN KECERDASAN BUATAN a.

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Strategi Pembelajaran KONTRAK KULIAH DAN PREVIEW MATERI. PENGENALAN KECERDASAN BUATAN a. SILABUS MATAKULIAH Revisi : 2 Tanggal Berlaku : Maret 2014 A. Identitas 1. Nama Matakuliah : A11. 54605 / Kecerdasan Buatan 2. Program Studi : Teknik Informatika-S1 3. Fakultas : Ilmu Komputer 4. Bobot

Lebih terperinci

Informed Search (Heuristic) & Eksplorasinya

Informed Search (Heuristic) & Eksplorasinya Informed Search (Heuristic) & Eksplorasinya Chastine Fatichah Teknik Informatika Institut Teknologi Sepuluh Nopember November 2012 1 / 21 Pokok Bahasan Uninformed search strategies Best-first search Greedy

Lebih terperinci

Mendeteksi Blob dengan Menggunakan Algoritma BFS

Mendeteksi Blob dengan Menggunakan Algoritma BFS Mendeteksi Blob dengan Menggunakan Algoritma BFS Ahmad Fajar Prasetiyo (13514053) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax Romi Fadillah Rahmat, Muhammad Anggia Muchtar, Dedy Arisandi Fakultas MIPA Program Studi Teknologi Informasi Universitas

Lebih terperinci

STUDI PENERAPAN ALGORITMA DIJKSTRA DAN ALGORITMA A* DALAM MENENTUKAN RUTE TERPENDEK PADA ROBOT PEMADAM API

STUDI PENERAPAN ALGORITMA DIJKSTRA DAN ALGORITMA A* DALAM MENENTUKAN RUTE TERPENDEK PADA ROBOT PEMADAM API STUDI PENERAPAN ALGORITMA DIJKSTRA DAN ALGORITMA A* DALAM MENENTUKAN RUTE TERPENDEK PADA ROBOT PEMADAM API Akhmad Alfan Hidayatullah, Anik Nur Handayani, Muhammad Jauharul Fuady Teknik Elektro - Universitas

Lebih terperinci

TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI

TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI 1. Definisikan masalah dengan tepat 2. Analisa masalahnya 3. Representasikan task knowledge 4. Pilih dan gunakan representasi dan teknik reasoning Untuk mendefinisikan

Lebih terperinci

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

KI Kecerdasan Buatan Materi 7: Pencarian dgn. Batasan Kondisi (Constraint Satisfaction Problems) [AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" 3rd Ed., Prentice Hall, New Jersey, 200 KI09322 Kecerdasan Buatan Materi 7: Pencarian dgn. Batasan Kondisi (Constraint

Lebih terperinci