Kamis, 26 Oktober 2017

Representasi Pengetahuan

Image result for logo gunadarma
Nama : Dimas Bayu Gumelar
NPM : 11115924

Kelas: 3KA10
Dosen : ESSY MALAYS SARI SAKTI
Representasi pengetahuan adalah hal penting dalam intelijensia buatan. Di sini kita akan
membahas dua mathematical tools untuk merepresentasikan pengetahuan, yaitu
propositional logic (logika proposisi) dan first order logic (kalkulus predikat).

Gambar 4.1 A generic knowledge-based agents

Gambar 4.2 Hubungan antara sentence dan fatcs yang disediakan oleh semantik bahasa.

Tabel 4.1 Pembagian formal language



4.1 Propositional Logic (Propositional Calculus) 

Gambar 4.3 A BNF (Backus-Naur Form) Grammar of sentences in
propositional logic.



Gambar 4.4  Aturan inferensi dalam Logika Proposisi. 


Studi Kasus: The Wumpus World Environment

1. Percept 
• Percept : [stench, breeze, glitter, bump, scream]
• [stench, breeze, None, None, None] = ada stench dan breeze, tetapi tidak ada 
glitter, bump, maupun scream.

2. Action 
• Move: Turn Left 900, Turn Right 900, Straight. 
• Grab: mengambil / merebut objek yang berada di kotak yang sama dimana agent 
berada.
• Shoot: memanah dengan arah lurus sesuai dengan arah agent menghadap. 
• Climb: memanjat keluar dari gua.
• Agent akan mati jika memasuki kotak yang terdapat Wumpus atau Pit. Tetapi 
akan aman jika memasuki kotak yang di dalamnya terdapat Wumpus yang telah 
mati. 

3. Goal
Menemukan emas dan membawanya kembali ke kotak start (1,1) secepat mungkin
dengan jumlah action yang seminimum mungkin, tanpa terbunuh. Sebagai hadiah, 1.000
point diberikan kepada agent jika berhasil keluar gua dengan membawa emas. Tetapi poit
–1 untuk setiap action yang dilakukan. Dan -10.000 jika agent terbunuh.

Daftar Pustaka
  • Suyanto, ST.2008.Intelijensia Buatan.Bandung

Rabu, 18 Oktober 2017

Pengetahuan dan Penalaran : Logika Orde Pertama (First-Order Logic)

Image result for logo gunadarma
Dosen : ESSY MALAYS SARI SAKTI
First-Order Logic (Predicat Logic / Predicat Calculus)

Objects: sesuatu dengan identitas individual (people, houses, colors, …)
Properties: sifat yang membedakannya dari object yang lain (red, circle, …)
Relations: hubungan antar object (brother of, bigger than, part of, ...)
Functions: relation yang mempunyai satu nilai (father of, best friend, …)

Contoh: One plus two equals three.
Gambar 4.5  The Syntax of First-Order Logic (with equality) in BNF (BackusNaur
Form)

Inferensi Dalam Kalkulus Predikat

1.  Inference Rules Involving Quantifiers
SUBST(θ, a): untuk menotasikan hasil dari pengaplikasian operasi subsitusi è
terhadap sentence a

SUBST({x/Sam, y/Pam}, Likes(x,y)) = Likes(Sam, Pam).

2.  Universal Elimination: untuk setiap sentence
a, variabel v, dan ground term (term
yang tidak berisi variabel) g :

Dari "x Likes(x, IceCream) dapat digunakan substitusi {x/Ben} dan melakukan
inferensi bahwa Likes(Ben, IceCream

3.  Existential Elimination: untuk setiap sentence a, variabel v, dan simbol konstanta k
yang tidak tampak dimanapun di dalam basis pengetahuan:


Dari $x Kill(x, Victim), kita dapat menyimpulkan Kill{Murderer, Victim}, selama
Murderer tidak tidak tampak dimanapun di dalam basis pengetahuan.

4.  Existential Introduction: untuk setiap sentence a, variabel v  yang tidak terjadi pada
a, dan ground term g yang terjadi pada a:
Dari Likes(Jerry, IceCream) kita dapat menyimpulkan $x Likes(x, IceCream).

Contoh bagaimana menggunakan aturan inferensi dalam pembuktian.


The law says that it is a crime for an American to sell weapons to hostile nations.
The country Nono, an enemy of America, has some missiles, and all of its missiles
were sold to it by Colonel West, who is American. 

Buktikan bahwa West adalah seorang penjahat atau criminal. Pertama representasikan
fakta dalam kalkulus predikat, kemudian tunjukan bukti sebagai urutan aplikasi inference
rules.
Proses pembuktian dengan pengaplikasian aturan inferensi kalkulus predikat



Proses pembuktian di atas dapat dilakukan menggunakan teknik searching dimana:
Initial State : Knowledge Base (sentences 1-9)
Operators : Applicable inference rules
Goal test : Knowledge Base yang berisi Criminal(West)

Tetapi diperlukan program yang sangat pintar untuk menemukan bukti tanpa menelusuri
jalur yang salah.


4.2.2  Generalized Modus Ponens
Generalisasi Modus Ponens memerlukan: 
And-Introduction
Universal Elimination
Modus Ponens

Contoh: 
Missile(M1)
Owns(Nono,M1)
" x Missile(x)^Owns(Nono, x) =>Selles(west, Nono, x)

dan meng-infer dalam satu langkah suatu sentence baru, yaitu:
Sells(West,Nono,M1)

dari tiga sentence di atas, anggaplah selain Nono, setiap negara mempunyai M1:
"y  Owns(y,M1)



Untuk atomic sentences pi, pi’, dan q, dimana terdapat substitution θ sedemikian hingga
SUBST(θ,pi’) = SUBST(θ,pi), untuk semua i :

Terdapat n+1 premise untuk aturan ini: n atomic sentences pi’ dan satu implikasi. Terdapat satu conclusion (kesimpulan): hasil pengaplikasian substitusi terhadap consequent q. Sebagai contoh dengan West dan missile:

Unification (Unifikasi)
Secara formal unification dituliskan:

UNIFY(p,q) =  θ  dimana  SUBST(θ,p) = SUBST(θ,q)

θ disebut unifer dari dua sentences tersebut. Kita akan mengilustrasikan unification dalam konteks dari suatu contoh. Misalkan kita punya aturan 

Knows(John,x) => Hates(John,x)  : yang berarti (“John hates everyone he knows”)

Misalkan knowledge base kita berisi sentences sebagai berikut :
Knows(John,Jane)
Knows(y,Leonid)
Knows(y,mother(y))
Knows(x,Elizabeth)

Pelaksanaan unifikasi premise atau antecedent dari aturan terhadap setiap sentence dalam
knowledge base akan memberikan : 
UNIFY(Knows(John,x), Knows(John,Jane)) = {x/Jane}
UNIFY(Knows(John,x), Knows(y,Leonid)) = {x/Lenoid,y/John}
UNIFY(Knows(John,x), Knows(y,mother(y))) = { y/John,x/Mother(John)}
UNIFY(Knows(John,x), Knows(x,Elizabeth)) = fail

Unifikasi terakhir fail (gagal) karena x tidak dapat bernilai John dan bernilai Elizabeth
pada waktu yang sama. Tetapi secara intuitif, dari fakta-fakta bahwa John membenci
setiap orang yang dia kenal dan setiap orang mengenal Elizabeth, kita akan dapat menginferensi
bahwa John membenci Elizabeth. Tidak masalah jika sentence yang terdapat dalam knowledge
base tersebut adalah Knows(x,Elizabeth) atau Knows(y,Elizabeth).  

UNIFY(Knows(John,x1), Knows(x2,Elizabeth)) = {x1/Elizabeth, x/John}

Tetapi jika terdapat suatu substitusi seperti di atas, maka terdapat tak berhingga substitusi
yang lain, seperti:
UNIFY(Knows(John,x), Knows(y,z))  =   {y/John, x/z}
      or  {y/John, x/z, w/Freda}
      or  {y/John, x/John, z/John} …

Kita tegaskan bahwa UNIFY mengembalikan Most General Unifer (MGU), yang
merupakan substitusi yang membuat komitmen paling sedikit memuat variable.

Daftar Pustaka
  • Suyanto, ST.2008.Intelijensia Buatan.Bandung


Kamis, 12 Oktober 2017

Pengenalan Logical Agents

Image result for logo gunadarma
Nama : Dimas Bayu Gumelar
NPM : 11115924

Kelas: 3KA10
Dosen : ESSY MALAYS SARI SAKTI

Basis Pengetahuan
• Basis Pengetahuan (Knowledge base) = Sekumpulan kalimat
dalam bahasa formal (formal language)
• Pendekatan dengan menerangkan/ menjelaskan (Declarative)
untuk membangun suatu agent (atau sistem lain) :
– Katakan apa yang dibutuhkan untuk bisa mengerti
• Kemudian dapat bertanya pada diri sendiri apa yang akan
dikerjakan --- jawaban harus merujuk pada Basis Pengetahuan
• Agents dapat dilihat dari sisi tingkat pengetahuan
– Apa yang diketahui, terlepas dari bagaimana penerapannya
• Atau dari sisi tingkat implementasi
– Struktur data pada Basis Pengetahuan dan algoritma yang
memanipulasinya
• Contoh :

• Agent harus memiliki kemampuan :
– Mewakili suatu kondisi, tindakan dll Represent states, actions,
etc.
– Menerima masukan persepsi-persepsi baru
– Update representasi internal dunia
– Mengambil kesimpulan dari properti dunia yang tersembunyi
– Mengambil kesimpulan tindakan-tindakan yang tepat

Daftar Pustaka
J. HENNOCH AND H. ULRICH: AGENT-BASED MANAGEMENT SYSTEMS IN LOGISTICS,  page 11
H. BRECKLE: A MULTI-AGENT FRAMEWORK FOR PLANNING AND MANAGING MOBILITY SERVICES, page 17

Jumat, 06 Oktober 2017

Pengenalan Kecerdasasan Buatan Artificial

Image result for logo gunadarma
Nama : Dimas Bayu Gumelar
NPM : 11115924

Kelas: 3KA10
Dosen : ESSY MALAYS SARI SAKTI
Manusia mempunyai kapasitas mental dan pikiran yang sangat penting dalam
kehidupannya. Bidang intelijensia buatan berusaha untuk memahami entitas-entitas
cerdas. Satu alasan kenapa mempelajarinya adalah untuk lebih memahami diri kita 
sendiri. Tetapi tidak seperti filosofi dan psikologi, yang juga berhubungan dengan 
kecerdasan, AI berusaha membangun entitas-entitas cerdas sesuai dengan pemahaman
manusia. Alasan lain mengapa mempelajari AI adalah bahwa entitas-entitas cerdas yang
dibangun ini menarik dan berguna dalam kebenarannya sendiri. AI telah menghasilkan
banyak produk yang berarti dan mengesankan bahkan pada tahap awal
perkembangannya. Walaupun tidak seorangpun dapat memprediksi masa depannya
secara detail, tetapi jelas bahwa komputer-komputer dengan kecerdasan setingkat
manusia akan mempunyai pengaruh yang sangat besar pada kehidupuan kita dan pada
sebagian dari peradaban masa depan.

Perkembangan perangkat keras (hardware) saat ini sudah berada pada tingkat yang
sangat tinggi. Perkembangan teknologi komputer yang kini masih ditunggu adalah
dibuatnya komputer tanpa kawat (wireless computer). Dalam wireless computer data
ditransfer sepenuhnya melalui berkas cahaya (light beams) yang dapat saling berpotongan
tanpa terjadinya interferensi. Saat ini orang sudah mampu membuat processor yang
sepenuhnya optikal. Suatu komputer optikal dalam bentuk awal (rudimentary), yang
mampu mengerjakan matematika sederhana telah berhasil dibuat oleh para peneliti dari
University of Colorado [CAR93]. Suatu komputer optikal yang beroperasi dengan
kecepatan cahaya dan kemampuan komunikasi melalui ribuan jalur dalam serat optik
akan meningkatkan kemampuan komputer yang luar biasa. Komputer yang demikian
merupakan impian dan dambaan para peneliti. Namun dana yang sangat besar untuk
pengembangan alat tersebut, saat ini, masih merupakan ganjalan utama dalam
realisasinya. Suatu usaha yang realistis saat ini adalah mengembangkan komputer hibrida
dengan mengkombinasikan teknologi elektronik dengan teknologi fotonik, yaitu dengan
mengembangkan hubungan optik antara berbagai electronic processor, memory units,
dan communication ports. Hal ini akan memberikan transfer data yang cepat dan
sekaligus menghindarkan terjadinya wiring bottle necks yang banyak terjadi pada
komputer elektronik saat ini. Banyak lagi yang diharapkan datang dari teknologi
optoelektronik, namun yang sudah jelas dalam teknologi tersebut adalah perubahan
radikal dalam cara memproses informasi. Unit informasi dalam komputer optik tidak lagi
bit-bit seperti pada komputer elektronik, tetapi suatu image yang berisi miliaran bit. 

Prosesor optik dapat menumpuk dua buah image dan dapat segera, dengan sangat cepat,
mengenali perbedaannya. Hal ini penting dalam pengenalan pola dan bila
dikombinasikan dengan lensa dapat berfungsi sebagai mata. 

Melihat perkembangan perangkat keras komputer yang sangat pesat, maka muncullah
pertanyaan: “Masih perlukan kita mempelajari intelijensia buatan?”. Saat ini, kita merasa
masih perlu karena komputer teknologi fotonik yang diharapkan masih jauh dari rencana
fabrikasi dan tentu saja harganya sangat tinggi. Sedangkan, saat ini, yang kita butuhkan
adalah sistem berintelijensia dengan resource dan harga yang murah.

Selanjutnya, marilah kita mencoba memberikan definisi intelijensia buatan. Definisi
intelijensia buatan dari delapan textbook terakhir terlihat pada gambar 1.1 di bawah ini. 

Thinking Humanly: The cognitive modeling approach.
1. Melalui introspeksi: mencoba menangkap pemikiran-pemikiran kita sendiri pada 
saat kita berpikir. Tetapi seorang psikolog Barat mengatakan: “how do you know
that you understand?”. Bagaimana anda sadar bahwa anda sedang sadar? Karena 
pada saat anda menyadari pemikiran anda, ternyata pemikiran tersebut sudah 
lewat dan digantikan kesadaran anda.
2. Melalui eksperimen-eksperimen psykologi. 
Acting Humanly: The Turing test approach.
Alan Turing (1950) merancang suatu ujian bagi komputer berintelijensia apakah mampu
mengelabuhi seorang manusia yang menginterogasi komputer tersebut melalui teletype.
Jika interrogator tidak dapat membedakan apakah yang diinterogasi adalah manusia atau
komputer, maka  komputer berintelijensia tersebut lolos dari Turing test. Komputer
tersebut perlu memiliki kemampuan: Natural Language Processing, Knowledge
Representation, Automated Reasoning, Machine Learning, Computer Vision, Robotics.
Turing Test sengaja menghindari interaksi fisik antara interrogator dan komputer karena
simulasi fisik manusia tidak memerlukan intelijensia. 

Thinking Rationally: The laws of thought approach.
Terdapat dua masalah dalam pendekatan ini, yaitu: 
1. tidak mudah untuk membuat pengetahuan informal dan menyatakannya dalam formal term yang  diperlukan oleh notasi logika, khususnya ketika pengetahuan tersebut memiliki kepastian kurang dari  100%. 
2. Terdapat perbedaan besar antara dapat memecahkan masalah “dalam prinsip” dan dan juga memecahkannya dalam praktek.
Acting Rationally: The rational agent approach. Membuat inferensi yang benar kadang-kadang  merupakan bagian dari suatu rational agent, karena satu cara untuk melakukan aksi secara rasional adalah menalar secara logika untuk mendapatkan kesimpulan bahwa aksi yang diberikan akan mencapai tujuan, dan kemudian melakukan aksi atas kesimpulan tersebut. Dalam buku ajar ini, kita akan menggunakan pendekatan rational agent. Hal ini akan mebatasi bahasan kita pada teknikteknik rasional pada intelijensia buatan. Sedangkan aksi dan pikiran manusia yang diluar rasio (refleks dan intuitif) belum dapat ditirukan oleh komputer.


Daftar Pustaka
  • Suyanto, ST.2008.Intelijensia Buatan.Bandung

Pencarian Berbentuk/heuristik search dan Eksplorasi

Image result for logo gunadarma
Nama : Dimas Bayu Gumelar
NPM : 11115924

Kelas: 3KA10
Dosen : ESSY MALAYS SARI SAKTI
metoda-metode yang terdapat dalam teknik pencarian yang
berdasarkan pada panduan (Heuristic Search), yaitu Generate and Test, Simple Hill
Climbing, Steepest-Ascent Hill Climbing, Simulated Annealing, Best First Search,
Greedy Search, A Star (A*), Problem Reduction, Constraint Satisfaction, dan MeansEnds
Analysis.

3.1 Generate-and-Test 
Metode Generate-and-Test adalah metode yang paling sederhana dalam pencarian
heuristic. Jika pembangkitan possible solution dikerjakan secara sistematis, maka
prosedur akan mencari solusinya, jika ada. Tetapi jika ruang masalahnya sangat luas,
mungkin memerlukan waktu yang sangat lama. 
Algoritma Generate-and-Test adalah prosedur DFS karena solusi harus
dibangkitkan secara lengkap sebelum dilakukan test. Algoritma ini berbentuk sistematis,
pencarian sederhana yang mendalam dari ruang permasalahan. Generate  & test juga
dapat dilakukan dengan pembangkitan solusi secara acak, tetapi tidak ada jaminan
solusinya akan ditemukan. 

Algorithm: Generate-and-Test 
1. Generate a possible solution. For some problems, this means generating a particular
point in the problem space. For others, it means generating a path from a start state. 
2. Test to see if this is actually a solution by comparing the chosen point or endpoint of
the chosen path to the set of acceptable goal states.  
3. If a solution has been found, quit. Otherwise, return to step 1.

Contoh kasus:
Untuk permasalahan sederhana maka tehnik generate  & test adalah tehnik yang layak .
Sebagai contoh, pada teka-teki yang terdiri dari empat kubus segi enam, dengan masingmasing
sisi dari setiap kubus dicat dengan 4 warna. Solusi dari teka-teki terdiri dari susunan kubus dalam  beberapa baris yang semuanya empat sisi dari satu blok baris yang menunjukkan masing-masing
warna. Masalah ini dapat diselesaikan dengan manusia dalam beberapa menit secara sistematis dan lengkap dengan mencoba  semua kemungkinan. Ini bisa diselesaikan dengan lebih  cepat menggunakan prosedur generate &  test. Pandangan sekilas pada empat blok yang tampak bahwa masih ada lagi, katakanlah bagian merah dari warna-warna lain yang ada. Sehingga ketika menempatkan blok dengan beberapa bagian merah, ini akan menjadi ide yang baik untuk digunakan jika sebagian darinya sebisa mungkin dibagian luar. Sebagian yang lain sebisa mungkin harus ditempatkan pada blok berikutnya. Menggunakan aturan ini, banyak konfigurasi diperlukan tanpa di-explore dan sebuah solusi dapat ditemukan lebih cepat.


3.2 Hill Climbing 


Hill Climbing berbeda Generate-and-Test, yaitu pada feedback dari prosedur test 
untuk membantu pembangkit menentukan yang langsung dipindahkan dalam ruang
pencarian. Dalam prosedur Generate  & test , respon fungsi pengujian hanya ya atau
tidak. Tapi jika pengujian ditambahkan dengan atauran fungsi-fungsi yang menyediakan
estimasi dari bagaimana mendekati state yang diberikan ke state tujuan, prosedur
pembangkit dapat mengeksplorasi ini sebagaimana ditunjukkan di bawah. HC sering
digunakan jika terdapat fungsi heuristic yang baik untuk mengevaluasi state. Sebagai
contoh, anda berada di sebuah kota yang tidak dikenal, tanpa peta dan anda ingin menuju
ke pusat kota. Cara sederhana adalah gedung yang tinggi. Fungsi heuristics-nya adalah
jarak antara lokasi sekarang dengan gedung yang tinggi dan state yang diperlukan adalah
jarak yang terpendek.

3.2.1 Simple HC 

Algorithm: Simple HC 
1. Evaluate the initial state. If it is also a goal state, then return it and quit. Otherwise,
continue with the initial state as the current state. 
2. Loop until a solution is found or until there are no new operators left to be applied in
the current state:
a). Select an operator that has not yet been applied to the current state and apply it to 
produce a new state.
b). Evaluate the new state: 
(i) If it is a goal state, then return it and quit.
(ii) If it is not a goal state but it is better than the current state, then make it the 
current state.
(iii) If it is not better than the current state, then continue in the loop.