Rabu, 11 Oktober 2017

Agen Logika

TUGAS PENG. TEKNOLOGI SISTEM CERDAS


Nama :Inka Riesty Gunadi
Npm    :13115384
Kelas   :3KA10
Dosen   :Essy Malays Sari Sakti


  


UNIVERSITAS GUNADARMA
2017


PENGENALAN LOGICAL AGENT



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 merepresentasikan fakta sedemikian sehingga dapat menarik kesimpulan (fakta baru, jawaban). Sedangkan pengetahuan merupakan komponen yang penting, sehingga terdapat perbedaan jika diterapkan pada dua agent, yakni problem solving agent dan knowledge-based agent.Agen Berbasis Pengetahuan atau Knowledge Base (KB) merupakan Himpunan representasi fakta yang diketahui tentang lingkungannya. Tiap fakta disebut sebagai sentence. Fakta tersebut dinyatakan dalam bahasa formal sehingga bisa diolah, menambahkan sentence baru ke KB. Inference Engine merupakan menentukan fakta baru yang dapat diturunkan dari pengetahuan yang sudah ada dalam KB. Agen Berbasis Pengetahuan dalam representasi, agent dapat dipandang dari knowledge level. Apa saja informasi yang diketahui? Misal sebuah robot “mengetahui” bahwa gedung B di antara gedung A dan gedung C. Agent dapat dipandang dari implementation level Bagaimana representasi informasi yang diketahuinya? Logical sentence di_antara(gdB, gdA, gdC). Natural language “Gedung B ada di antara gedung A dan gedung C”. Agen Berbasis Pengetahuan, pilihan representasi berpengaruh terhadap apa yang bisa dilakukan inference engine. Pada pendekatan deklaratif programmer memberitahu 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.Agen Berbasis Pengetahuan, permasalahannya adalah bagaimana representasi yang tepat, sehingga ada dua hal yang harus diperhatikan expressive bisa menyatakan fakta tentang environment, Tractable bisa mengolah/ memproses inference engine (dengan cepat). Knowledge merupakan power atau kekuatan dari pemrograman secara deklaratif. Representasi dan penalaran membentuk suatu Intelligence.



1. KNOWLADGE BASE AGENT

Agen Berbasis Pengetahuan, Knowledge Base (KB) menyatakan apa yang “diketahui” oleh si agent Pendekatan deklaratif membangun agent: “beritahu” informasi yang relevan, simpan dalam KB. Agen dapat ditanya (atau bertanya diri sendiri) apa yang sebaiknya dilakukan berdasarkan KB. Maka sebuah agen berbasis pengetahuan harus bisa mereprentasikan world, state, action, dst. Menerima informasi baru (dan meng-update representasinya). Menyimpulkan pengetahuan lain yang tidak eksplisit (hidden property). q Menyimpulkan action apa yang perlu diambil.Agen Berbasis Pengetahuan atau Knowledge Base (KB) merupakan Himpunan representasi fakta yang diketahui tentang lingkungannya. Tiap fakta disebut sebagai sentence. Fakta tersebut dinyatakan dalam bahasa formal sehingga bisa diolah, menambahkan sentence baru ke KB. Inference Engine merupakan menentukan fakta baru yang dapat diturunkan dari pengetahuan yang sudah ada dalam KB.

2.WUMPUSWORLD

Aturan main Wumpus :
  • Performance measure: emas +1000, mati -1000, gerak -1, panah -10
  • Environment: Matriks 4x4 kamar. Initial state [1,1]. Ada gold, wumpus dan pit yang lokasinya dipilih secara acak.
  • Percept:
    Breeze: kamar di samping lubang jebakan ada hembusan angin
    Glitter: kamar di mana ada emas ada kilauan/sinar
    Smell: kamar di samping Wumpus berbau busuk
  • Action: maju, belok kiri 90◦ , kanan 90◦ , tembak panah (hanya 1!), ambil benda
Sifat Wumpus :
  • (Fully) observable? Tidak, hanya bisa persepsi local
  • Deterministic? Ya, hasil tindakan jelas & pasti
  • Episodic? Tidak, tergantung action sequence
  • Static? Ya, gold, wumpus, pit tidak bergerak
  • Discrete? Ya
  • Single agent? Tidak
3.LOGIC IN GENERAL-MODELS AND ENTAILMENT

Logic adalah bahasa formal untuk merepresentasikan informasi sedemikian hingga kesimpulan dapat dibuat dalam pembuatan kesimpulan pasti harus menggunakan bahasa yg benar dalam pembuatan bahasa yang tepat Syntax mendefinisikan kalimat-kalimat pada bahasa kemudian Semantics mendefinisikan arti kalimat; misal, mendefinisikan kebenaran sebuah kalimat. Entailment berarti sesuatu fakta bisa disimpulkan dari (kumpulan) fakta lain Entailment dapat juga berarti sebuah hubungan antar kalimat ( syntax) yang didasarkan pada semantics kemudian Model adalah sebuah “dunia” di mana kebenaran suatu sentence bisa diuji.

Propositionan logic: Syntax

Propositional logic adalah logika paling sederhana menggambarkan ide dasar,symbol proposisi P1,P2 dll adalah sebuah kalimat.




Logika Propositional : Semantics

Tiap model menspesifikasikan true/false untuk setiap symbol proposisi.
 


 



Tabel Kebenaran untuk Inference

 


Logical equivalence

Dua kalimat adalah logically equivalent if bernilai true pada model yang sama: α ≡ ß iff α╞ β and β╞ α 

Validity dan satisfiability

  • Sebuah kalimat adalah valid jika bernilai true pada semua model.
  •  Validity dihubungkan ke inference melalui Deduction Theorem: KB ╞ α if and only if (KB  α) is valid
  • Sebuah kalimat adalah satisfiable jika bernilai true pada beberapa model.
  • Sebuah kalimat adalah unsatisfiable jika bernilai salah pada semua model.
  • Satisfiability dihubungkan ke inference melalui : KB ╞ α if and only if (KB α) is unsatisfiable

Resolution

  • Conjunctive Normal Form (CNF) 
  • conjunction of disjunctions of literals
  •  clauses 
 

Resolution inference rule (for CNF):
   
Forward chaining

Diberikan suatu himpunan fakta dalam workingmemory, gunakan rules untuk membangkitkan fakta baru sampai goaldicapai.

•Langkah-langkah:

1)Cocokkan bagian IF dari setiap ruleterhadap fakta-fakta dalam working memory.

2)Jika ada lebih dari satu ruleyang dapat digunakan(lebih dari satu rule yang berjalan), pilih satu yang akan diaplikasikan dengan menggunakan resolusi konflik.

3)Berlakukan ruletersebut. Jika fakta baru diperoleh, tambahkan ke working memory.

4)Stop (atau exit) ketika kesimpulan ditambahkan ke working memory atau jika ada rule yang menetapkan proses berhenti.

Backward chaining

Mesin inferensi menjelajah secara mundur (backward) rantai inferesi (chain) dimulai dari tujuan (goal) dalam working memory.

•Terdiri dari 3 langkah utama:
1. Pilih rulesyang konklusi-nya sesuai dengan goal.
2. Ganti goal dengan premis dari ruleterpilih. Jadikan sebagai sub-goals.
3. Kerjakan backwardssampai semua sub-goalsbernilai true. Ini dicapai dengan:

–Ditemukannya fakta (dalam working memory) atau

–Pengguna menyediakan informasi tersebut.

Ide: bekerja backwards dari query q: membuktikan q dengan BC,
cek jika q sudah diketahui, atau
buktikan dengan BC semua premise pada beberapa rule concluding q
Avoid loops: chek jika subgoal baru sudah siap pada stack tujuan
Avoid repeated work: check if new subgoal telah terbukti benar, atau telah gagal

Logika Proposisi

Proposisi
Logika adalah metode atau teknik yang diciptakan untukmeneliti ketepatan penalaran
serta mengkaji prinsip-prinsip penalaran yang benar dan penarikan kesimpulanyang
absah.Ilmu logika berhubungan dengan kalimat-kalimat(argumen) dan hubungan yang
ada diantara kalimat-kalimat tersebut.

Referensi :
http://share.its.ac.id/pluginfile.php/1369/mod_resource/content/1/8._Propotional_Logic.pdf




 

Rabu, 04 Oktober 2017

Strategi Pencarian Berbentuk (heuristic search stragegy)



TUGAS PENG. TEKNOLOGI SISTEM CERDAS

 

Nama :Inka Riesty Gunadi
Npm    :13115384
Kelas   :3KA10
Dosen   :Essy Malays Sari Sakti


  


UNIVERSITAS GUNADARMA
2017

Strategi pencarian berbentuk(heuristic search stragegy)
  1. Greedy Best First Search
Metode pencarian ini melakukan ekspansi node yang memiliki jarak terdekat dengan goal. Namun, ekspansi yang dilakukan pada metode ini menggunakan evaluasi node hanya dengan melihat kepada fungsi heuristiknya. Dengan kata lain, yang dibandingkan untuk penentuan ekspansi node adalah nilai estimasi/prediksinya saja.
                     f(n) = h(n)
  1. A* Search
Bentuk dari Best First Search yang paling dikenal adalah algoritma pencarian A* (dibaca dengan “A-star”). Sedikit berbeda dengan Greedy yang hanya melihat kepada nilai h(n), pencarian dengan A* melihat kepada kombinasi nilai dari pathnya yaitu g(n) dengan nilai estimasi yaitu h(n).
                    f(n) = g(n) + h(n)

Fungsi Heuristik
Fungsi heuristik yang digunakan merupakan prakiraan (estimasi) cost dari initial state ke goal state,yang dinyatakan dengan :
Ket:
f’ = Fungsi evaluasi
g  = cost dari initial state ke current state
h’ = prakiraan cost dari current state ke soal state

Algoritma Pencarian Local dan Masalah Optimisasi
1.Hill Climbing (Pendaki Bukit)
Hill Climbing (mendaki bukit) merupakan salah satu variasi metode buat dan uji (generate and test) dimana umpan balik yang berasal dari prosedur uji digunakan untuk memutuskan arah gerak dalam ruang pencarian (search).Dalam prosedur buat dan uji yang murni, respon fungsi uji hanyalah iya atau tidak. Dalam prosedur Hill Climbing, fungsi uji dikombinasikan dengan fungsi heuristik yang menyediakan pengukuran kedekatan suatu keadaan yang diberikan dengan tujuan (goal).
2.SimulatedAnnealingSearch
adalah salah satu algoritma untuk untuk optimisasi yang bersifat generik. Berbasiskan probabilitas dan mekanika statistik, algoritma ini dapat digunakan untuk mencari pendekatan terhadap solusi optimum global dari suatu permasalahan. Masalah yang membutuhkan pendekatan SA adalah masalah-masalah optimisasi kombinatorial, di mana ruang pencarian solusi yang ada terlalu besar, sehingga hampir tidak mungkin ditemukan solusi eksak terhadap permasalahan itu. Annealing adalah satu teknik yang dikenal dalam bidang metalurgi, digunakan dalam mempelajari proses pembentukan kristal dalam suatu materi. Agar dapat terbentuk susunan kristal yang sempurna, diperlukan pemanasan sampai suatu tingkat tertentu, kemudian dilanjutkan dengan pendinginan yang perlahan-lahan dan terkendali dari materi tersebut.
contoh :
1. Simulated Annealing padaTSP digunakan untuk menelusuri dan mencari setiap rute yang mungkin, kemudian mendapatkan rute yang jaraknya paling pendek.
2. Model Simulated Annealing untuk menyelesaikan TSP adalah model state yang dibangun untuk menyatakan rute yang mungkin dan definisi energi yang dinyatakan dengan total jarak yang ditempuh.
3. Berapa besarnya pengurangan temperature dalam setiap waktu
3.Local beam search
Local beam search adalah algoritma pencarian heuristik yangmerupakan optimasi dari pencarian best-first search yang mengurangikebutuhan memorinya. Dalam Beam Search, hanya jumlah solusiparsial terbaik yang telah ditetapkan yang disimpan sebagai kandidat.
Beam Search membutuhkan tiga komponen sebagai inputnya, yaitu :
             a.      Masalah yang akan di selesaikan
Biasanya di tampilkan dalam bentuk grafik dan berisi kumpulan node yang tiap satu atau lebih node mengarah ke goal/hasil.
            b.      Kumpulan aturan-aturan heuristik untuk pemangkasan
Adalah aturan-aturan spesifik yang mengarah ke ruang masalah dan memangkas node yang tidak menguntungkan dari memori yang berhubungan dengan ruang masalah.
             c.      Memori dengan kapasitas yang terbatas
         Adalah memori tempat menyimpan beam, dimana ketika memori dalam keadaan penuh dan node akan di tambahkan ke beam, maka node yang nilainya paling besar yang dihapus, jadi  tidak  akan melebihi memori yang tersedia.
Beam Search memiliki keuntungan yang berpotensi mengurangi perhitungan dan waktu pencarian. Selain itu, pemakaian memori daripencarian ini jauh lebih sedikit daripada metode yang mendasari mtode pencarian ini.  Kelemahan utama Beam Search adalah metode pencarian ini mungkin  tidak dapat mencapai tujuan/hasil yang optimaldan bahkan mungkin tidak mencapai tujuan sama sekali. Padakenyataannya, algoritma beam search berakhir untuk dua kasus:  nodetujuan yang diperlukan tercapai, atau node tujuan tidak tercapai dantidak ada node tersisa untuk dieksplorasi.

Genetic Algorithm
Genetic Algorithm(atau GA) adalah teknik pencarian dalam bidang komputasi untuk menemukan solusi benar atau pendekatan untuk masalah optimasi dan pencarian. Teknik dalam GA didasarkan pada biologi evolusioner seperti pewarisan, mutasi, seleksi dan crossover.
Dalam GA biasanya ada 2 hal yang harus didefinisikan:

  • Representasi genetis dari domain solusi
  •  Fungsi fitness untuk mengevaluasi solusi domain.



Hal-hal yang harus dilakukan untuk menggunakan algoritma genetika
1. Mendefinisikan individu, dimana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat
2. Mendefinisikan nilai fitness, yang merupakan ukuran baik tidaknya sebuah individu atau baik tidaknya solusi yang didapatkan
3. Menentukan proses pembangkitan solusi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random walk.
4. Menentukan proses seleksi yang akan digunakan
5. Menentukan proses perkawinan silang (cross over) dan mutasi gen yang akan digunakan
3.4Agen pencarian online dan lingkungan yang tidak diketahui.
Pencarian buta (uninformed/blind search) : tidak ada informasi awal yang digunakan dalam proses pencarian
Pencarian melebar pertama (Breadth – First Search) 
Pencarian mendalam pertama (Depth – First Search) 

referensi:
hendrik.staff.gunadarma.ac.id/Downloads/files/23065/teknik-pencarian-heuristik.pdf
https://piptools.net/algoritma-sa-simulated-annealing/