Agen Logika
Agen Logika
4.1. Pengetahuan berbasis agen
Konsep dasar dari agen berbasis
pengetahuan, yakni mengetahui hal-hal tentangdunia dan dapat
melakukan reasoning (berpikir, bernalar) mengenai :
1.
Hal-hal yang tidak diketahui sebelumnya ( imperfect/partial information
)
2.
Tindakan yang paling baik untuk diambil ( best action ) Hal-hal yang
harus dipenuhi ketika membuat agen pengetahuan, antara lain:
3.
Dapat merepresentasikan world, state, action.
4.
Dapat menerima informasi baru (dan mengupdate representasinya)
5.
Dapat menyimpulkan pengetahuan lain yang tidak eksplisit ( hidden
property )
6.
Dapat menyimpulkan action apa yang perlu diambil.
4.2. Logika
Bahasa formal untuk merepresentasikan fakta sedemikian sehingga.
kesimpulan (fakta baru, jawaban) dapat ditarik. Ada banyak metode inference
yang diketahui. Kita bisa membangun agent Wumpus World dengan logika:
memanfaatkan perkembangan logika oleh ahli matematika, filsafat selama ratusan
tahun.
4.3. Logika Proposi / logika sederhana : sintaks, semantik, inferensi, ekuivalen,
validitas dan satisfiabilitas
Ø Sintaks
Sintaks merupakan kumpulan aturan
yang mendefinisikan suatu bentuk bahasa. Sintaks mendefinisikan bagaimana suatu
kalimat dibentuk sebagai barisan/urutan dari pemilihan suatu kata dasar.
Sintaks dari bahasa pemrograman didefinisikan dengan dua kumpulan aturan, yaitu
aturan lexical dan aturan syntactic.
Sintaks berfungsi menyediakan
bentuk-bentuk notasi untuk komunikasi antar programmer dan pemroses bahasa
pemrograman sehingga dapat mempermudah pembuatan suatu program.
Suatu bahasa pemrograman juga
dibangun berdasarkan elemen-elemen syntactic, yang dapat membentuk suatu
statement-statement dalam bahasa pemrograman. Elemen-elemen tersebut antara
lain :
·
Himpunan Karakter
·
Identifier
·
Simbol untuk operator
·
Keyword dan reserved word
·
Noise word
·
Komentar
·
Blank
·
Delimiter dan tanda kurung
·
Ekspresi
Ø Semantik
Sintak mendifinisikan suatu
bentuk program yang benar dari suatu bahasa. Semantic mendefinisikan arti dari
program yang benar secara sintak dari bahasa tersebut. Semantic suatu bahasa
membutuhkan semacam ekspresi untuk mengirimkan suatu nilai kebenaran (TRUE,
FALSE, NOT atau nilai integer). Dalam banyak kasus, program hanya dapat
dieksekusi jika benar, serta mengikuti aturan sintak dan semantic.
Semantic suatu bahasa pemrograman
mempunyai banyak potensial / keunggulan, beberapa diantaranya adalah :
·
Standarisasi bahasa pemrograman.
·
Referensi untuk user.
·
Pembuktian dari program yang benar.
·
Referensi untuk implementor.
·
Implementasi otomatis.
·
Operational semantic
·
Detonational semantic.
·
Axiomatic semantic.
·
Algebraic semantic.
·
Structured operational semantic atau natural semantic.
Ø Inferensi
Metode inferensi adalah suatu
teknik/metode untuk menurunkan kesimpulan berdasarkan hipotesa yang diberikan,
tanpa harus menggunakan table kebenaran. Beberapa metode inferensi untuk
menentukan validitas adalah sebagai berikut :
·
Modus Ponens
·
Modus Tollens
·
Silogisme
Ø
Validitas
Menurut Azwar (1986) validitas
berasal dari kata validity yang mempunyai arti sejauh mana ketepatan dan
kecermatan suatu alat ukur dalam melakukan fungsi ukurnya. Menurut Arikunto
(1999) validitas adalah suatu ukuran yang menunjukkan tingkat kesahihan suatu
tes. Menurut Nursalam (2003) validitas adalah suatu ukuran yang menunjukkan
tingkat kevalidan atau kesahihan suatu instrumen. Berdasarkan beberapa pendapat
tentang pengertian validitas di atas, maka dapat diambil kesimpulan bahwa
validitas adalah suatu standar ukuran yang menunjukkan ketepatan dan kesahihan
suatu instrumen.
Suatu Kalimat logika f bersifat
valid jika untuk setiap interpretasinya I for f, f bernilai true.
Contoh :
·
(f and g) if
and only if (g and f)
·
f or not f
·
[p and (if r
then s)] if only if [(if r then s ) and p]
·
[p or q) or
not (p or q)
·
(if p then
not q) if and only if not (p and q)
Ø
Satisfiability
Sebuah proposisi majemuk
dikatakan satisfiable jika ada minimal satu nilai tabel kebenarannya yang
bernilai TRUE (benar), Jika proposisi majemuk tersebut tidak memiliki nilai
TRUE (benar) sama sekali dalam tabel kebenarannya, maka proposisi majemuk
tersebut disebut tidak satisfiable.
4.4. Pola penalaran (reasoning pattern) pada logika proposisi : resolusi,
backward & forward chaining
Ø Resolusi
Resolusi merupakan suatu teknik
pembuktian yang lebih efisien, sebab fakta-fakta yang akan dioperasikan
terlebih dahulu dibawa ke bentuk standar yang sering disebut dengan nama
klausa.
Resolusi adalah suatu aturan
untuk melakukan inferensi yang dapat berjalan secara efisien dalam suatu bentuk
khusus conjunctive normal form (CNF). Pada logika proposisi, prosedur untuk
membuktikan proposisi P dengan beberapa aksioma F yang telah diketahui, dengan
menggunakan resolusi.
Algoritma resolusi :
·
Konversikan
semua proposisi F ke bentuk CNF.
·
Negasikan P,
dan konversikan hasil negasi tersebut ke bentuk klausa. Tambahkan ke himpunan
klausa yang telah ada pada langkah 1.
·
Kerjakan
hingga terjadi kontradiksi atau proses tidak mengalami kemajuan :
·
Seleksi 2
klausa sebagai klausa parent.
·
Bandingkan
(resolve) secara bersama-sama. Klausa hasil resolve tersebut dinamakan
resolvent. Jika ada pasangan literal L dan ¬L, eliminir dari resolvent.
·
Jika
resolvent berupa klausa kosong, maka ditemukan kontradiksi. Jika tidak,
tambahkan ke himpunan klausa yang telah ada.
Ø Forward Chaining
Forward chaining merupakan metode
inferensi yang melakukan penalaran dari suatu masalah kepada solusinya. Jika
klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan
menyatakan konklusi. Forward chaining adalah data-driven karena inferensi
dimulai dengan informasi yang tersedia dan baru konklusi diperoleh. Jika suatu
aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward
chaining.
Ø Backward Chaining
Menggunakan pendekatan
goal-driven, dimulai dari harapan apa yang akan terjadi (hipotesis) dan
kemudian mencari bukti yang mendukung (atau berlawanan) dengan harapan kita.
Sering hal ini memerlukan perumusan dan pengujian hipotesis sementara. Jika
suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan
backward chaining.
4.5. Inferensi proposi yang efektif : algoritma backtracking, algoritma
pencarian lokal
1. Algoritma Backtracking
Algoritma backtracking merupakan salah
satu metode pemecahan masalah yang termasuk dalam strategi yang berbasis
pencarian pada ruang status. Algoritma backtracking bekerja secara rekursif dan
melakukan pencarian solusi persoalan secara sistematis pada semua kemungkinan
solusi yang ada. Oleh karena algoritma ini berbasis pada algoritma Depth-First
Search (DFS), maka pencarian solusi dilakukan dengan menelusuri struktur
berbentuk pohon berakar secara preorder. Algoritma backtracking merupakan
bentuk tipikal dari algoritma rekursif.Saat ini algoritma backtracking
banyak diterapkan untuk program games (seperti permainan tic-tac-toe, menemukan
jalan keluar dalam sebuah labirin, catur, dll) dan masalah-masalah pada
bidang kecerdasan buatan (artificial intelligence).
2. Algoritma Pencarian Lokal
Pencarian lokal berusaha untuk
melakukan optimasi, misalnya dengan teknik Hill Climbing. Teknik Hill Climbing
dapat digunakan untuk memecahkan persoalan yang memiliki banyak alternatif
solusi untuk kemudian memilih solusi yang terbaik. Cara kerjanya dimulai dengan
memilih solusi acak, kemudian dilakukan perubahan sedikit demi sedikit, setiap
perubahan menghasilkan solusi yang lebih baik. Saat perubahan yang dilakukan
tidak lagi mendapatkan solusi yang lebih baik, algoritma Hill Climbing akan
berhenti mencari dan menentukan solusi terakhir sebagai solusi yang optimal.
Contoh penggunaan Hill Climbing pada kecerdasan buatan adalah pencarian rute
terbaik, dari berbagai kemungkinan rute yang ada.
4.6. Agen berbasis logika proposisi
1.
Problem Solving Agent : memilih solusi diantara kemungkinan yang ada.
Apa yang ia “ketahui” tentang dunia, pengetahuannya tidak berkembang untuk
mencapai problem solution.
2.
Knowledge-based Agent : lebih “pintar”. Ia “mengetahui hal-hal tentang
dunia dan dapat melakukan reasoning (berfikir, bernalar) mengenai :
·
Hal-hal yang tidak diketahui sebelumnya
·
Tindakan yang paling baik untuk diambil
Daftar Pustaka
Komentar
Posting Komentar