Anda di halaman 1dari 10

Msalah, Ruang Keadaan, dan

Pencarian 2

Seperti telah kita ketahui bahwa, pada sistem yang menggunakan kecerdasan buatan,
akan mencoba untuk memberikan output berupa solusi dari suatu masalah berdasarkan
kumpulan pengetahuan yang ada (Gambar 2.1).

Sistem yang
menggunakan AI

MASALAH SOLUSI
Basis Inference
Pengetahu Engine
an

Gambar 2.1 Sistem yang menggunakan kecerdasan buatan.

Pada Gambar 2.1, input yang diberikan pada sistem yang menggunakan kecerdasan
buatan berupa masalah. Pada sistem harus dilengkapi dengan sekumpulan pengetahuan
yang ada pada basis pengetahuan. Sistem harus memiliki inference engine agar mampu
mengambil kesimpulan berdasarkan fakta atau pengetahuan. Output yang diberikan
berupa solusi masalah sebagai hasil dari inferensi.

Secara umum, untuk membangun suatu sistem yang mampu


menyelesaikan masalah, perlu dipertimbangkan 4 hal:
1. Mendefinisikan masalah dengan tepat. Pendefinisian ini mencakup
spesifikasi yang tepat mengenai keadaan awal dan solusi yang
diharapkan.
2. Menganalisis masalah tersebut serta mencari beberapa teknik
penyelesaian masalah yang sesuai.
3. Merepresentasikan pengetahuan yang perlu untuk menyelesaikan
masalah tersebut.
4. Memilih teknik penyelesaian masalah yang terbaik.

2.1 MENDEFINISIKAN MASALAH SEBAGAI SUATU RUANG KEADAAN


Misalkan permasalahan yang dihadapi adalah “Permainan Catur”, maka harus
ditentukan:

1. Posisi awal pada papan catur;


Posisi awal setiap permainan catur selalu sama, yaitu semua bidak diletakkan di atas papan catur dalam 2 sisi, yaitu kubu putih dan
kubu hitam (Gambar 2.2).
Gambar 2.2 Keadaan awal permainan catur.

2. Aturan-aturan untuk melakukan gerakan secara legal;


Aturan-aturan ini sangat berguna untuk menentukan gerakan suatu
bidak, yaitu melangkah dari satu keadaan ke keadaan lain. Misalkan
untuk mempermudah menunjukkan posisi bidak, setiap kotak
ditunjukkan dalam huruf (a, b, c, d, e, f, g) pada arah horisontal, dan
angka (1, 2, 3, 4, 5, 6,7 8) pada arah vertikal. Suatu aturan untuk
menggerakkan bidak dari posisi (e,2) ke (e,4), dapat ditunjukkan
dengan aturan:

IF Bidak putih pada Kotak(e,2),


And Kotak(e,3) Kosong,
And Kotak(e,4) Kosong
Then Gerakkan bidak dari (e,2) ke (e,4)

Seperti terlihat pada Gambar 2.3.

Gambar 2.3 Gerakan bidak catur.


3. Tujuan (goal);
Tujuan yang ingin dicapai adalah posisi pada papan catur yang menunjukkan
kemenangan seseorang terhadap lawannya. Kemenangan ini ditandai dengan posisi
Raja yang sudah tidak dapat bergerak lagi. Gambar 2.4 merupakan salah satu
contoh tujuan telah tercapai, yaitu Raja pada bidak hitam sudah tidak dapat
bergerak lagi.

Gambar 2.4 Salah satu Raja mati.

Contoh di atas menunjukkan representasi masalah dalam Ruang Keadaan (State


Space), yaitu suatu ruang yang berisi semua keadaan yang mungkin. Kita dapat
memulai bermain catur dengan menempatkan diri pada keadaan awal, kemudian
bergerak dari satu keadaan ke keadaan yang lain sesuai dengan aturan yang ada, dan
mengakhiri permainan jika salah satu telah mencapai tujuan.

Sehingga secara umum, untuk mendeskripsikan masalah dengan baik,


harus:
1. Mendefinisikan suatu ruang keadaan;
2. Menetapkan satu atau lebih keadaan awal;
3. Menetapkan satu atau lebih tujuan;
4. Menetapkan kumpulan aturan.

Ada beberapa cara untuk merepresentasikan Ruang Keadaan, antara lain:

2.1.1 Graph Keadaan


Graph terdiri-dari node-node yang menunjukkan keadaan yaitu keadaan awal dan
keadaan baru yang akan dicapai dengan menggunakan operator. Node-node dalam
graph keadaan saling dihubungkan dengan menggunakan arc (busur) yang diberi panah
untuk menunjukkan arah dari suatu keadaan ke keadaan berikutnya.
Dalam praktiknya, sangatlah sulit untuk menggambarkan graph keadaan. Pada Gambar
2.5 menunjukkan graph berarah dengan node M menunjukkan keadaan awal, dan node
T adalah tujuan. Pada Gambar 2.5 tersebut, kita dapat melihat ada lintasan 4 dari M ke
T, yaitu:
 M-A-B-C-E-T
 M-A-B-C-E-H-T
 M-D-C-E-T
 M-D-C-E-H-T
Pada graph ini, ada juga lintasan yang tidak sampai ke tujuan atau menemui jalan
buntu, yaitu:
 M-A-B-C-E-F-G
 M-A-B-C-E-I-J
 M-D-C-E-F-G
 M-D-C-E-I-J
 M-D-I-J

A 3 F
1 G
4
B
4 E
6 7
2
M C T
8 H 6
5 3
I J
4
D 2

Gambar 2.5 Graph Keadaan

Bentuk graph seperti ini biasanya cukup sulit untuk direpresentasikan dalam suatu
software, karena sangat memungkinkan adanya siklus dalam graph tersebut. Sebagai
contoh, pada graph Gambar 2.5, tanpa mempertimbangkan arah, akan didapat siklus:
D-C-E-I-D, node-node ini akan selalu berulang.

2.1.2 Pohon Pelacakan


Untuk menghindari kemungkinan adanya proses pelacakan suatu node secara berulang,
maka digunakan struktur pohon.
M Level-0

D Level-1
A

B I C Level-2

J E Level-3
C
Buntu

E F I H Level-4
T
Tujuan

F I H G J T Level-5
T
Buntu Buntu
Tujuan
Tujuan
G J Level-6
Buntu Buntu
T
Tujuan

Gambar 2.6 Struktur Pohon


Struktur pohon digunakan untuk menggambarkan keadaan secara hirarkis. Pohon juga
terdiri-dari beberapa node. Node yang terletak pada level-0 disebut dengan nama
“akar”. Node akar menunjukkan keadaan awal yang biasanya merupakan topik atau
obyek. Node akar ini terletak pada level ke nol. Node akar memiliki beberapa
percabangan yang terdiri-atas beberapa node successor yang sering disebut dengan
nama “anak” dan merupakan node-node perantara. Namun jika dilakukan pencarian
mundur, maka dapat dikatakan bahwa node tersebut memiliki predecessor. Node-node
yang tidak memiliki anak sering disebut dengan nama node “daun” yang menunjukkan
akhir dari suatu pencarian, dapat berupa tujuan yang diharapkan (goal) atau jalan buntu
(dead end). Gambar 2.6 menunjukkan pohon pencarian untuk graph pada gambar 2.5
dengan 6 level.
Pada Gambar 2.6 tersebut, sudah tidak terlihat lagi adanya siklus, karena setiap node
tidak diperbolehkan memiliki cabang kembali ke node dengan level yang lebih rendah.

2.1.3 Pohon AND/OR


Pada Gambar 2.7a terlihat ada suatu masalah M yang hendak dicari solusinya dengan 3
kemungkinan yaitu A, B atau C. Artinya, masalah M bisa diselesaikan jika salah satu dari
subgoal A, B, atau C tidak terpecahkan. Lain halnya dengan gambar 2.7b, masalah M
hanya dapat diselesaikan dengan A AND B AND C. Dengan kata lain, untuk memecahkan
masalah M, maka harus dipecahkan subgoal A, B dan C terlebih dahulu. Pohon semacam
ini disebut dengan Pohon AND/OR.

M M

arc yang
A B C A terletak B C
antara busur
berarti AND

(a) (b)
Gambar 2.7 Node AND/OR

Gambar 2.8 memperlihatkan pencapaian tujuan pada graph Gambar 2.5 dengan
menggunakan Pohon AND/OR. Dengan mengunakan pohon AND/OR, tujuan yang dicapai
pada pohon (Gambar 2.6) sampai pada level-6 bisa dipersingkat hanya sampai pada
level-2 saja.

M Level-0

A B C E D C E Level-1

H H Level-2
T T T T

Gambar 2.8 Pohon AND/OR

Contoh 2.1: Masalah teko air.


Ada 2 buah teko masing-masing berkapasitas 4 galon (teko A) dan 3 galon (teko B).
Tidak ada tanda yang menunjukkan batas ukuran pada kedua teko tersebut. Ada sebuah
pompa air yang akan digunakan untuk mengisikan air pada kedua teko tersebut
(Gambar 2.9). Permasalahannya: Bagaimanakah kita dapat mengisikan tepat 2 galon air
ke dalam teko yang berkapasitas 4 galon?

Air
4 galon tak terbatas
(teko A) 3 galon
(teko B)

Gambar 2.9 Permasalahan Teko air.

Penyelesaian:
A. Identifikasi ruang keadaan.
Permasalahan ini dapat direpresentasikan dengan 2 bilangan integer,
yaitu x dan y:
 x = air yang diisikan pada teko 4 galon (teko A);
 y = air yang diisikan pada teko 3 galon (teko B);
Ruang keadaan: (x,y) sedemikian hingga x{0,1,2,3,4} dan
y{0,1,2,3}.

B. Keadaan awal & tujuan.


 Keadaan awal, kedua teko dalam keadaan kosong: (0,0);
 Tujuan, keadaan dimana pada teko 4 galon berisi tepat 2 galon air:
(2,n) untuk sembarang n.

C. Keadaan teko air.


Keadaan kedua teko dapat dilihat pada Gambar 2.10.

Keadaan Tujuan
Awal
(0,0) (1,0) (2,0) (3,0) (4,0)

(0,1) (1,1) (2,1) (3,1) (4,1)

(0,2) (1,2) (2,2) (3,2) (4,2)

(0,3) (1,3) (2,3) (3,3) (4,3)

Gambar 2.10 Keadaan teko air.

D. Aturan-aturan.
Aturan-aturan dapat digambarkan seperti pada Tabel 2.1.

Tabel 2.1 Aturan-aturan masalah teko air.

Aturan Jika Maka


ke-
1. (x,y) (4,y)
x<4 Isi teko A.
2. (x,y) (x,3)
y<3 Isi teko B.
3. (x,y) (x-d,y)
x>0 Tuangkan sebagian air keluar
dari teko A.
4. (x,y) (x,y-d)
y>0 Tuangkan sebagian air keluar
dari teko B.
5. (x,y) (0,y)
x>0 Kosongkan teko A dengan
membuang airnya ke tanah.
6. (x,y) (x,0)
y>0 Kosongkan teko B dengan
membuang airnya ke tanah.
7. (x,y) (4,y-(4-x))
x+y  4 dan y > Tuangkan air dari teko B ke
0 teko A sampai teko A penuh.
8. (x,y) (x-(3-y),y)
x+y  3 dan x > Tuangkan air dari teko A ke
0 teko B sampai teko B penuh.
9. (x,y) (x+y,0)
x+y  4 dan y > Tuangkan seluruh air dari
0 teko B ke teko A.
10. (x,y) (0,x+y)
x+y  3 dan x > Tuangkan seluruh air dari
0 teko A ke teko B.
11. (0,2) (2,0)
Tuangkan 2 galon air dari
teko B ke teko A.
12. (2,y) (0,y)
Kosongkan 2 galon air di teko
A dengan membuang airnya
ke tanah.

E. Representasi ruang keadaan dengan pohon pelacakan.


Pencarian suatu solusi dapat dilukiskan dengan menggunakan pohon (Gambar 2.11).
Tiap-tiap node menunjukkan satu keadaan. Jalur dari parent ke child menunjukkan satu
operasi. Tiap-tiap node pada pohon pelacakan ini memiliki node-node child yang
menunjukkan keadaan yang dapat dicapai oleh parent. Salah satu solusi yang dapat
ditemukan seperti terlihat pada Tabel 2.2.
(0,0
)

(4,0 (0,3
) )

(4,3 (0,0 (1,3 (4,3 (0,0 (3,0


) ) ) ) ) )

Gambar 2.11 Representasi ruang keadaan pada masalah teko air.

Tabel 2.2 Contoh solusi pada masalah teko air.


Isi Teko A Isi Teko B Aturan yang
(gallon) (gallon) dipakai
0 0 2
0 3 9
3 0 2
3 3 7
4 2 5
0 2 9
2 0 solusi

Contoh 2.2: petani, kambing, serigala dan sayur-sayuran.


Seorang petani akan menyeberangkan seekor kambing, seekor serigala, dan sayur-
sayuran dengan sebuah boat yang melalui sungai. Boat hanya bisa memuat petani dan
satu penumpang yang lain (kambing, serigala atau sayur-sayuran). Jika ditinggalkan
oleh petani tersebut, maka sayur-sayuran akan dimakan oleh kambing, dan kambing
akan dimakan oleh serigala.

Penyelesaian:
A. Identifikasi ruang keadaan.
Permasalahan ini dapat dilambangkan dengan (JumlahKambing, JumlahSerigala,
JumlahSayuran, JumlahBoat). Sebagai contoh: Daerah asal (0,1,1,1) berarti pada
daerah asal tidak ada kambing, ada serigala, ada sayuran, dan ada boat.

B. Keadaan awal & tujuan.


 Keadaan awal, pada kedua daerah:
o Daerah asal: (1,1,1,1)
o Daerah seberang: (0,0,0,0)
 Tujuan, pada kedua daerah:
o Daerah asal: (0,0,0,0)
o Daerah seberang: (1,1,1,1)

D. Aturan-aturan.
Aturan-aturan dapat digambarkan seperti pada Tabel 2.3.

Tabel 2.3 Aturan-aturan masalah teko air.

Aturan
Aturan
ke-
1. Kambing menyeberang
2. Sayuran menyeberang
3. Serigala menyeberang
4. Kambing kembali
5. Sayuran kembali
6. Serigala kembali
7. Boat kembali

Salah satu solusi yang bisa ditemukan dapat dilihat pada Tabel 2.4.

Tabel 2.4 Contoh solusi masalah petani, kambing, sayuran & serigala.

Daerah Daerah Aturan yang


Asal Seberang dipakai
(1,1,1,1) (0,0,0,0) 1
(0,1,1,0) (1,0,0,1) 7
(0,1,1,1) (1,0,0,0) 3
(0,0,1,0) (1,1,0,1) 4
(1,0,1,1) (0,1,0,0) 2
(1,0,0,0) (0,1,1,1) 7
(1,0,0,1) (0,1,1,0) 1
(0,0,0,0) (1,1,1,1) solusi

Anda mungkin juga menyukai