Anda di halaman 1dari 67

Pertemuan 3 & 4

ARTIFICIAL INTELLIGENCE

SEARCHING

REASONING

PLANNING

LEARNING

BLIND/UN-INFORMED SEARCH METODE PENCARIAN HEURISTIK FUNGSI HEURISTIK

PROPORTIONAL LOGIC FIRST ORDER LOGIC FUZZY SYSTEMS

GOAL STACK PLANNING CONSTRAINT POSTING

DECISION TREE LEARNING NEURAL NETWORK GENETIC ALGORITHM

Pemecahan Masalah oleh Agen


Agen berorientasi tujuan (Goal-based agent)

mempertimbangkan aksi-aksi yang akan datang dan hasil yang ingin dicapai Pemecahan masalah oleh agen (Problem-Solving Agents) merupakan salah satu macam Goal-based agent Pemecahan masalah oleh Agen yaitu dengan cara menemukan urutan aksi-aksi untuk mencapai tujuan

Formulasi Tujuan dan Masalah


Formulasi Tujuan
Kondisi saat ini

Ukuran performansi

Formulasi Masalah
Proses Menemukan state dan aksi-aksi yang akan

dilakukan untuk mencapai tujuannya

Pencarian
input problem, output solusi dalam bentuk urutan aksi-

aksi

Algoritma Pemecahan Masalah Sederhana oleh Agen


Function Simple-Problem-Solving-Agent(percept) return an action Input : percept //a percept Static : seq //an action sequence, initially empty state //some description of the current world state goal //a goal, initially null problem //a problem formulation State Update-State(state, percept) If seq is empty then do goal Formulate-Goal(state) problem Formulate-Problem(state,goal) seq Search(Problem) Action First(seq) Seq Rest(seq) Return action

Algoritma Pemecahan Masalah Sederhana oleh Agen


Merumuskan tujuan dan permasalahan, kemudian

melakukan pencarian dengan aksi-aksi yang berurutan yang akan menyelesaikan masalah, dan menjalankan aksi-aksi pada suatu waktu. Jika selesai merumuskan tujuan lain dan ulangi lagi.

Agen & Lingkungan


Pada algoritma pemecahan masalah sederhana diatas maka lingkungan agen sbb:
Static Karena perumusan dan pemecahan masalah sudah dilakukan tanpa memperhatikan perubahan yang terjadi pada lingkungan Observable Karena initial state diketahui (di Arad) dengan adanya peta Discreet Aksi-aksi nya dapat digambarkan Deterministic Tidak bisa menangani terhadap hal-hal yang tidak diperkirakan

Definisi Masalah dan Solusi


4 Komponen Problem Initial State (Inisialisasi state awal) Actions : Successor function : (menemukan state/aksi berikutnya yang mungkin)

Successor-Fn(x) = <Action,Successor>

Goal Test (menentukan tujuan/goal state) Path Cost (nilai dari solusi path atau urutan state/aksi

yang mencapai tujuan)

Solusi yang optimal path cost terkecil

Contoh Kasus
Agen kita sedang berlibur dan sekarang sedang di

kota Arad Romania Besok dia harus naik pesawat dari Bucharest Tujuan (Goal) dari agen sekarang adalah pergi ke Bucharest Aksi yang tidak berhubungan dengan tujuan akan dibuang keputusan agen lebih sederhana

Contoh Kasus
Agen Mencapai tujuan (ke Bucharest) dengan naik

mobil Kemana akan pergi setelah dari Arad ?


Ada tiga jalan : ke Sibiu, Timisoara, Zerind

Agent kita ini masih belum tahu jalan disana (mana

yang tercepat) tapi hanya memiliki peta. Dari informasi peta, dilakukan hipotesa terhadap ketiga jalur tsb untuk sampai ke Bucharest

Solusi Path Cost Agen

Formulasi Masalah dan Tujuan Agen


Formulasi Tujuan Tiba di Bucharest besok Formulasi Masalah States : kota-kota Actions : mengemudi antar kota Solusi Urutan kota : Arad-Sibiu-Rimicu Vilcea-PitestiBucharest

Definisi Masalah dan Solusi


Initial State In(Arad) Actions : Successor function

{<Go(Sibiu),In(Sibiu)>, <Go(Timisoara),In(Timisoara)>,<Go(Zerin d),In(Zerind)>} Goal Test {In(Bucharest)} Path Cost 418 (Arad-Sibiu-Rimicu Vilcea-PitestiBucharest)

Contoh Lain :
Toy Problem
Diharapkan bisa mengilustrasikan berbagai macam metode problem-

solving Membandingkan performa algoritma Akan dibahas untuk kasus : vacum cleaner, 8-puzle, 8-Queen Problem

Reald World Problem


Airline Travel Problem Touring Problem Traveling Salesman Problem VLSI Layout Robot Navigation Automatic Assembly Sequencing Internet Searching

Toy Problem

Vacuum Cleaner

States : Berada di salah satu dari dua lokasi yang ada, yg masing2 mungkin bersih atau kotor. Jadi jml kemungkinan state = 2 * 22 Initial State ? Successor Function ? . Goal Test ? Path Cost ?

Toy Problem
Vacuum Cleaner
States : Berada di salah satu dari

dua lokasi yang ada, yg masing2 mungkin bersih atau kotor. Jadi jml kemungkinan state = 2 * 22 Initial State : sembarang state Successor Function : (kekiri,kekanan,bersihkan) Goal Test : Semua lokasi bersih Path Cost : jumlah aksi-aksi yang paling sedikit dilakukan. Setiap aksi = 1 point

Toy Problem

The 8-Puzzles
State :

? Initial State : ? Successor Function : ? Goal Test : ? Path Cost : ?

Toy Problem
The 8-Puzzles
State : lokasi dari 8 kotak angka dan 1 kotak kosong Initial State : sembarang state Successor Function : (kotak kosong bergerak kekiri, kekanan,

keatas atau kebawah) Goal Test : Tersusun kotak angka yang diinginkan Path Cost : Setiap bergerak bernilai 1

Toy Problem
8-Queen Problem
State : ? Initial State : ? Successor

. . . .

Function : ? Goal Test : ?

8-Queen Problem

Toy Problem
State : susunan 0..8 ratu pada

papan catur Initial State : Tidak ada ratu pada papan catur Successor Function : Masukkan ratu ke papan catur Goal Test : Tidak ada ratu yang saling serang

Real World Problem


Airline Travel Problem
Touring Problem Traveling Salesman Problem VLSI Layout Robot Navigation Automatic Assembly Sequencing Internet Searching

Latihan
Tentukan initial state, goal test, successor function dan cost

function pada tiap permasalahan dibawah ini: Kamu harus mewarnai peta hanya menggunakan 4 warna, dimana tidak diperbolehkan 2 kota yang bertetanggaan (berhubungan) mempunyai warna yang sama Ada sebuah monyet dengan tinggi 3 kaki berada disuatu ruangan, pada ruangan tersebut terdapat beberapa pisang yang terletak di atap dengan ketinggian 8 kaki dari lantai. Monyet tersebut akan mengambil pisang tersebut. Pada ruangan tersebut terdapat 2 peti kayu. Dan monyet tsb bisa memanjat dan melompat meraih pisang. Kamu mempunyai 3 tempat air, dengan ukuran 12 galon, 8 galon dan 3 galon dan air. Kamu dapat menakar air dari galon satu ke galon lainnya sampai mendapatkan air tepat berukuran satu galon

Metode Pencarian
Terdapat banyak metode yang telah diusulkan.

Semua metode yang ada dapat dibedakan ke dalam 2

jenis : 1. Pencarian buta / tanpa informasi (blind / un-informed search) 2. Pencarian heuristik / dengan informasi (heuristic atau informed search)
setiap metode mempunyai karakteristik yang berbeda-

beda dengan kelebihan dan kekurangan masing-masing.

4 Kriteria mengukur performansi


1. Completeness : Apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada? 2. Time complexity : Berapa lama waktu yang diperlukan ? 3. Space complexity : Berapa banyak memori yang diperlukan ? 4. Optimality : Apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi yang berbeda ?

Heuristic Searching
Sebagai Dasar dari Kecerdasan Buatan
Para peneliti awal kecerdasan buatan menitik beratkan

pada penyelesaian masalah yang tidak menggunakan metoda komputasi konvensional. konvensional tidak dapat lagi digunakan.

Hal ini disebabkan metoda pemecahan masalah Permasalahan pada sistem KB tidak memiliki algoritma

tertentu. Kalaupun ada tentulah sangat kompleks.

Karena itu haruslah ditemukan sebuah teknik baru

yang mirip dengan cara yang digunakan oleh manusia untuk menyelesaikan masalah dan dapat diimplementasikan pada komputer.

Salah satu metoda yang cukup terkenal adalah metoda searching.

Searching dalam sebuah struktur data telah menjadi dasar bagi algoritma komputer, tetapi proses searching pada KB memiliki perbedaan. Metoda searching pada KB merupakan searching terhadap problem space bukan searching data (e.g., angka, karakter, string) tertentu.

Proses searching ini berupa jalur yang menggambarkan keadaan awal sebuah masalah

menuju kepada penyelesaian masalah yang diinginkan (i.e., the solved problem).
Jalur-jalur ini mengambarkan langkah-langkah

penyelesaian masalah.
Melalui proses searching menuju sebuah penyelesaian akan terbentuk sebuah solution

space.

Perhatikan contoh penyelesaian masalah komputer pada Gambar 1.4. Langkah pertama untuk mengetahui apakah

komputer dapat digunakan atau tidak adalah men-switch ON. Selanjutnya dengan melakukan inspeksi terhadap kondisi lampu indikator kita dapat menentukan langkah berikutnya. Misalnya kondisi lampu OFF. Dengan melakukan searching terhadap problem space kita akan tiba pada sebuah penyelesaian masalah agar komputer dapat diaktifkan kembali.

BLIND / UN-INFORMED SEARCH


Istilah blind atau buta digunakan karena memang tidak ada informasi awal yang digunakan dalam proses pencarian. Berikut ini, sekilas 6 metode yang tergolong blind search
a. b. c. d. e. f.

Breadth-First Search (BFS) Depth-First Search (DFS) Depth-Limited Search (DLS) Uniform Cost Search (UCS) Iterative-Deepening Search (IDS) Bi-Directional Search (BDS)

1. Breadth-first Search
Breadth-first search (BFS) melakukan proses

searching pada semua node yang berada pada level atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses searching pada node di level berikutnya. Urutan proses searching BFS ditunjukkan dalam Gambar 1.6 adalah: A,B,C,D,E,F,

Pada metode Breadth-First Search, semua node pada

level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1
Pencarian dimulai dari node akar terus ke level ke-1

dari kiri ke kanan, kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan hingga ditemukannya solusi

Tidak akan menemui jalan buntu (solusi lebih

optimal)
Jika ada satu solusi, maka breadth-first search akan

menemukannya. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan.

Membutuhkan memori yang cukup banyak, karena

menyimpan semua node dalam satu pohon (membutuhkan simpul yam umumnya relatif banyak)
Membutuhkan waktu yang cukup lama, karena akan

menguji n level untuk mendapatkan solusi pada level yang ke-(n+1)

2. Depth-first Search
Depth-first search (DFS) adalah proses searching

sistematis buta yang melakukan ekpansi sebuah path (jalur) menuju penyelesaian masalah sebelum melakukan ekplorasi terhadap path yang lain. Proses searching mengikuti sebuah path tunggal sampai menemukan goal atau dead end. Apabila proses searching menemukan dead-end, DFS akan melakukan penelusuran balik ke node terakhir untuk melihat apakah node tersebut memiliki path cabang yang belum dieksplorasi.

Apabila cabang ditemukan, DFS akan melakukan cabang

tersebut. Apabila sudah tidak ada lagi cabang yang dapat dieksplorasi, DFS akan kembali ke node parent dan melakukan proses searching terhadap cabang yang belum dieksplorasi dari node parent sampai menemukan penyelesaian masalah.

Kelebihan DFS adalah:


Pemakaian memori hanya sedikit, berbeda jauh

dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan. Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.

Kelemahan DFS adalah:


Jika pohon yang dibangkitkan mempunyai level

yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete). Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal).

3. Depth-Limited Search (DLS)


Metode ini berusaha mengatasi kelemahan DFS

(tidak complete) dengan membatasi kelemahan maksimum dari suatu jalur solusi.
Tetapi, sebelum menggunakan DLS, kita harus tahu

berapa level maksimum dari suatu solusi.

Definisi
Algoritma Depth-Limited Search (DLS), adalah salah

satu jenis algoritma pencarian solusi. Algoritma ini dijalankan dengan cara membangkitkan pohon pencarian secara dinamis. Pencarian solusi dilakukan secara mendalam.
Pada dasarnya, algoritma DLS sama dengan algoritma

DFS, hanya saja dalam permasalahan penelusuran graf, sebelumnya ditentukan terlebih dahulu batas maksimum level yang dikunjungi.

Algoritma
Misalkan terdapat graf/pohon dengan n buah simpul dan v merupakan

simpul awal penelusuran maka algoritma DFS adalah sebagai berikut:


Tentukan batas kedalaman pohon yang akan dikunjungi.

1.

Kunjungi simpul v.

2.

3.

Kunjungi simpul w yang bertetangga dengan simpul v, yang berada di kedalaman pohon <= batas.

Ulangi DLS mulai dari simpul w.

4.

5.

Ketika mencapai simpul u sedemikian sehingga semua simpul yang bertetangga dengannya telah dikunjungi, pencarian dirunut-balik (backtrack) ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul w yang belum dikunjungi.

6.

Pencarian berakhir bila tidak ada lagi simpul yang belum dikunjungi yang dapat dicapai dari simpul yang telah dikunjungi dalam kedalaman pohon <= batas.

Kelebihan dan Kekurangan


DLS lahir untuk mengatasi kelemahan DFS(tidak

complete) dengan membatasi kedalaman maksimum dari suatu jalur solusi. Tetapi harus diketahui atau ada batasan dari sistem tentang level maksimum. Jika batasan kedalaman terlalu kecil, DLS tidak complete.

Contoh 1

Bila simpul awal adalah 1 dan batas kedalaman adalah 3 maka urutan dikunjunginya adalah 1, 2, 4, 5, 3, 6,7.

Contoh 2

Bila simpul awal juga 1 dan batas kedalaman adalah 3 maka urutan dikunjunginya adalah 1, 2, 5, 6, 3, 7, 4

Metode Pencarian Heuristik


Pencarian buta tidak selalu dapat diterapkan dengan

baik, hal ini disebabkan waktu aksesnya yang cukup lama serta besarnya memori yang dibutuhkan. Kelemahan ini sebenarnya dapat diatasi jika ada informasi tambahan (fungsi heuristik) dari domain yang bersangkutan.

Metode Pencarian Heuristik


Heuristik adalah sebuah teknik yang mengembangkan

efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness). Untuk dapat menerapkan heuristik tersebut dengan baik dalam suatu domain tertentu, diperlukan suatu Fungsi Heuristik. Fungsi heuristik digunakan untuk menghitung path cost suatu node tertentu menuju ke node tujuan.

Fungsi Heuristik

Kasus 8-puzzle Ada 4 operator yang dapat digunakan untuk menggerakkan dari satu keadaan (state) ke keadaan yang baru.

Geser ubin kosong ke kiri Geser ubin kosong ke kanan Geser ubin kosong ke atas Geser ubin kosong ke bawah

Informasi yang diberikan dapat berupa jumlah ubin

yang menempati posisi yang benar. Jumlah yang lebih tinggi adalah yang diharapkan. Sehingga langkah selanjutnya yang harus dilakukan adalah menggeser ubin kosong ke kiri.

Informasi yang diberikan berupa straight-line distance (jarak dalam garis lurus) antara tiap kota dengan Bucharest.

Metode Pencarian Heuristik


1.
2. 3.

4.
5. 6.

Generate and Test (Pembangkit dan Pengujian) Hill Climbing (Pendakian Bukit) Best First Search (Pencarian Terbaik Pertama) Simulated Annealing A* Djikstra

Generate and Test


Metode Generate-and-Test (GT) adalah metode yang paling sederhana dalam teknik pencarian heuristik. Di dalam GT, terdapat dua prosedur penting:
Pembangkit (generate), yang membangkitkan semua

solusi yang mungkin. Test, yang menguji solusi yang dibangkitkan tersebut.

Algoritma GT menggunakan prosedur Depth First Search karena suatu solusi harus dibangkitkan secara lengkap sebelum dilakukan Test.

Generate and Test


Jika pembangkitan atau pembuatan solusisolusi yang

dimungkinkan dapat dilakukan secara sistematis, maka prosedur ini akan dapat segera menemukan solusinya, (bila ada). Namun, jika ruang problema sangat besar, maka proses ini akan membutuhkan waktu yang lama. Metode generate and test ini kurang efisien untuk masalah yang besar atau kompleks

Generate and Test


Travelling Salesman Problem (TSP) Seorang salesman ingin mengunjungi sejumlah n

kota. Akan dicari rute terpendek di mana setiap kota hanya boleh dikunjungi tepat 1 kali. Jarak antara tiap-tiap kota sudah diketahui. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti terlihat pada gambar berikut.

A
3

8 4

B
5

Generate and Test


Penyelesaian dengan menggunakan Generate-and-Test

dilakukan dengan membangkitkan solusi-solusi yang mungkin dengan menyusun kota-kota dalam urutan abjad, yaitu: A-B-C-D A-B-D-C A-C-B-D A-C-D-B dan seterusnya

Generate and Test

Misalkan kita mulai dari node A. Kita pilih sebagai

keadaan awal adalah lintasan ABCD dengan panjang lintasan = 18. Kemudian kita lakukan backtracking untuk mendapatkan lintasan ABDC dengan panjang lintasan = 19.

Generate and Test


Lintasan ini kita bandingkan dengan lintasan ABCD,

ternyata ABDC > ABCD, sehingga lintasan terpilih adalah ABCD. Kita lakukan lagi backtracking untuk mendapatkan lintasan ACBD (=16), ternyata ACBD < ABCD, maka lintasan terpilih sekarang adalah ACBD. Demikian seterusnya hingga ditemukan solusi yang sebenarnya. Salah satu kelemahan dari metode ini adalah perlunya dibangkitkan semua kemungkinan solusi sehingga membutuhkan waktu yang cukup besar dalam pencariannya.

Generate and Test


ALGORITMA : Initial State : Keadaan awal yg diberikan Goal State : Rute terpendek Buatlah/bangkitkan semua solusi yang memungkinkan. Solusi bisa berupa suatu keadaan (state) tertentu. Solusi juga bisa berupa sebuah jalur dari satu posisi asal ke posisi tujuan, seperti dalam kasus pencarian rute dari satu kota asal ke kota tujuan.

Generate and Test


Analisa solusi awal dan hitung jarak yang dibutuhkan

untuk menyelesaikan solusi tersebut. Solusi awal adalah solusi terbaik. Analisa solusi berikutnya. Jika jarak dari solusi berikutnya lebih pendek dari pada jarak solusi sebelumnya, maka solusi berikutnya adalah solusi terbaik. Lakukan sampai seluruh solusi selesai dianalisa

Anda mungkin juga menyukai