Diberdayakan oleh Blogger.
RSS

Metode Pencarian dan Pelacakan

Metode Pencarian dan Pelacakan

PENCARIAN

Metode Pencarian dan Pelacakan

§  Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.
§  Pencarian = suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space).
§  Ruang keadaan = merupakan suatu ruang yang berisi semua keadaan yang mungkin.
§  Untuk mengukur perfomansi metode pencarian, terdapat 4 kriteria yang dapat digunakan :
A.  Completeness : apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada?
B.   Time complexity : berapa lama waktu yang diperlukan? [semakin cepat, semakin baik]
C.   Space complexity : berapa banyak memori yang diperlukan
D.  Optimality : apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi berbeda?

 Dua teknik pencarian dan pelacakan
Pencarian buta (blind search)
• Pencarian melebar pertama (Breadth – First Search)
• Pencarian mendalam pertama (Depth – First Search)
Pencarian terbimbing (heuristic search)
• Pendakian Bukit (Hill Climbing)
• Pencarian Terbaik Pertama (Best First Search)

Pencarian Melebar Pertama (Breadth-First Search)
§  Semua node pada level n akan dikunjungi terlebih dahulu sebelum level n+1
§  Mulai dari akar terus ke level 1 dari kiri ke kanan
§  Kemudian ke level selanjutnya hingga solusi ditemukan


Keuntungan
– Tidak akan menemui jalan buntu
– Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti
yang paling baik
– Jika ada satu solusi maka bread-first search akan menemukannya

Kelemahannya
– Membutuhkan memori yang cukup banyak
– Membutuhkan waktu yang cukup lama

Pencarian mendalam pertama (Depth-First Search)
• Proses pencarian dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel
Keuntungan
– Memori yang relatif kecil
– Secara kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi

Pencarian Heuristik

• Pencarian buta tidak selalu dapat diterapkan dengan baik
– Waktu aksesnya yang cukup lama
– Besarnya memori yang diperlukan
• Metode heuristic search diharapkan bisa menyelesaikan permasalahan yang lebih besar.
• Metode heuristic search menggunakan suatu fungsi yang menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan disebut fungsi heuristic
• Aplikasi yang menggunakan fungsi heuristic : Google, Deep Blue Chess Machine
• Contoh pada masalah 8 puzzle
keadaan awal                                                                             Tujuan



Keadaan Awal Tujuan Pencarian Heuristik
• Operator
– Ubin kosong geser ke kanan
– Ubin kosong geser ke kiri
– Ubin kosong geser ke atas
– Ubin kosong geser ke bawah
• Langkah Awal
Gambar

• Langkah Awal hanya 3 operator yang bisa digunakan
– Ubin kosong digeser ke kiri, ke kanan dan ke atas.
• Jika menggunakan pencarian buta, tidak perlu mengetahui operasi apa yang akan dikerjakan (sembarang)
• Pada pencarian heuristik perlu diberikan informasi khusus dalam domain tersebut
• Untuk jumlah ubin yang menempati posisi yang benar jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih baik)
• Untuk jumlah ubin yang menempati posisi yang salah jumlah yang lebih kecil adalah yang diharapkan (lebih baik).
• Menghitung total gerakan yang diperlukan untuk mencapai tujuan jumlah yang lebih kecil adalah yang diharapkan (lebih baik).

Pencarian Heuristik
• Ada 4 metode pencarian heuristik
Pembangkit & Pengujian (Generate and Test)
Pendakian Bukit (Hill Climbing)
Pencarian Terbaik Pertama (Best First Search)
Simulated Annealing

Pembangkit & Pengujian (Generate and Test)
• Pada prinsipnya metode ini merupakan penggabungan antara depth-first search dengan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal.
Algoritma:
– Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal).
– Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.
– Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah yang pertama.
Contoh : Traveling Salesman Problem (TSP)
Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Ingin diketahui rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali.
Contoh : Traveling Salesman Problem (TSP)
• Generate & test akan membangkitkan semua solusi yang mungkin:
A – B – C – D
A – B – D – C
A – C – B – D
A – C – D – B, dll
Kelemahan dari Pembangkit & Pengujian (Generate and Test) yaitu ;
– Perlu membangkitkan semua kemungkinan sebelum dilakukan pengujian
– Membutuhkan waktu yang cukup lama dalam pencariannya

Pendakian Bukit (Hill Climbing)
• Metode ini hampir sama dengan metode pembangkitan & pengujian, hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristik.
• Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan.
• Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin.


Simple Hill Climbing
Algoritma
– Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
– Kerjakan langkah-langkah berikut sampai solusinya ditemukan, atau sampai tidak ada operator baru yang akan diaplikasikan pada keadaan sekarang:
• Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.
• Evaluasi keadaan baru tersebut.
• Jika keadaan baru merupakan tujuan, keluar.
• Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang.
• Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.
Contoh TSP
• Operator : Tukar kota ke-i dengan kota ke-j (Tk i,j)
• Untuk 4 kota:
Tk 1,2 : tukar kota ke-1 dengan kota ke-2.
Tk 1,3 : tukar kota ke-1 dengan kota ke-3.
Tk 1,4 : tukar kota ke-1 dengan kota ke-4.
Tk 2,3 : tukar kota ke-2 dengan kota ke-3.
Tk 2,4 : tukar kota ke-2 dengan kota ke-4.
Tk 3,4 : tukar kota ke-3 dengan kota ke-4.
• Untuk N kota, akan ada operator sebanyak:

Steepest Ascent Hill Climbing
• Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri.
• Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
• Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.
• Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri.
• Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
• Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.
Algoritma
• Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
• Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang.
• Tentukan SUCC sebagai nilai heuristic terbaik dari successorsuccessor.
• Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang:
• Gunakan operator tersebut dan bentuk keadaan baru.
• 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.
• Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC menjadi keadaan sekarang.


Daftar pustaka :



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Logical Agents


         Logic merupakan jantung dari program, para pemrogram mempunyai keyakinan bahwa sebuah computer dapat dibuat mengerti logika, maka computer dapat dibuat untuk berfikir, karena logika kelihatannya menjadi inti dari kecerdasan.

1.    Problem solving agent hanya bisa menyelesaikan masalah yang lingkungannya accessible
2.    Kita membutuhkan agen yang dapat menambah pengetahuan dan menyimpulkan keadaan
3.    Agent yang akan membantu seperti ini kita beri nama knowledge based agent
4.    Knowledge based agent

Komponen utama dari knowledge based agent adalah knowledge basenya. Knowledge base (KB) adalah kumpulan representasi fakta tentang lingkungan atau dunia yang berhubungan atau menjadi daerah bekerjanya agen. Setiap representasi dalam KB disebut sebagai sebuah sentence yang diekspresikan dalam sebuah bahasa yakni knowledge representation language

1      Representasi Pengetahuan yang bersifat general.
2      Kemampuan beradaptasi sesuai temuan fakta.
3      Kemampuan menyimpulkan sesuatu dari pengetahuan yang sudah ada.

Syarat Representasi KB:
1.    Representational    Adequacykemampuan merepresentasikan semua pengetahuan yang dibutuhkan dalam domainnya
2.    Inferential        Adequacykemampuan memanipulasi struktur pengetahuan untuk membentuk struktur baru dalam menampung pengetahuan baru hasil inferensi
3.    Inferential        Efficiencykemampuan untuk manambahkan informasi untuk mempercepat pencarian dalam inferensi
4.    Acquisitional  Efficiencykemampuan untuk menambah informasi baru secara mudah.

Pengetahuan yang dimiliki agent tidak berguna jika ia tidak melakukan apapun Karenanya kita perlu menambahkan aturan agar dia dapat bergerak (complete the knowledge base).

Beberapa tahapan yang dilakukan dalam menyusun knowledge based agent:

§  Untuk dapat menyusun sebuah knowledge based agent maka kita harus terlebih dulu bisa menyusun knowledge basenya itu sendiri.
§  Untuk menyusun knowledge base kita perlu menentukan bagaimana cara kita merepresentasikan pengetahuan kita (knowledge representation)
§  Knowledge representation kita harus merupakan bentuk yang mudah disimpan dan digunakan pada komputer. Dalam perkuliahan ini kita menggunakan beberapa macam knowledge representation language





award dan dunia wumpus

# award pertama
Yang musti dilakuin :
1.    Banner Award tidak boleh di ubah, baik tulisan ,warna, dan signaturenya. Tapi kalau resize gambar boleh. (Banner ya bukah Header!)
2.    Tuliskan siapa yang ngasih Award dan urlnya: Putri T Prameswara
3.    Pilih 10 female blogger yang kamu kenal dan belum nerima Award ini,dan sebutkan alasan kenapa kamu pikir dia layak dapetin Award ini.

# award kedua dari nuyy.
dan kedua award itu saya bagikan kepada:
2.    Dissa Pidanti

sekarang saatnya kita bermain di dunia Wumpus.

Wumpus merupakan seekor monster yang tinggal di sebuah gua yang terbagi menjadi 16 ruangan. Wumpus dapat mengeluarkan bau busuk (stench). Wumpus akan menjerit dan mati jika terkena panah. Di dalam gua terdapat 3 lubang mematikan (Pit) yang mengeluarkan angin (breeze) yang terasa sampai ruangan-ruangan di sekitarnya. Sebuah agent dilengkapi dengan tiga anak panah yang hanya bisa diarahkan menuju ruangan-ruangan yang searah dengan arah agent menghadap. Agent bisa bergerak hadap kanan, hadap kiri, atau maju. Agent bisa memanjat keluar gua jika berada pada posisi terjepit. Agen akan mati jika memasuki kotak yang terdapat Wumpus atau Pit.



notWumpus(X,Y):-notStench(X,N), Y is N-1.
notWumpus(X,Y):-notStench(X,N), Y is N+1.
notPit(X,Y):-notBreeze(X,N), Y is N+1.
notStench(X,Y):-percept(nStench,-,-,X,Y,-).
dsb dsb




Logic in general - models and entailment
      konsekuensi logis (juga entailment) adalah salah satu konsep yang paling mendasar dalam logika. Ini adalah hubungan antara pernyataan yang berlaku ketika salah satu secara logis berikut dari satu atau lebih orang lain. Sebuah argumenyang logis yang valid adalah satu di mana kesimpulan mengikuti dari tempat yang, dan kesimpulannya merupakan konsekuensi dari bangunan. Analisis filosofis konsekuensi logis melibatkan bertanya, 'dalam arti apa yang kesimpulan mengikuti dari propertinya?' dan 'apa artinya bagi kesimpulan untuk menjadi konsekuensi dari tempat?  Semua logika filosofis dapat dianggap sebagai menyediakan rekening sifat konsekuensi logis, serta kebenaran logis

daftar pustaka :



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS