Beberapa soal-jawab kecerdasan buatan
Oleh Hazman Halid, Consultant Developer
Ford Motor Company, Dearborn, MI USA.

Artificial intelligence ialah satu cabang programming yang bertujuan untuk 
membolehkan komputer berfikir dengan akal-fikiran.

Kita tahu bahawa komputer pandai mengira -- kalau bab kira-mengira, memang 
laju dan tepat. Tak ada tolok-bandingnya di dunia ini. Komputer juga pandai 
itu dan ini, asalkan kita tahu memprogramnya.

Tetapi komputer hari ini mempunyai satu batasan yang amat besar: mereka 
tidak mempunyai kecerdasan. Mereka hanya tahu buat apa yang programmer suruh 
buat, dan tidak lebih dari itu. Dalam ertikata lain, mereka tidak mampu 
membuat rumusan sendiri, mempelajari ilmu sendiri, menggunakan 
"common-sense".

Jadi AI (artificial intelligence) bertujuan untuk, sekurang-kurangnya dalam 
skop yang terhad, memberi kebolehan berfikir ini kepada komputer.

Setakat ini AI digunakan dalam bidang-bidang yang terhad saja, seperti voice 
recognition (mengenal suara), permainan (catur, Quake).

Asasnya bila kita memprogramkan AI, kita mengajar komputer 
peraturan-peraturan inferense. Contohnya:

Kalau binatang ini ada bulu maka ia mamalia.
Kalau binatang ini ada kaki maka ia hidup di darat.
...

Kemudian kita beri seekor kucing kepada komputer tersebut. Dia akan analisis 
kembali ciri-ciri kucing itu (ada bulu, ada kaki, etc.). Dan kalau ia cukup 
diajar ia akan dapat beritahu kita bahawa "hey ini seekor kucing.".

---
BAGAIMANA, MISALNYA, KOMPUTER BOLEH 'MEMAHAMI' PENULISAN MANUSIA?

Untuk mencapai matlamat ini, pertama sekali kita perlu tulis sebuah text 
parser. Text parser ini menerima teks yang ditulis oleh pengguna, kemudian 
memecahkan teks tersebut kepada perkataan-perkataan.

Contohnya:
"Mahu makan apa?"

Akan menghasilkan senarai perkataan:
Mahu
Makan
Apa
?

Dari peringkat ini, kerjanya menjadi lebih rumit, dan ia bergantung kepada 
tahap "kecerdasan" yang ingin kita kandungi di dalam program kita.

Saya hanya akan terangkan mekaniks sebuah program yang "agak bodoh".

Program kita mempunyai satu pengkalan data yang mengandungi 
perkataan-perkataan yang boleh dikenali oleh sistem ini.

Katakan program kita tak mengenali perkataan "Mahu". Maka ia akan buang saja 
perkataan itu. Yang tinggal adalah "makan", "apa" dan "?".

Program kita nampak tanda "?", jadi dia tahu ini satu soalan. Bila dia 
nampak perkataan "apa", dia tahu bahawa kita meminta satu "objek". Objek 
jenis apa? "Makan". Maka, dia cari dalam databasenya objek-objek yang boleh 
dikira sebagai "makanan".

Maka dia pun jawablah:
nasi kerabu
roti canai
.. dan apa-apa lagi yang ada dalam database dia.

Ini cuma satu contoh yang ringkas saja, dan sudah semestinya tidak cukup 
bagus untuk membina sebuah sistem komersil. Tapi ia memberi gambaran yang 
asas tentang langkah-langkah yang diperlukan.

Text parser bertaraf komsersil menggunakan teknik rekursif untuk mengesan 
pattern di dalam ayat yang dibaca dan menyamakannya dengan peraturan nahu 
yang sudah diprogramkan ke dalamnya.

---
CONTOH PENGGUNAAN AI DI DALAM PERMAINAN

Itu juga satu cabang AI yang dipanggil heuristics -- kalau tak silap.

Permainan Othello, Scrabble, Catur, Dam, Tic-Tac-Toe menggunakan prinsip 
yang sama. Komputer mencuba segala kombinasi yang boleh dicuba, dan memilih 
yang terbaik berdasarkan satu "sistem pemarkahan" yang tertentu.

Kita ambil Tic Tac Toe (TTT) sebagai contoh, kerana ia mudah.

Terdapat 3x3 kotak.
Setelah kita jalan, komputer pula kena jalan, bukan?

Goal: untuk meletakkan 'x' dalam satu daripada semua kotak yang belum 
dipenuhi.

Langkah: komputer akan scan semua kotak yang masih kosong. Di sini, setiap 
kotak yang di scan akan diberi satu markah. Pada akhir scan, kotak yang 
mempunyai markah yang tertinggi akan diletakkan 'x'.

Bagaimanakah setiap kotak ditentukan markahnya? Dengan menggunakan 
peraturan-peraturan tertentu (inilah bahagian program tersebut yang 
mengandungi kecerdasan). Contohnya, kalau di sebelah kotak itu sudah ada 2 O 
sebaris, maka markah yang diberi adalah tinggi kerana kalau tak letak di 
situ sudah pasti opponent menang.

Of course, teknik pemarkahan ini semata-mata tidak mencukupi kerana ia 
membuatkan program tersebut 'predictable' dan boleh ditipu oleh manusia. 
Maka, dalam permainan catur yang advanced, teknik pemarkahan ini ditambah 
pula dengan teknik-teknik tambahan yang lebih cerdas supaya pandai pula 
menipu opponent.

Scrabble, bila saya fikir berkali-kali, kemungkinan tidak menggunakan AI. 
Kalau guna pun tak terlalu intensif. Dalam scrabble, sistem pemarkahannya 
tidak memerlukan sebarang "judgement" di pihak komputer. Dalam permainan2 
lain misalnya, senario-senario mempunyai nilai yang kualitatif dan 
memerlukan satu 'kepandaian' untuk menterjemahkannya kepada nombor. Padahal 
dalam Scrabble, markah-markah itu sudah ditentukan dengan jelas dan terang 
pada tile-tile.

Jadi dalam Scrabble, apa yang komputer buat sebenarnya ialah mencari dalam 
databasenya setiap perkataan yang boleh disusun daripada tile-tilenya. Ini 
tidak memerlukan AI -- sekadar pemanipulasian perkataan yang intensif.

Bila dia sudah selesai mencari, maka dia akan ada satu senarai perkataan 
yang boleh dibuat. Dia akan cari kedudukan yang sesuai pula untuk meletakkan 
perkataan-perkataan tersebut. Untuk setiap kedudukan yang mungkin, dia akan 
cuba setiap perkataan yang boleh diletak di situ, merekodkan markah yang 
mungkin diperolehi apabila perkataan itu diletak di situ.

Setelah dia selesai menilaikan setiap kedudukan/perkataan, dia carilah dalam 
senarainya kedudukan/perkataan mana yang akan memberikannya paling banyak 
markah. Yang mana yang tertinggi akan digunakan, lalu ia meletakkan 
perkataan tersebut di situ.

---
ADAKAH KOMPUTER AKAN MENJAJAH DUNIA SATU HARI NANTI?

Dalam science fiction, biasa komputer digambarkan menjadi terlalu cerdas 
sehingga melawan manusia. Namun dalam realiti, komputer -- 
sekurang-kurangnya pada zaman ini dan pada pendapat saya sampai bila-bila 
sekalipun -- tidak mampu diajar melepasi kecerdasan seekor kucing.

Jika kita berikan sekuntum bunga kepada seorang kanak-kanak, bunga itu 
datang dengan 1001 jenis maklumat kepada kanak-kanak tersebut. Baunya 
begini, warnanya begitu, bentuknya begini, kelembutannya begitu. Dan 
kebanyakan maklumat ini adalah kualitatif, bukan kuantitatif. Kita tidak 
boleh, misalnya, mengukur "bau" atau "kecantikan" sesuatu benda dengan satu 
skala numerik. Sebaliknya jika sesuatu itu wangi atau cantik, kita 
"tahu-tahu saja".

Jika kita ingin mengajar komputer supaya dapat mengenali sekuntum bunga, 
kita perlu memasukkan kesemua ciri yang terdapat pada bunga tersebut ke 
dalam komputer. Adalah mudah untuk memasukkan berat dan dimensi bunga itu 
tetapi bagaimana dengan ciri-ciri kualitatifnya? Jika kita ingin katakan 
bunga itu wangi, bagaimanakah boleh kita terjemahkan kewangian itu ke dalam 
bentuk nombor? (Menggunakan fuzzy logic dan neural network, kita boleh -- 
kepada satu tahap yang terbatas -- tetapi ia merupakan satu proses yang 
sukar). Dan kalau kita boleh sekalipun, adakah ia dapat memberi apa-apa 
makna kepada sebuah mesin yang tidak berperasaan? Bila kita hidu bunga yang 
wangi, mungkin timbul perasaan gembira pada hati kita tetapi perkara ini 
tidak boleh dirasai oleh sebuah komputer.

Satu lagi yang terdapat pada manusia dan tiada pada komputer ialah 
common-sense. Jika kita tanya pada kawan kita yang sedang makan ayam percik 
dan minum air kosong: "sedap tak?", kawan kita sudah tentu faham yang kita 
bukan bertanya tentang air kosong tersebut. Tetapi bagi sebuah komputer, 
pertanyaan ini kemungkinan akan menyebabkan dia confused apa yang sedap -- 
ayam, air, kerusi, lampu, dinding?

Dalam dunia kini, AI ada faedahnya, misalnya dalam bidang pengilangan kereta 
di mana robot-robot memasang bahagian-bahagian kereta. Tetapi kebolehan 
robot-robot ini amat terhad kepada skop penggunaannya saja. Di luar dari itu 
ia tak tahu apa-apa.

-- Sekian, terima kasih --

    Source: geocities.com/tukangtaip