MEA adalah teknik analisis yang digunakan dalam AI untuk membatasi pencarian solusi masalah dengan menganalisis langkah-langkah yang dapat diambil untuk mencapai tujuan."
2. APA ITU MEA?
MEANS = SARANA / CARA / JALAN / LANGKAH / ACTIONS
ENDS = AKHIR / TUJUAN / GOALS
ANALYSIS = ANALISA
MEA = ANALISA LANGKAH-LANGKAH UNTUK MENCAPAI TUJUAN
Analisis Mean-Ends (MEA)
adalah teknik pemecahan
masalah yang biasa digunakan
dalam Artificial Intelligence (AI)
untuk membatasi pencarian
dalam program AI
3. BAGAIMANA MEA
BEKERJA?
Teknik MEA adalah strategi untuk mengontrol pencarian dalam
pemecahan masalah.
• Dengan menciptakan kondisi saat ini dan kondisi tujuan,
• Sebuah tindakan dipilih yang akan mengurangi perbedaan antara
keduanya. Tindakan dilakukan pada kondisi saat ini untuk
menghasilkan kondisi baru, dan proses diterapkan secara
rekursif ke kondisi baru ini dan kondisi tujuan.
Perhatikan bahwa, agar MEA menjadi efektif, sistem pencarian
tujuan harus:
• Memiliki langkah yang relevan dengan segala macam perbedaan
antara kondisi awal dan tujuan.
• Memberi kemajuan, karena beberapa urutan tindakan yang
dicoba mungkin gagal dan, karenanya, beberapa urutan alternatif
dapat dicoba.
4. APA MAKSUT DARI
REKURSIF?
Rekursif = Generate and Test / jalankan & uji
Caranya dengan:
· Hingga solusi yang memuaskan ditemukan atau tidak ada
lagi solusi yang dapat dihasilkan, Jalankan terus
kemungkinan solusi yang dapat dipakai.
- Uji solusi tersebut, jika solusi menghasilkan tujuan yang
diinginkan, status=berhasil, jika tidak, status=gagal.
5. CONTOH REKURSIF
Password: 00-00-00 (6 digit)
Metode: mencoba semua kemungkinan password yang ada
Jumlah kombinasi: 100 x 100 x 100 = 1 juta kombinasi
Memakan waktu berapa lama?
Asumsi: 1 menit = 3 password, TOTAL BUTUH 330.000 menit
Rata-rata(bagi dua):
165.000 menit ---> 2750 jam ---> 114 hari ---> 16 minggu
(apabila bekerja 24 jam per hari)
6. SUSUNAN DASAR MEA
1. Tentukan tujuan (Cth: Bawa anak saya ke sekolah )
2. Mendefinisikan syarat untuk mencapai tujuan
misalnya, syarat untuk mengantar anak saya ke sekolah penitipan
anak adalah bahwa putra saya ada di rumah dan mobilnya bisa
dipakai.
3. Mendefinisikan langkah ("operator") untuk mengubah satu
set kondisi ke kondisi lain
Misalnya untuk memastikan bengkel mobil mendapat uang saya,
kita dapat mendefinisikan operator:
"memberikan uang toko" yang mengubah kondisi sehingga:
"toko memiliki uang" = benar dan
"Saya punya uang" = salah.
7. ALGORITMA DASAR DARI MEA
begin:
- save initial conditions as "current state“
- try to achieve all goals how to achieve all goals:
for each goal:
- try to achieve the goal
- if all goals were achieved, return success
how to achieve a goal:
- if goal is already met (in current state), return success (it's achieved)
- else,
for each operator:
- if operator's "add list" contains the goal,
- try to apply the operator
- if successful, return success
- if no operators were successful,
- - return failure
8. CONTOH ALGORITMA DASAR
DARI MEA
Saya ingin membawa putra saya ke sekolah. Apa perbedaan
antara apa yang saya miliki dan apa yang saya inginkan?
1. jarak. Apa yang mengubah jarak?
2. Mobil saya. Mobil saya tidak akan berfungsi. Apa yang
dibutuhkan untuk membuatnya bekerja?
3. Baterai baru. Apa yang memiliki baterai baru?
4. Bengkel. Saya ingin bengkel untuk memasukkan baterai
baru; tapi tokonya tidak tahu saya memerlukannya. Apa
kesulitannya? Salah satu komunikasi. Apa yang
memungkinkan komunikasi?
5. Telepon ... dan sebagainya.
9. OPERATOR TERDIRI DARI:
1. Actions (cth: "Berikan uang toko")
2. Syarat (cth: "Punya uang")
Terjadilah perubahan kondisi yang dihasilkan dari mengambil
tindakan; kira dapat menetapkan ini sebagai ketentuan yang
ditambahkan dan ketentuan dihapus:
• Memberikan uang toko menambahkan kondisi "toko memiliki
uang"
• memberikan uang toko menghapus kondisi "punya uang"
(yang juga merupakan syarat)
GPS dapat memecahkan masalah apa pun yang dapat
ditimbulkan dengan cara ini. Namun, seperti yang akan kita lihat,
ia menggunakan semacam proses pencarian yang akan
membutuhkan terlalu banyak waktu untuk menyelesaikan
masalah yang rumit (seperti bermain catur). Itu bisa
menyebabkan AI mengalami ledakan kombinasi.
10. ALGORITMA UNTUK MENJALANKAN
OPERATOR:
- try to achieve all of the operator's preconditions (treat
them as goals)
- if successful (all preconditions met),
- mark the operator as "applied"
- add conditions in the operator's "add list" to the current
state
- delete conditions in the operator's "delete list" from the
current state
- return success
- else,
- return failure
11. SISTEM AI YANG
MENGGUNAKAN MEA
Teknik MEA sebagai strategi pemecahan masalah pertama kali
diperkenalkan pada tahun 1961 oleh Allen Newell dan Herbert A.
Simon dalam program pemecahan masalah komputer mereka
yakni General Problem Solver (GPS).
Dalam implementasi itu, hubungan antara perbedaan dan
tindakan(operators), menciptakan teori dalam sistem untuk
memecahkan masalah. (Dalam GPS, pengetahuan ini berbentuk
tabel)
Prodigy, sebuah alat pemecah masalah yang dikembangkan
dalam proyek perencanaan otomatis yang dibantu pembelajaran
yang lebih besar adalah sistem lain yang menggunakan MEA.
13. MONKEY & BANANAS
Monyet lapar ada di kamar. Ditangguhkan dari atap, hanya di
luar jangkauannya, adalah sekumpulan pisang. Di sudut
ruangan ada sebuah kotak. Monyet itu sangat menginginkan
pisang tetapi dia tidak dapat menjangkau mereka. Apa yang
harus dia lakukan?
14. MONKEY & BANANAS
Setelah beberapa kali gagal mencapai pisang, monyet berjalan
ke kotak, mendorongnya di bawah pisang, memanjat kotak,
mengambil pisang, dan memakannya.
Monyet yang lapar sekarang adalah monyet yang bahagia.
15. ANALISA OBJEK
Dalam masalah MONKEY & BANANA KITA memiliki:
• benda: monyet, kotak, pisang, dan lantai.
• lokasi: kami akan menyebutnya a, b, dan c.
Hubungan benda ke lokasi. Sebagai contoh:
• monyet berada di lokasi;
• monyet ada di lantai;
• pisang tergantung;
• kotak itu berada di lokasi yang sama dengan pisang.
Untuk merepresentasikan hubungan ini kita perlu memilih predikat dan
argumen yang tepat:
• at(monkey,a).
• on(monkey,floor).
• status(bananas,hanging).
• at(box,X), at(bananas,X).
16. INITIAL AND GOAL STATE
Setelah kami memutuskan predikat keadaan yang sesuai, kami perlu
mewakili keadaan Awal dan Tujuan.
Initial State(Kondisi Awal):
on(monkey, floor),
on(box, floor),
at(monkey, a),
at(box, b),
at(bananas, c),
status(bananas, hanging).
Goal State (Tujuan:
on(monkey, box),
on(box, floor),
at(monkey, c),
at(box, c),
at(bananas, c),
status(bananas, grabbed).
17. ANALISA OPERATORS
STRIPS operators are defined as:
• NAMA: Bagaimana kita menyebutkan operator.
Misalnya: go(Agent, From, To).
• SYARAT: Apa kondisi yang dibutuhkan oleh operator untuk
diterapkan. misalnya [at(Agent, From)].
• ADD LIST: Status baru apa yang ditambahkan sebagai akibat
penerapan operator, misalnya [at(Agent, To)].
• DELETE LIST: Status baru apa yang dihapus sebagai akibat
penerapan operator, misalnya [at(Agent, From)].
( go(Agent,From,To),
[at(Agent, From)],
[at(Agent, To)],
[at(Agent, From)] ).
NAMA
SYARAT
Add List
Delete List
18. MENCARI SOLUSI
1. Lihatlah keadaan lingkungan:
Apakah itu kondisi tujuan? Jika demikian, daftar operator sejauh ini adalah
rencana yang akan diterapkan.
Jika tidak, lanjutkan ke Langkah 2.
2. Pilih operator:
Periksa bahwa operator sejenis belum diterapkan (untuk menghentikan
perulangan).
Periksa apakah syarat dipenuhi.
Jika salah satu dari pemeriksaan ini gagal, kembalikan untuk mendapatkan
operator lain.
3. Terapkan operator:
Buat perubahan pada kondisi: hapus kondisi sebelumnya dan tambahkan
kondisi baru.
Tambahkan operator ke daftar operator yang sudah diterapkan.
Kemudian GO TO Langkah 1 hingga menemukan operator yang cukup.
19. 18/11/04
AIPP Lecture 18: Planning
19
% Pertama, periksa apakah status GOAL adalah bagian dari
keadaan saat ini.
solve(State, Goal, Plan, Plan):-
is_subset(Goal, State)
solve(State, Goal, Sofar, Plan):-
opn(Op, Precons, Delete, Add), % dapatkan operator
pertama+ member(Op, Sofar), % cek looping
is_subset(Precons, State), % cek syarat
delete_list(Delete, State, Remainder), % hapus kondisi lama
append(Add, Remainder, NewState), % tambah kondisi baru
solve(NewState, Goal, [Op|Sofar], Plan).% lakukan rekursif
ALGORITMA MENCARI SOLUSI
23. 18/11/04
AIPP Lecture 18: Planning
23
KESIMPULAN
on(monkey,box),on(box,floor),at(monkey,Y),at(box,Y),at(ba
nanas,c),status(bananas,hanging)
grab(bananas)
on(monkey,box),on(box,floor),at(monkey,c),at(box,c),at(ba
nanas,c),status(bananas,grabbed)
on(monkey,floor),on(box,floor),at(monkey,a),at(box,b),at(ba
nanas,c),status(bananas,hanging)
on(monkey,floor),on(box,floor),at(monkey,b),at(box,b),at(b
ananas,c),status(bananas,hanging)
go(a,b)
push(box,b,Y)
on(monkey,floor),on(box,floor),at(monkey,Y),at(box,Y),at(b
ananas,c),status(bananas,hanging)
climbon(box)
GOAL
Y = c
Y = c
Editor's Notes
MEA ini sebenernya berdasarkan pola pikir manusia.
CONTOHNYA kalau JEPRI mau pergi ke kampus dari rumah. KONDISI AWALNYA JEPRI DI RUMAH, TUJUAN/GOALS NYA JEPRI SAMPAI DI KAMPUS.
Ada banyak sekali kemungkinan langkah untuk mencapai tujuan yakni Kampus untuk tahu mana langkah yang dibutuhkan
TENTUKAN SYARAT UNTUK MENCAPAI TUJUAN YAKNI KAMPUS YAKNI CARA BERANGKATNYA:
bisa naik sepeda, bisa naik mobil, bisa naik kereta.
SYARAT KEDUA
kendaraan apa biar cepet sampai, nyaman, dan ekonomis.
Kemudian pikirkan kondisi APAKAH MEMENUHI SYARAT? mobil ga punya, kereta masih coming soon, sepeda capek, akhirnya ditemukanlah jalan paling bagus, nebeng teman,memenuhi syarat kan? ekonomis, nyaman.
Rekursif maksutnya menggunakan metode yang sama berulang-ulang
Ambil rata-rata karena kemungkinan besar dari sejuta kemungkinan baru sampe setengahnya kita sudah ketemu. Kalau sampai 1 juta baru ketemu itu namanya super sial.
(Contoh dikutip dari Newell dan Simon dari buku 1972 berjudul Human Problem Solving)
Ketika operator diterapkan, informasi dalam prakondisinya digunakan untuk memberi contoh sebanyak mungkin variabelnya.
Hanya keadaan terakhir ini yang bisa diketahui tanpa
mengetahui detail dari Rencana (yaitu status(bananas, grabbed).MONYET MENDAPATKAN PISANG)
Ketika operator diterapkan, informasi dalam prakondisinya digunakan untuk memberi contoh sebanyak mungkin variabelnya.
memilih operator push (dorong)karena merupakan operator berikutnya setelah go / 2 disimpan dalam database dan pergi (a, X) sekarang disimpan dalam daftar SoFar jadi GO (X, Y) tidak dapat diterapkan lagi .
syarat push mengharuskan monyet berada di lokasi yang sama dengan kotak sehingga lokasi variabel, X, dari langkah terakhir mewarisi nilai b.
Operator hanya menentukan bahwa monyet harus memanjat sesuatu di lokasi yang sama; bukan itu pasti sesuatu yang lain dari dirinya sendiri!
Instansiasi ini gagal setelah mencoba untuk memenuhi prasyarat untuk operator ambil / 1. memecahkan / 4 backtracks dan mencocokkan pendakian (kotak) sebagai gantinya.
Untuk monyet untuk mengambil pisang itu harus di lokasi yang sama, sehingga lokasi variabel Y mewarisi c. Ini menciptakan rencana yang lengkap.