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

Postingan populer dari blog ini

Penyelesaian Masalah melalui proses Pencarian / Searching

Teknologi Sistem Informasi 2

Logika Orde Pertama (First-Order Logic)