Kecerdasan Buatan(AI)
Pengertian AI :
1. Suatu cara yang sederhana untuk
membuat komputer dapat “berpikir” secara inteligent
2. Bagian dari ilmu komputer yang
mempelajari perancangan sistem komputer yang inteligent, yaitu suatu sistem
yang meperlihatkan karakteristik yang ada pada tingkah laku manusia, seperti
mengerti suatu bahasa, mempelajari,mempertimbangkan dan memecahkan suatu
masalah.
3. Suatu studi bagaimana membuat
komputer dapat mengerjakan sesuatu, yang pada saat ini, orang dapat mengerjakan
lebih baik
4. Bidang ilmu komputer yang
memungkinkannya untuk memahami, bernalar dan bertindak.
Tujuan
AI:
1. Untuk mengembangkan metode dan
sistem untuk menyelesaikan masalah,masalah yang biasa diselesaikan melalui
aktifivitas intelektual manusia, misalnya pengolahan citra,perencanaan,
peramalan dan lain-lain, meningkatkan kinerja sistem informasi yang berbasis
komputer.
2. Untuk meningkatkan
pengertian/pemahaman kita pada bagaimana otak manusia bekerja
Arah
AI:
- Mengembangkan
metode dan sistem untuk menyelesaikan masalah AI tanpa mengikuti cara
manusia menyelesaikannya (sistem pakar / expert systems)
- Mengembangkan
metode dan sistem untuk menyelesaikan masalah AI melalui pemodelan cara
berpikirnya manusia, atau cara bekerjanya otak manusia (neural
networks).
Paradigma
AI:
symbolic
or sub-symbolic (connectionist)
Bidang-bidang Aplikasi AI
Menurut
Elaine Rich : Masalah pada AI (Task Domain) :
Task Keduniaan (Mundane Task)
* Perception:
Vision, Speech Recognition
* Natural Language: Understanding,
Generation,
Translation
* Commonsense
Reasoning
* Robot Control
Task Formal (Formal
Task)
* Games (Chess, Backgamon, checkers,Go)
* Mathematics (Geometry, Logic, Integral
Calculus, Proving properties of programs)
Task Ahli (Expert
Tasks)
* Engineering (Design,Fault Finding,
Manufacturing Planning)
* Scientific Analysis, Medical Diagnosis,
Financial Analysis
Asumsi Dasar AI
Jantung
Penelitian AI adalah : Physical Symbol
System Hypothesis.
Physical
Symbol System terdiri
dari himpunan entitas yang dinamakan simbol, berpola fisik yang dapat menjadi
komponen dari entitas tipe lain yang dinamakan Ekspresi (struktur simbol)
Struktur simbol
terdiri dari sejumlah instant (Token) dari simbol-simbol yang
berhubungan pada beberapa cara fisik. Selain struktur tersebut, sistem juga
berisi koleksi proses-proses yang beroperasi pada ekspresi, untuk menghasilkan
ekspresi lain : proses pembuatan (create),
modifikasi, reproduksi, dan penghancuran (destruksi).
Jadi PSS adalah mesin
yang memproduksi suatu koleksi penyusunan struktur simbol. Sistem seperti itu
terdapat dalam suatu objek dunia yang lebih luas dari hanya ekspresi simbolik
itu sendiri.
Perbedaan
antara Pemrograman AI dan Konvensional
AI
|
Komputasi
Konvensional
|
Representasi dan Manipulasi
simbol
|
Algoritama
|
Memberitahu komputer tentang
suatu masalah
|
Memerintah komputer untuk menyelesaikan
masalah
|
Komputer diberi pengetahuan dan
kemampuan inferensi
|
Memberi data kepada komputer
dan program
|
Perbedaan kemamouan manusia
dengan computer:
ü
manusia
dalam mengolah data lambat, computer cepat
ü
manusia
kepresisiannya kurang, computer sanagat presisi (ketepatan)
ü
manusia
logika berpikir ada, computer tidak ada
ü
manusia
dapat berkembang, computer tidak dapat berkembang
ü
manusia
adaptif, computer tidak adaptif (konstan)
ü
manusia
bersifat fleksibel, computer tidak
ü
manusia
memiliki alternative, computer tidak
kecerdasan buatan mempelajari
bagaimana manusia dapat mengembangkan kemampuannya pada mesin. Manusia memiliki
pola dalam berpikir terutama dalam perhitungan matematika, sedangkan computer
tidak. Manusia memiliki kemampuan yang tinggi, misalnya dapat mengingat,
mengenal, memahami tentang suatu hal dengan baik.
Pemrograman AI :
- Bila
terjadi perubahan dalam program, maka tidak mengganggu seluruh “Facts”
yang tersimpan dalam “Otak” (layaknya pikiran manusia/seperti informasi
yang terdapat pada pikiran manusia)
- Independen
- Dapat
Dimodifikasi tanpa mempengaruhi struktur kesluruhan program
- Fleksibel
à efisien dan mudah untuk
dimengerti
Penyelesaian Masalah berdasarkan teknik AI
Empat hal untuk membangun sistem
atau memecahkan masalah tertentu :
- Definisikan
masalah dengan jelas
- Analisis
masalah
- Kumpulkan
dan representasikan knowledge
- Pilih
teknik pemecah masalah terbaik dan gunakan untuk masalah tertentu
Mendefinisikan Masalah sebagai
“State Space Search” (SSS)
Misalnya permainan catur , maka
SSS nya adalah :
Menspesifikasikan posisi awal
dari papan catur
Peraturan (rules) yang
mendefinisikan langkah-langkah yang legal
Posisi papan yang
merepresentasikan pemenang dari satu sisi atau sisi lainnya.
Tujuan (Goal) dari permainan adalah : memenangkan permainan.
Pendefinisian Masalah Sebagai
Pencarian Ruang Keadaan
Masalah
utama dalam membangun sistem berbasis AI adalah bagaimana mengkonversikan
situasi yang diberikan ke dalam situasi lain yang diinginkan
dengan menggunakan
sekumpulan operasi tertentu.
A
Water Jug Problem
Anda
diberi dua buah gelas, yang satu ukuran 4 galon dan yang lain 3 galon. Kedua
gelas tidak memiliki
skala ukuran. Terdapat pompa yang dapat digunakan untuk mengisi gelas dengan air. Bagaimana anda
mendapatkan tepat 2 galon air di dalam gelas 4 ukuran galon?
Ruang
masalah untuk masalah di atas dapat digambarkan sebagai himpunan pasangan
bilangan
bulat (x,y) yang terurut, sedemikian hingga x = 0, 1, 2, 3, atau 4 dan y = 0,
1, 2,
atau
3; x menyatakan jumlah air dalam gelas ukuran 4 galon, dan y menyatakan jumlah
air
dalam gelas ukuran 3 galon. Keadaan mula-mula adalah (0,0). State tujuan adalah
(2,n)
untuk setiap nilai n.
Operator-opeartor
(aturan produksi) yang digunakan untuk memecahkan masalah terlihat
pada
gambar 2.2.
1.
|
(x,y)
If x < 4
|
→
|
(4,y)
|
Isi penuh gelas 4
galon
|
|
|
|
|
|
2.
|
(x,y)
If y < 3
|
→
|
(x,3)
|
Isi penuh gelas 3
galon
|
|
|
|
|
|
3.
|
(x,y)
If x > 0
|
→
|
(x-d,y)
|
Buang sebagian air
dari gelas 4 galon
|
|
|
|
|
|
4.
|
(x,y)
If y > 0
|
→
|
(x,y-d)
|
Buang sebagian air
dari galon ukuran 3 galon
|
|
|
|
|
|
5.
|
(x,y)
If x > 0
|
→
|
(0,y)
|
Kosongkan gelas 4
galon
|
|
|
|
|
|
6.
|
(x,y)
If y > 0
|
→
|
(x,0)
|
Kosongkan gelas 3
galon
|
|
|
|
|
|
7.
|
(x,y)
If x+y ≥4 and y > 0
|
→
|
(4,y-(4-x))
|
Tuangkan air dari gelas 3 galon ke gelas 4 galon sampai gelas 4
galon penuh
|
8.
|
(x,y)
If x+y ≥3 and x > 0
|
→
|
(x-(3-y),3)
|
Tuangkan air dari gelas 4 galon ke gelas 3 galon sampai gelas 3
galon penuh
|
|
|
|
|
|
9.
|
(x,y)
If x+y ≤4 and y > 0
|
→
|
(x+y,0)
|
Tuangkan seluruh air dari gelas 3 galon ke gelas 4 galon
|
|
|
|
|
|
10.
|
(x,y)
If x+y ≤3 and x > 0
|
→
|
(0,x+y)
|
Tuangkan seluruh air dari gelas 4 galon ke gelas 3 galon
|
|
|
|
|
|
11.
|
(0,2)
|
→
|
(2,0)
|
Tuangkan 2 galon air dari gelas 3 galon ke gelas 4 galon
|
|
|
|
|
|
12.
|
(2,y)
|
→
|
(0,y)
|
Buang 2 galon dalam gelas 4 galon sampai habis.
|
Gambar 2.2Aturan produksi untuk Water
Jug Problem.
Jumlah galon
|
Jumlah galon
|
Aturan yang
dilakukan
|
dalam gelas 4 galon
|
dalam gelas 3 galon
|
|
0
|
0
|
-
|
0
|
3
|
2
|
3
|
0
|
9
|
3
|
3
|
2
|
4
|
2
|
7
|
0
|
2
|
5 atau 12
|
2
|
0
|
9 atau 11
|
Gambar 2.3Suatu solusi untuk Water Jug
Problem.
Karakteristik
Masalah Dalam AI :
- Apakah
masalahnya dapat didekomposisi menjadi himpunan sub masalah yang (hampir)
independen lebih kecil atau lebih mudah
?
- Dapatkah
langkah penyelesaian diacuhkan paling tidak dibatalkan ketika dapat
dibuktikan hal tersebut tidak bijaksana ?
- Apakah
universe masalahnya dapat diprediksi ?
- Apakah
solusi yang baik dari masalah tertentu jelas tanpa membandingkan dengan
seluruh solusi lain yang mungkin ?
- Apakah
solusi yang diinginkan sebuah keadaaan dari dunia atau sebuah jalur dari
keadaan ?
- Apa
peran dari pengetahuan ?
- Apakah
pekerjaan memerlukan interakasi dengan manusia ?
Sistem Produksi
Sistem
produksi terdiri dari:
- Himpunan
aturan,
masing-masing terdiri dari sisi kiri (pola) yang menentukan kemampuan
aplikasi dari aturan tersebut dan sisi kanan yang menggambarkan operasi
yang dilalukan jika aturan dilaksanakan.
- Satu atau lebih pengetahuan atau basis data yang
berisi informasi apapun untuk tugas tertentu. Beberapa bagian basis data
bisa permanen, dan bagian yang lain bisa hanya merupakan solusi untuk masalah
saat ini. Informasi dalam basis data ini disusun secara tepat.
- Strategi
kontrol yang
menspesifikasikan urutan dimana aturan akan dibandingkan dengan basis data
dan menspesifikasikan cara pemecahan masalah yang timbul ketika beberapa
aturan sesuai sekaligus pada waktu yang sama.
- A
rule applier (pengaplikasi aturan).
Strategi Kontrol
Syarat-syarat
strategi kontrol:
- cause motion. Perhatikan kembali water jug problem. Jika kita
mengimplementasikan strategi kontrol sederhana dengan selalu memilih
aturan pertama pada daftar 12 aturan yang telah dibuat, maka kita tidak
akan pernah memecahkan masalah. Strategi kontrol yang tidak menyebabkan motion
tidak akan pernah mencapai solusi.
- Systematic. Strategi kontrol sederhana
yang lain untuk water jug problem:
pada setiap siklus, pilih secara random aturan-aturan yang dapat
diaplikasikan. Strategi ini lebih baik dari yang pertama, karena
menyebabkan motion. Pada
akhirnya strategi tersebut akan mencapai solusi. Tetapi mungkin kita akan
mengunjungi beberapa state yang
sama selama proses tersebut dan mungkin menggunakan lebih banyak langkah
dari jumlah langkah yang diperlukan. Hal ini disebabkan strategi kontrol
tersebut tidak sistematik. Beberapa strategi kontrol yang sistematik telah
diusulkan, yang biasa disebut sebagai metoda-metoda dalam teknik searching. Di bab ini, akan dibahas
enam metoda, yaitu Breadth First
Search, Uniform Cost Search,
Depth First Search, Depth-Limited Search, Iterative-Deepening Depth-First Search,
dan Bi-directional search.
Masing-masing metoda tersebut mempunyai karakteristik yang berbeda.
Strategi Pencarian
Terdapat
empat kriteria dalam strategi pencarian, yaitu:
- Completeness:
Apakah
strategi tersebut menjamin penemuan solusi jika solusinya memang ada?
- Time
complexity: Berapa
lama waktu yang diperlukan?
- Space
complexity: Berapa
banyak memori yang diperlukan?
- Optimality:
Apakah
strategi tersebut menemukan solusi yang paling baik jika terdapat beberapa
solusi berbeda pada permasalahan yang ada?
Depth-First Search (DFS)
Pencarian
dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada
level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan
pada node sebelah kanan. Node yang kiri dapat dihapus dari memori. Jika pada
level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada
level sebelumnya. Demikian seterusnya sampai ditemukan solusi. Jika solusi
ditemukan maka tidak diperlukan proses backtracking
(penelusuran balik untuk mendapatkan jalur yang dinginkan).
Kelebihan DFS adalah:
- Pemakain memori hanya
sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang
pernah dibangkitkan.
- Jika solusi yang dicari
berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya
secara cepat.
Kelemahan DFS adalah:
- Jika pohon yang dibangkitkan
mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk
menemukan solusi (Tidak Complete).
- Jika terdapat lebih dari
satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS
tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal).
Gambar 2.5 Penelusuran Depth First Search untuk Water
Jug Problem.
Breadth-First
Search (BFS)
Pencarian
dilakukan pada semua node dalam setiap level secara berurutan dari kiri ke
kanan. Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan
pada level berikutnya. Demikian seterusnya sampai ditemukan solusi. Dengan
strategi ini, maka dapat dijamin bahwa solusi yang ditemukan adalah yang paling
baik (Optimal). Tetapi BFS harus menyimpan semua node yang pernah
dibangkitkan. Hal ini harus dilakukan untuk penelusuran balik jika solusi sudah
ditemukan. Gambar 2.4 mengilustrasikan pembangkitan pohon BFS untuk masalah Water Jug. Pembangkitan suksesor dari
suatu node bergantung pada urutan dari Aturan Produksi yang dibuat (lihat
gambar 2.3). Jika urutan dari aturan 4 ditukar dengan aturan 5, maka pohon BFS
yang dibangkitkan juga akan berubah.
Gambar 2.4 Pohon Breadth First Search untuk Water
Jug Problem.
Berikut
ini membahas 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 Means-Ends Analysis.
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 nasing-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.
Heuristic Beam Search
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.
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.
Gambar 3.1 Pencarian jalur menggunakan Simple Hill Climbing.
Steepest-Ascent HC
Gambar 3.2 Pencarian jalur menggunakan Steepest-Ascent Hill Climbing.
Pada
gambar 3.2 di atas, terjadi ambiguitas dimana fungsi heuristik node E dan node
F adalah sama. Misalkan dipilih F dan ternyata menemukan solusi di level 8.
Padahal terdapat solusi lain yang lebih optimal di level 2. Hal ini dikatakan
bahwa Steepest-Ascent Hill Climbing terjebak
pada solusi lokal (local minima).
Algoritma Steepest-Ascent HC:
1.
Evaluate 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 a complete iteration produces no change
to
current
state:
a).
Let SUCC be a state such that any
possible successor of the current state will be
better
than SUCC.
b).
For each operator that applies to the current state do:
(i)
Apply the operator and generate a new state.
(ii)
Evaluate the new state. If it is a goal state, return it and quit. If not,
compare
it
to SUCC. If it is better, then set SUCC to this state. If it is not better,
leave
SUCC alone.
c).
If the SUCC is better than current
state, then set current state to SUCC.
Best-First Search
Merupakan
metode yang membangkitkan suksesor dengan mempertimbangkan harga (didapat dari
fungsi heuristik tertentu) dari setiap node, bukan dari aturan baku seperti DFS
maupun BFS. Gambar 3.4 mengilustrasikan langkah-langkah yang dilakukan oleh
algoritma Best First Search. Pertama
kali, dibangkitkan node A. Kemudian semua suksesor A dibangkitan, dan dicari
harga paling minimal. Pada langkah 2, node D terpilih
karena
harganya paling rendah, yakni 1. Langkah 3, semua suksesor D dibangkitkan,
kemudian harganya akan dibandingkan dengan harga node B dan C. Ternyata harga
node
B
paling kecil dibandingkan harga node C, E, dan F. Sehingga B terpilih dan
selanjutnya
akan
dibangkitkan semua suksesor B. Demikian seterusnya sampai ditemukan node
Tujuan.
Gambar 3.4 Langkah-langkah yang dilakukan
oleh algoritma Best First Search.
Untuk
mengimplementasikan algoritma pencarian ini, diperlukan dua buah senarai,
yaitu: OPEN untuk mengelola node-node yang pernah dibangkitkan tetapi belum
dievaluasi dan CLOSE untuk mengelola node-node yang pernah dibangkitkan dan
sudah dievaluasi. Algoritma selengkapnya adalah sebagai berikut:
Algoritma Best-Fisrt Search:
1.
Start with OPEN containing just the
initial state.
2.
Until a goal is found or there are no nodes left on OPEN do:
a)
Pick the best node on OPEN.
b)
Generate its successors.
c)
For each successor do:
i.
If it has not been generated, evaluate it, add it to OPEN, and record its parent.
ii.
If it has been generated, change the parent if this new path is better than the
previous one. In that case, update the cost of getting to this node and to any
successors that this node may already have.
Bagian
4
Representasi
Pengetahuan
Pengetahuan dan Penalaran
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
Formal Language
|
Apa yang ada di
dunia nyata
|
Apa yang dipercaya agenttentang fakta
|
Propositional logic
|
Facts
|
True/false/unknown
|
First-order logic
|
Facts, objects, relations
|
True/false/unknown
|
Temporal logic
|
Facts, objects, relations, times
|
True/false/unknown
|
Probability theory
|
Facts
|
Degree of believe 0…1
|
Fuzzy logic
|
Degree of truth
|
Degree of believe 0…1
|
Propositional Logic
(Propositional Calculus)
Gambar 4.3 A BNF (Backus-Naur Form) Grammar of sentences inProportional Logic
Gambar 4.4 Aturan inferensi dalam Logika
Proposisi.
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 (Backus-Naur Form)
Konsep Dasar Representasi
Pengetahuan
Representasi Pengetahuan
berdasarkan LOGIKA
Proportional
Logic (Zero Order Logic)
Predicate
Logic (First Order Logic)
Representasi Pengetahuan
berdasarkan RULES
Pengetahuan Prosedural vs
Deklaratif
Logic
Programming
Production
Rules
Forward dan Backward Reasoning Matching
Forward and Backward Chaining
Gambar 4.6 Algoritma Inferensi
Forward-Chaining.
Semua
sentence yang dapat diinferensi dari sentence p dimasukkan ke KB. Jika p
baru, pertimbangkan setiap implikasi yang mempunyai premise yang sesuai dengan
p. Untuk setiap implikasi seperti itu, jika semua premise yang tersisa berada dalam KB, maka simpulkan conclusion
Jika premise dapat dicocokkan dengan beberapa cara
Representasi Pengetahuan
Berdasarkan Slot and Filler Structures
Semantic
Nets
Semantic Nets (Jaringan Semantik)
Terdapat
relasi yang penting untuk inferensi, seperti isa dan instance.
Dalam Kalkulus Predikat
dinyatakan (Binary predicate):
isa(Person,
Mammal)
instance(Pee-Wee-Reese,
Person)
team(Pee-Wee-Reese,
Brooklyn-Dodgers)
uniform-color(Pee-Wee-Reese,
Blue)
Dapat
dilakukan Inheritance untuk
menurunkan relasi tambahan:
Has-part(Pee-Wee-Reese,
Nose)
Representasi Nonbinary Predicate
Jaringan
Semantik untuk menggambarkan aspek dari kejadian tertentu.
Sebagai
contoh: “John gave the book to Mary”.
Frames
Frames System
Kumpulan
atribut (slot) dan nilai atribut yang mendeskripsikan suatu entitas.
Nilai
slot dapat berupa:
1.
Identifikasi frame
2.
relasi dengan frame lain (slotnya: isa, instance)
3.
batasan nilai
4.
nilai
5.
default nilai (dapat diubah)
6.
prosedur untuk mendapatkan nilai
7.
prosedur yang dibangkitkan data (Data Driven): prosedur yang harus dilakukan
jika
nilai
diubah, misalnya: periksa konsistensi.
8.
kosong: untuk ditelusuri pada subclass-nya
Jenis Frame: Kelas dan Contoh (Instance)
Atribut Kelas:
1.
Atribut tentang kelas itu sendiri.
2.
Atribut yang harus diturunkan pada setiap elemen dalam himpunan.
(a) A Frame-Based Knowledge
Base (b)
Translation into FOL
Scripts
Merupakan
representasi struktur yang mendeskripsikan aliran kejadian dalam konteks
tertentu. Dimaksudkan untuk mengorganisasikan CD dalam situasi tertentu.
Komponen:
1.
Entry condition : kondisi awal
2.
Result : kondisi akhir
3.
Props : yang harus ada
4.
Roles : aksi yang dibangun tiap individu
5.
Track : variasi spesifik pada pola yang lebih umum
6.
Scenes : potongan-potongan “adegan” dalam Script
Keuntungan:
1.
Mampu memprediksi event yang tidak disebutkan secara eksplisit.
2.
Menyediakan cara pembangunan interpretasi tunggal dari sekumpulan observasi.
3.
Mampu memfokuskan perhatian pada event yang “tidak biasa”.
Contoh 1:
John
pergi ke restaurant kemarin malam. Dia memesan steak. Saat membayar, dia
menyadari
uangnya kurang. Dia cepat pulang, karena hujan mulai turun.
Question: Apakah John makan malam?
(Dijawab
dengan mengaktifkan Script restaurant)
Dari
soal, urutan kejadian normal, sehingga pasti script restaurant berjalan normal,
jadi
John
pasti melewati tahap makan.
Contoh 2:
Susan
makan siang di luar. Dia duduk di meja dan memanggil pelayan. Pelayan
memberikan
menu dan Susan memesan hamburger.
Question: Mengapa pelayan memberikan menu?
Script
mengandung dua jawaban:
-
karena Susan meminta (backward)
-
agar Susan dapat menentukan apa yang ingin dimakannya (Forward)
Contoh 3:
John
pergi ke restaurant. Dia ditunjukkan mejanya. John memesan steak ukuran besar.
Dia
duduk dan menunggu lama. John marah dan pergi.
Conceptual Dependency (CD)
Merupakan
Strong Slot-and-Filler structure karena
menambahkan gagasan khusus tentang: apa tipe objek dan relasi yang diijinkan.
CD : Teori untuk merepresentasikan
pengetahuan tentang kejadian yang
terkandung dalam kalimat bahasa
natural. Dengan catatan: menggambarkan penalaran kalimat dan tidak bergantung
bahasa apa.
Contoh: I gave the man a book.
Dalam
CD, representasi aksi dibangun dari himpunan aksi primitif, yaitu:
ATRANS
|
Transfer of abstract relationship (e.g., give)
|
PTRANS
|
Transfer of physical location of an object (e.g., go)
|
PROPEL
|
Application of the physical force to an object (e.g., push)
|
MOVE
|
Movement of a body part by its owner (e.g., kick)
|
GRASP
|
Grasping of an object by an actor (e.g., clutch)
|
INGEST
|
Ingestion of an object by an animal (e.g., eat)
|
EXPEL
|
Expulsion of something from the body of an animal (e.g., cry)
|
MTRANS
|
Transfer of mental information (e.g., go)
|
MBUILD
|
Building new information out of old (e.g., decide)
|
SPEAK
|
Production of sound (e.g., say)
|
ATTEND
|
Focusing of a sense organ toward a stimulus (e.g., listen)
|
Terdapat
4 katagori konseptual primitif yang dapat dibangun, yaitu:
- ACTS
: aksi
- PPs
: objek /
gambaran prosedur
- AAs
: peubah
aksi (pendukung aksi)
- PAs
: peubah
PPs (pendukung gambaran)
Tenses:
p
|
Past
|
f
|
Future
|
t
|
Transition
|
ts
|
Start transition
|
tf
|
Finished transition
|
k
|
Continuing
|
?
|
Interrogative
|
/
|
Negative
|
nil
|
Present
|
delta
|
Timeless
|
c
|
Conditional
|
CD
tidak bisa membedakan yang alurnya sama. Misalnya : give, take, steal, donate.
CD
cocok untuk kalimat yang sederhana. Untuk primitif tingkat tinggi CD
merepotkan.
Misal: “John bet Sam $50 that the Mets would
win the World Series”
Sumber :
Tidak ada komentar:
Posting Komentar
Komentarnya ya...