Anda di halaman 1dari 15

ARTIFICIAL INTELLIGENCE

VII. PEMBAHASAN BEBERAPA BIDANG KECERDASAN BUATAN


7.1. Robotic MOVING BLOCK Penggeraknya disebut penggerak (mover). Yang dimaksud dengan moving block adalah prosedur yang akan menjawab serta menyelesaikan persoalan atau pertanyaan gerakan yang dilakukan oleh penggerak. Penggerak dalam hal ini diumpamakan bekerja dengan sekumpulan atau himpunan balok (block; benda-benda seperti: kubus, piramida dan lainlain) yang terletak pada suatu tempat untuk kemudian dipindah / disusun sesuai dengan perintah yang diberikan oleh kita. Untuk kesepakatan dalam memberikan perintah digunakan format sebagai berikut: put <block_name_1> on <block_name_2> <another_block_name> untuk melaksanakan instruksi atau perintah, penggerak harus merencanakan sederetan gerakan sehingga dapat mengambil / meletakkan hanya satu balok pada suatu waktu. put_on : Untuk menyusun balok di atas balok yang lain. Semua aksi dimulai dengan put_on. Dengan perintah put_on, dia akan bekerja untuk mendapatkan atau menemukan tempat pada balok target dan menggerakkan balok tersebut. : Menempatkan suatu balok pada tempat tertentu. Tempat yang akan ditempati harus dinyatakan dengan sistem koordinat. put_at akan bekerja dengan mencengkeram balok, menggerakkannya ke tempat tujuan koordinat Cxy dan melepaskannya. : Jika robot menggenggam balok, sesudah diberikan perintah grasp, maka grasp harus mengatur robot mengangkat balok juga grasp harus membersihkan semua benda obyek yang akan dijepit. : akan membersihkan semua benda yang berada di atas obyek tertentu. : Membersihkan obyek. Dia bekerja meletakkan obyek pada lokasi tertentu. : Melepaskan apapun yang dicengkeram. : Untuk mendapatkan ruang pada top balok target untuk memindahkan balok. Untuk melaksanakan kerja ini penggerak menggunakan find _space atau make_space. : Untuk mendapatkan ruang pada lokasi tertentu. Jika tidak ada ruang pada balok target, find_space menyerah. : Membantu jika find_space menyerah. make_space dapat melakukan lebih baik, karena ia dapat menyingkirkan balok yang menghalanginya. : Memindahkan obyek. : Memindahkan/menggerakkan tangan.

put_at

grasp

clear_top get_rid_of ungrasp get_space find_space make_space move_obyek move_hand

BY TONI KHALIMI, S.SI

Hal. #1

ARTIFICIAL INTELLIGENCE

Semua perintah-perintah untuk menggerakkan balok dapat digambarkan pada diagram berikut:

put_on

get_space ce find_space make_space

get_rid_of clear_top

put_at

grasp

move_hand move_object

ungrasp Keterangan: Garis putus-putus menunjukkan tidak selalu dilakukan.

C A D B E

BY TONI KHALIMI, S.SI

Hal. #2

ARTIFICIAL INTELLIGENCE

Misalkan kita ingin memindahkan balok C ke atas balok E. Dalam merencanakan gerakan tangan robot seolah-olah dengan memberikan suatu instruksi robot akan mengetahui urutan-urutan instruksi yang mestinya diterima sehingga robot dapat melaksanakan. Untuk menjawab persoalan ini perintah pertama yang diberikan adalah put_on. put_on akan meminta get_space koordinat balok C yang harus diletakkan di atas balok E. Dengan dimintanya get_space oleh put_on, get_space mencoba untuk mendapatkan find_space. Karena di atas E tidak ada yang menghalangi, maka kita dapat meminta grasp untuk menjepit C dan meminta move_object untuk menggerakan / memindahkan obyek dari suatu tempat ke tempat yang dituju. Tentu saja untuk maksud ini kita juga meminta move_hand. Akhirnya, setelah tepat di atas E, maka diminta untuk ungrasp. Langkah yang dilakukan: - grasp C - move C to some location on E - ungrasp C Goal and Subgoal Form A Tree Di dalam diagram pohon harus dinyatakan subgoal-subgoal yang harus dilakukan atau dicapai kedua-duanya atau salah satunya. Untuk keduaduanya digunakan istilah and, yang dalam penggambarannya dinyatakan sebagai .
Goal

Subgoal_1

Subgoal_2

Sedangkan untuk salah satu penggambarannya digunakan

digunakan
Goal

istilah .

or,

yang

dalam

Subgoal_1

Subgoal_2

Untuk contoh memindahkan balok C ke atas balok E di atas, bentuk diagram pohonnya adalah put_on C,E

get_space Exyz

put_at C,Exyz

find_space Exyz

grasp C move_hand

move_object C,Exyz

ungrasp C

Contoh yang lain: memindahkan balok A ke atas balok E. Langkah yang dilakukan adalah: - grasp C - move C to some location on the table C - ungrasp C - grasp A A - move A to some location on E
BY TONI KHALIMI, S.SI

Hal. #3

ARTIFICIAL INTELLIGENCE

ungrasp E

Diagram pohonnya adalah put_on A,E

get_space Exyz

put_at A,Exyz

find_space Exyz

grasp A

move_object A,Exyz

ungrasp A

clear_top A

get_rid_of C,A

find_space C,Tablexyz

put_at C,Tablexyz

put_on A,B move_object grasp C C,Tablexyz

ungrasp C

move_hand put_at A,B get_space B Sekarang, misalkan kita ingin memindahkan balok A ke atas balok B. Langkah yang dilakukan adalah - grasp D move_object ungrasp A - move D to some location grasp table on the A A,B find_space B D make_space B - ungrasp - grasp C D - move C to some location on the table C clear_top A - ungrasp C - get_rid_of find_space B grasp A B A - move A to some location on B D,B - ungrasp A get_rid_of C,A Sedangkan diagram pohonnya adalah sebagai berikut: put_at find_space D,Tablexyz D,Tablexyz find_space C,Tablexyz grasp D move_hand move_object D,Tablexyz ungrasp D grasp C move_hand
Hal. #4 move_object ungrasp C C,Tablexyz

put_at C,Tablexyz

BY TONI KHALIMI, S.SI

ARTIFICIAL INTELLIGENCE

Latihan: 1. What part of the analogy procedure would need replacement in order to handle the tree dimensional problem in figures below? What is the best answer? A

D C
BY TONI KHALIMI, S.SI Hal. #5

ARTIFICIAL INTELLIGENCE

2. Consider the three block tower. Create goal and subgoal tree that reflecting what mover does when asked to put A on B.

3. a. b. c. d. e.

Use goal and subgoal tree to answer the following question: Why did you move D? Why did you move C? Why did you move A? How did you the top of A? How did you get rid of C?

4. Consider the situation in figure. Create goal and subgoal tree that reflecting what mover does when asked to put A block on C block. C A 5. The exercises explore the calssic problem of transporting three missionaries and three cannibals accross a river in a boat that can help only two at a time. The constraint, of course is that the cannibals cannot out number the missionaries anywhere. What are they to do? 7.2. Sistem Pakar (Expert System) Sistem pakar mengharapkan komputer dapat melakukan kegiatan sebagaimana yang telah dilakukan oleh seorang ahli. Sehingga, suatu sistem pakar dapat dianalogikan sebagai cara berfikir seorang pakar melalui penalaran-penalaran dalam daerah domain tertentu. Untuk menuju kearah tersebut, diperlukan suatu program yang melakukan simulasi penalaran-penalaran seorang ahli yang berbekal pada pengetahuan-pengetahuan yang telah tersimpan di dalam basis data. Sebelum kita merencanakan suatu sistem pakar, kita harus membuat suatu aturan-aturan dasar (rule base) yang berlaku / akan digunakan pada program. Untuk sistem pakar yang sederhana, kita dapat menggunakan aturan-aturan logika yang ada pada bahasa pemrograman. Contoh aplikasi sistem pakar : medial diagnostik electronics circuit diagnostik mineral exploration CAI (komputer aided Instruction) Principles Of Rule Based Expert System 1. Production rule: if_then_ rule. if A then B A: condition part, Left Hand Side (LHS) B: action part, Right Hand Side (RHS) Sistem yang menggunakan aturan-aturan tersebut untuk merepresentasikan pengetahuan (knowledge) dinamakan
BY TONI KHALIMI, S.SI Hal. #6

ARTIFICIAL INTELLIGENCE

productions system. Untuk mendapatkan production system, ada 3 bagian : Rule base / knowledge base, berisi pola sisi kiri yang menentukan pemakaian aturan tertentu, dan sisi kanan yang menggambarkan tindakan yang harus dilakukan jika aturan tertentu tersebut digunakan. Data base / global database / working memory, berisi informasi tentang tugas-tugas khusus. Rule interpreter / inference system / inference engine. Interaksi dari 3 bagian di atas digambarkan sebagai berikut:

Interpreter Rule base Rule 1: if then Data base Rule 2: if then Symbols .............. .... Rule n: if then Istilah fire digunakan jika condition part dipenuhi yang berarti action part dilaksanakan / terjadi. Di dalam logika, kalimat bernilai benar (true) dalam sistem produksi diistilahkan fire. Contoh: Identifying drinks. Ada 5 jenis minuman : beer, wine, grape juice, mineral water, dan lemonade. Rule base : R1 : if for children then non alcoholic R2 : if for drivers then non alcoholic R3 : if non alcoholic then thirst quenching R4 : if ideal when hot then thirst quenching R5 : if thirst quenching and for adults only then beer R6 : if made from grapes and for adults only then wine R7 : if made from grapes and taste of fruit and non alcoholic then grape juice R8 : if thirst quenching and not taste of fruit and bubbling then mineral water R9 : if thirst quenching and taste of fruit and bubbling then lemonade Untuk menyingkat penyajian dapat digunakan notasi, misalnya: For children : A Made from grapes : I Non alcoholic : B Wine : J For drivers : C Taste of fruit : K Thirst quenching : D Grape juice : L Ideal when hot : E Bubbling : M For adults only : G Mineral water : N Beer : H Lemonade : O Sehingga rule base nya menjadi: R1 : A B
BY TONI KHALIMI, S.SI Hal. #7

ARTIFICIAL INTELLIGENCE

R2 R3 R4 R5 R6 R7 R8 R9

: : : : : : : :

C B B D E D D & G H I & G J I & K & B L D & not K & M N D & K & M O

H R5

J R6

L R7

N R8

O R9

a n d

a n d

a n d

a n d

M G I K

R4 E

n ot d

D R3 B R1 A R2 C

2. Active Memory / Database. Untuk mengetahui cara kerja sistem produksi, kita gunakan tahaptahap sebagai berikut: i. Cari semua aturan yang bagian kondisinya (LHS) nya benar. ii. Aktifkan aturan-aturan tadi yang akan mengakibatkan bagian aksi (RHS) menghasilkan simbol yang sudah disimpan di database. iii. Pilih aturan yang membuat fire, jika lebih dari satu, maka pilih yang mempunyai rule rendah. Jika tidak ada keluar dari situ. iv. Buat semua aturan non aktif dan kembali ke syarat satu untuk melakukan sikel ke-2.
BY TONI KHALIMI, S.SI Hal. #8

a n d

ARTIFICIAL INTELLIGENCE

Pada tahap pertama, semua kondisi (LHS) dievaluasi untuk nilai benar/salah (true/false). Tahap ke-2 dijaga jangan sampai terdapat duplikasi simbol di dalam database. Jika terjadi lebih dari satu aturan untuk sementara dipilih aturan terendah : ruas kiri (LHS) sesedikit mungkin. Misalnya : database (A,M,K) Mulai, sikel I. Pada tahap I Aturan 1 (R1) digunakan, R1 fire, B terjadi. Database menjadi (B,A,M,K) R1 non aktif. Sikel II: Aturan 3 (R3) digunakan, R3 fire, D terjadi. Database menjadi (B,A,M,K) R3 non aktif. Sikel III: Aturan 9 (R9) digunakan, R9 fire, O terjadi. Database menjadi (O,D,B,A,M,K) R9 non aktif. Jadi menghasilkan O = lemonade. 3. Controlling Strategy / Conflict Resolution Strategy Jika terdapat lebih dari satu aturan (rule) yang cocok dengan fakta, maka diperlukan pemilihan aturan mana yang didahulukan / diterapkan. Untuk maksud ini digunakan beberapa patokan: a. Pada waktu membuat aturan (rule base), supaya disusun menurut aturan prioritas. Untuk menentukan prioritas tidak ada patokan yang baku, tergantung dari pakar pembuat aturan. Ini disebut dengan rule order. b. Simbol/lambang/elemen yang disimpan di basis datanya terurut. Urutan simbol/lambang/elemen disesuaikan dengan urutan/prioritas dari rule basenya. Sehingga pada saat dilakukan pemindaian (scanning), simbol/lambang/elemen yang menyebabkan aturan dengan prioritas tertinggi yang dipilih (fire). Ini disebut data order. c. Jika lebih dari satu yang memenuhi, maka aturan yang lebih spesifik yang diambil. Ini dinamakan generating order (specify). d. Dipilih aturan yang mengakibatkan penambahan pada basis datanya. Misalkan pakar membuat rule order sebagai berikut: R1 : A B R2 : B C R3 : E D R4 : E & C K Maka urutan prioritasnya dari yang tertinggi sampai terendah adalah R1, R2, R3, dan R4. Dengan demikian, untuk database (B,E,C) langkah yang dilakukan R1 tidak dipilih, karena LHS salah (tidak ada dalam database)

BY TONI KHALIMI, S.SI

Hal. #9

ARTIFICIAL INTELLIGENCE

R2 tidak dipilih, karena tidak mengakibatkan penambahan database. R3 dipilih (fire), karena terjadi penambahan database. R4 tidak dipilih, karena prioritasnya lebih rendah dari R3. Sehingga menghasilkan (D,B,E,C). 7.3. Logika Samar (Fuzzy Logic) Logika samar dikembangkan pertama kali oleh Lotfi A. Zadeh, seorang ilmuwan Amerika berkebanggaan Iran dari Universitas California di Berkeley, melalui tulisanya tahun 1965. Logika samar umumnya diterapkan pada masalah-masalah yang mengandung unsur ketiakpastian (uncertainty). Contoh : Seseorang dikatakan tinggi jika tinggi badannya di atas 170 cm. Apakah orang yang tingginya 169,99 cm atau 165 cm termasuk kategori tinggi? menurut persepsi manusia, orang yang mempunyai tinggi sekitar 170 cm dikatakan kurang lebih tinggi atau agak tinggi. Kecepatan pelan didefinisikan di bawah 20 km/jam. Bagaimana dengan kecepatan 20,01 km/jam, apakah masih dapat dikatakan pelan? Kita mungkin mengatakan bahwa kecepatan 20,01 km/jam itu agak pelan. Kedua contoh di atas memperlihatkan bahwa ketidakpastian dalam kasus ini disebabkan oleh kaburnya pengertian agak, kurang lebih, sedikit, dan sebagainya. Fungsi Karakteristik Fungsi karakteristik merupakan cara untuk menyajikan himpunan. Fungsi karakteristik dilambangkan dengan , mendefinisikan apakah suatu unsur dari semesta pembicaraan merupakan anggota suatu himpunan atau bukan, yaitu:

A(x)

= 0, x A

1,

xA

Jadi, A memetakan X ke himpunan {0, 1}, yang dalam hal ini X adalah semesta pembicaraan. Contoh 1: Misalkan X = {1, 2, 3, 4, 5, 6} dan A X, yang dalam hal ini A = {1, 2, 5}. Dengan fungsi karakteristik, kita menyatakan A sebagai A = {(1,1), (2,1), (3,0), (4,0), (5,1) , (6,0)} Keterangan: (2,1) berarti A(2) = 1; (4,0) berarti A(4) = 0. Contoh 2: Misalkan X = {x|0 x 10, x R}. Misalkan A X , yang dalam hal ini A = {x|5 x 8, x R}. Maka kita dapat menyatakan bahwa

BY TONI KHALIMI, S.SI

Hal. #10

ARTIFICIAL INTELLIGENCE

(3) = 0 A(4,8) = 0 A(7) = 1 A(5,654) = 1


A

Pada gambar grafik di atas menunjukkan grafik fungsi karakteristik A. Garis tebal antara 5 dan 8 menyatakan bahwa nilai-nilai x di dalam selang tersebut memiliki keanggotaan 1, sedangkan di luarnya mempunyai nilai keanggotaan 0. Derajat Keanggotaan Logika samar dikembangkan dari teori himpunan samar (fuzzy set). Berbeda dengan himpunan klasik yang merupakan himpunan tegas (crisp set) dimana syarat keanggotaannya dinyatakan secara tegas, yakni apakah sebuah unsur x adalah anggota atau bukan. Misalkan V = himpunan kecepatan pelan (yaitu v 20 km/jam). Apakah kecepatan v = 20,001 km/jam termasuk ke dalam himpunan kecepatan pelan? Menurut himpunan tegas 20,001 V, tetapi menurut himpunan fuzzy tidak ditolak ke dalam himpunan V, tetapi diturunkan derajat keanggotaannya. Dalam teori himpunan fuzzy, keanggotaan suatu elemen di dalam himpunan dinyatakan dengan derajat keanggotaan (membership values) yang nilainya terletak di dalam selang [0, 1]. Derajat keanggotaan ditentukan dengan fungsi keanggotaan:
A

: X [0, 1]

Bandingkan dengan fungsi keanggotaan pada teori himpunan tegas:

: X {0, 1}

Arti derajat keanggotaan adalah sebagai berikut: Jika A(x) = 1, maka x adalah anggota penuh dari himpunan A Jika A(x) = 0, maka x bukan anggota dari himpunan A Jika A(x) = , dengan 0 < < 1, maka x adalah anggota dari himpunan A dengan derajat keanggotaan sebesar . Mendefinisikan Himpunan Fuzzy Misalkan himpunan fuzzy A didefinisikan pada semesta pembicaraan X = {x1, x2, . . ., xn}. Maka cara mendefinisikan himpunan fuzzy adalah sebagai berikut: Cara 1 : Untuk anggota himpunan fuzzy bernilai diskrit. Sebagai himpunan pasangan berurutan A = { (x1, A(x1)), (x2, A(x2)), . . . , (xn, A(xn)) }

BY TONI KHALIMI, S.SI

Hal. #11

ARTIFICIAL INTELLIGENCE

Contoh 3: Misalkan X = {becak, sepeda motor, mobil kodok (VW), mobil kijang, mobil carry} dan A = himpunan kendaraan yang nyaman dipakai untuk bepergian jarak jauh oleh keluarga besar (terdiri dari ayah, ibu, dan empat orang anak). Didefinisikan bahwa, x1 = becak, A(x1) = 0 x2 = sepeda motor, A(x2) = 0.1 x3 = mobil kodok, A(x3) = 0.5 x4 = mobil kijang, A(x4) = 1.0 x5 = mobil carry, A(x5) = 0.8 maka, dalam himpunan fuzzy, A = { (becak, 0), (sepeda motor, 0.1), (mobil kodok, 0.5), (mobil kijang, 1.0), (mobil carry, 0.8) } Cara 2 : Untuk anggota himpunan fuzzy bernilai kontinu (real). Dinyatakan dengan menyebut fungsi keanggotaan. Contoh 4: Misalkan A = himpunan bilangan riil yang mendekati 2. Maka, dalam himpunan fuzzy, A = { (x, (x)) | (x) = (1 + (x 2)2 ) }. Cara 3 : Dengan menuliskan sebagai A = { =
A (x1) A (x2 ) A (xn ) + +...+ } x1 x2 xn
n A i i

x(x )
i =1

untuk x diskrit, atau A = {

A (x) x

untuk x kontinu. Lambang bukan berarti integral. Contoh 5: i. Diskrit X = himpunan bilangan bulat positif. A = himpunan bilangan bulat yang mendekati 10 = { 0.1/7 + 0.5/8 + 1.0/10 + 0.8/11 + 0.5/12 + 0.1/13} i. Kontinu X = himpunan bilangan riil positif.
BY TONI KHALIMI, S.SI Hal. #12

ARTIFICIAL INTELLIGENCE

A = himpunan bilangan riil yang mendekati 10 =

1/(1 + (x -10)2 ) / x

Operasi Himpunan Fuzzy Misalkan himpunan fuzzy A dan himpunan fuzzy B masing-masing memiliki fungsi keanggotaan yang grafiknya adalah seperti pada gambar di bawah

(a)

(b)

Operasi-operasi pada himpunan fuzzy didefinisikan sebagai berikut : 1. Gabungan A B


AB

= A(x) B(x) = max( A(x), B(x))

A B diartikan sebagai x dekat A atau x dekat B Grafik fungsi keanggotaan A B digambarkan pada Gambar di bawah berikut, garis yang lebih tebal menunjukkan derajat keanggotaan hasil gabungan.

A B

2.

Irisan A B
AB

= A(x) B(x) = min( A(x), B(x))

A B diartikan sebagai x dekat A dan x dekat B

A B

Grafik fungsi keanggotaan A B digambarkan pada gambar di atas, garis yang lebih tebal menunjukkan derajat keanggotaan hasil irisan.
BY TONI KHALIMI, S.SI Hal. #13

ARTIFICIAL INTELLIGENCE

3.

Komplemen

= 1 - A(x)

diartikan sebagai x tidak dekat A. Grafik fungsi keanggotaan digambarkan pada gambar di bawah, garis yang lebih tebal menunjukkan derajat keanggotaan hasil komplemennya.

Logika Fuzzy (Fuzzy Logic) Pada logika klasik, nilai kebenaran proposisi adalah 1 (true) atau 0 (false). Tetapi pada logika fuzzy, nilai kebenaran proposisi adalah nilai riil di dalam selang [1, 0]. Misalkan p adalah proposisi yang didefinisikan pada himpunan fuzzy A, maka nilai kebenaran proposisi p adalah T(p). T(p) = A(x), 0
A

Jadi, nilai kebenaran p : x A sama dengan derajat keanggotaan x di dalam A. Dua bentuk proposisi di dalam logika fuzzy: 1. Proposisi atomik, berbentuk x is A yang dalam hal ini, x adalah peubah linguistik dan A adalah terma/nilai linguistik. Contoh: proposisi dalam bahasa Inggris man is old. Jika x = 50 dan fungsi keanggotaan old adalah
0, x 45 = ( x 45) / 15, 45< x < 60 1, x 60

old

maka nilai kebenaran 42 is old adalah (50 45) / 15 = 1/3 = 0.3333 2. Proposisi majemuk, berbentuk x is A or y is B x is A and y is B Contoh: temperature is cold or it is rainy 7.4. Bahasa Alamiah 7.5. Pengenalan Suara 7.6. Neural Networks
BY TONI KHALIMI, S.SI Hal. #14

ARTIFICIAL INTELLIGENCE

7.7.

BY TONI KHALIMI, S.SI

Hal. #15

Anda mungkin juga menyukai