LOGICAL AGENT

PENGENALAN LOGICAL AGENT



Agen logika merupakan agen yang memiliki kemampuan bernalar secara logika. Ketika beberapa solusi tidak secara eksplisit diketahui, maka diperlukan suatu agen berbasis logika. Logika sebagai Bahasa Representasi Pengetahuan memiliki kemampuan untuk merepresentasikan fakta sedemikian sehingga dapat menarik kesimpulan (fakta baru, jawaban). Sedangkan pengetahuan merupakan komponen yang penting, sehingga terdapat perbedaan jika diterapkan pada dua agent, yakni problem solving agent dan knowledge-based agent.Agen Berbasis Pengetahuan atau Knowledge Base (KB) merupakan Himpunan representasi fakta yang diketahui tentang lingkungannya. Tiap fakta disebut sebagai sentence. Fakta tersebut dinyatakan dalam bahasa formal sehingga bisa diolah, menambahkan sentence baru ke KB. Inference Engine merupakan menentukan fakta baru yang dapat diturunkan dari pengetahuan yang sudah ada dalam KB. Agen Berbasis Pengetahuan dalam representasi, agent dapat dipandang dari knowledge level. Apa saja informasi yang diketahui? Misal sebuah robot “mengetahui” bahwa gedung B di antara gedung A dan gedung C. Agent dapat dipandang dari implementation level Bagaimana representasi informasi yang diketahuinya? Logical sentence di_antara(gdB, gdA, gdC). Natural language “Gedung B ada di antara gedung A dan gedung C”. Agen Berbasis Pengetahuan, pilihan representasi berpengaruh terhadap apa yang bisa dilakukan inference engine. Pada pendekatan deklaratif programmer memberitahu agent informasi tentang environment. Kalau informasi kurang, agen bisa melengkapinya sendiri. Jika dibandingkan dengan pendekatan prosedural programmer secara eksplisit memrogram agen untuk bertindak. Sehingga bagaimana jika program tidak benar, maka akan besar kemungkinan menyebabkan kesalahan.Agen Berbasis Pengetahuan, permasalahannya adalah bagaimana representasi yang tepat, sehingga ada dua hal yang harus diperhatikan expressive bisa menyatakan fakta tentang environment, Tractable bisa mengolah/ memproses inference engine (dengan cepat). Knowledge merupakan power atau kekuatan dari pemrograman secara deklaratif. Representasi dan penalaran membentuk suatu Intelligence.


1. KNOWLADGE BASE AGENT

Agen Berbasis Pengetahuan, Knowledge Base (KB) menyatakan apa yang “diketahui” oleh si agent Pendekatan deklaratif membangun agent: “beritahu” informasi yang relevan, simpan dalam KB. Agen dapat ditanya (atau bertanya diri sendiri) apa yang sebaiknya dilakukan berdasarkan KB. Maka sebuah agen berbasis pengetahuan harus bisa mereprentasikan world, state, action, dst. Menerima informasi baru (dan meng-update representasinya). Menyimpulkan pengetahuan lain yang tidak eksplisit (hidden property).q Menyimpulkan action apa yang perlu diambil.Agen Berbasis Pengetahuan atau Knowledge Base (KB) merupakan Himpunan representasi fakta yang diketahui tentang lingkungannya. Tiap fakta disebut sebagai sentence. Fakta tersebut dinyatakan dalam bahasa formal sehingga bisa diolah, menambahkan sentence baru ke KB. Inference Engine merupakan menentukan fakta baru yang dapat diturunkan dari pengetahuan yang sudah ada dalam KB.


2.WUMPUSWORLD

Aturan main Wumpus :
  • Performance measure: emas +1000, mati -1000, gerak -1, panah -10
  • Environment: Matriks 4x4 kamar. Initial state [1,1]. Ada gold, wumpus dan pit yang lokasinya dipilih secara acak.
  • Percept:
    Breeze: kamar di samping lubang jebakan ada hembusan angin
    Glitter: kamar di mana ada emas ada kilauan/sinar
    Smell: kamar di samping Wumpus berbau busuk
  • Action: maju, belok kiri 90◦ , kanan 90◦ , tembak panah (hanya 1!), ambil benda
Sifat Wumpus :
  • (Fully) observable? Tidak, hanya bisa persepsi local
  • Deterministic? Ya, hasil tindakan jelas & pasti
  • Episodic? Tidak, tergantung action sequence
  • Static? Ya, gold, wumpus, pit tidak bergerak
  • Discrete? Ya
  • Single agent? Tidak
3.LOGIC IN GENERAL-MODELS AND ENTAILMENT

Logic adalah bahasa formal untuk merepresentasikan informasi sedemikian hingga kesimpulan dapat dibuat dalam pembuatan kesimpulan pasti harus menggunakan bahasa yg benar dalam pembuatan bahasa yang tepat Syntax mendefinisikan kalimat-kalimat pada bahasa kemudian Semantics mendefinisikan arti kalimat; misal, mendefinisikan kebenaran sebuah kalimat. Entailment berarti sesuatu fakta bisa disimpulkan dari (kumpulan) fakta lain Entailment dapat juga berarti sebuah hubungan antar kalimat ( syntax) yang didasarkan pada semantics kemudian Model adalah sebuah “dunia” di mana kebenaran suatu sentence bisa diuji.

Propositionan logic: Syntax

Propositional logic adalah logika paling sederhana menggambarkan ide dasar,symbol proposisi P1,P2 dll adalah sebuah kalimat.




Logika Propositional : Semantics

Tiap model menspesifikasikan true/false untuk setiap symbol proposisi.
  


 



Tabel Kebenaran untuk Inference

  

Logical equivalence

Dua kalimat adalah logically equivalent if bernilai true pada model yang sama: α ≡ ß iff α╞ β and β╞ α 


Validity dan satisfiability


  • Sebuah kalimat adalah valid jika bernilai true pada semua model.
  •  Validity dihubungkan ke inference melalui Deduction Theorem: KB ╞ α if and only if (KB  α) is valid
  • Sebuah kalimat adalah satisfiable jika bernilai true pada beberapa model.
  • Sebuah kalimat adalah unsatisfiable jika bernilai salah pada semua model.
  • Satisfiability dihubungkan ke inference melalui : KB ╞ α if and only if (KB α) is unsatisfiable

Resolution


  • Conjunctive Normal Form (CNF) 
  • conjunction of disjunctions of literals
  •  clauses 
 


Resolution inference rule (for CNF):
   
Forward chaining

Diberikan suatu himpunan fakta dalam workingmemory, gunakan rules untuk membangkitkan fakta baru sampai goaldicapai.

•Langkah-langkah:

1)Cocokkan bagian IF dari setiap ruleterhadap fakta-fakta dalam working memory.

2)Jika ada lebih dari satu ruleyang dapat digunakan(lebih dari satu rule yang berjalan), pilih satu yang akan diaplikasikan dengan menggunakan resolusi konflik.

3)Berlakukan ruletersebut. Jika fakta baru diperoleh, tambahkan ke working memory.

4)Stop (atau exit) ketika kesimpulan ditambahkan ke working memory atau jika ada rule yang menetapkan proses berhenti.

Backward chaining

Mesin inferensi menjelajah secara mundur (backward) rantai inferesi (chain) dimulai dari tujuan (goal) dalam working memory.

•Terdiri dari 3 langkah utama:
1. Pilih rulesyang konklusi-nya sesuai dengan goal.
2. Ganti goal dengan premis dari ruleterpilih. Jadikan sebagai sub-goals.
3. Kerjakan backwardssampai semua sub-goalsbernilai true. Ini dicapai dengan:

–Ditemukannya fakta (dalam working memory) atau

–Pengguna menyediakan informasi tersebut.

Ide: bekerja backwards dari query q: membuktikan q dengan BC,
cek jika q sudah diketahui, atau
buktikan dengan BC semua premise pada beberapa rule concluding q
Avoid loops: chek jika subgoal baru sudah siap pada stack tujuan
Avoid repeated work: check if new subgoal telah terbukti benar, atau telah gagal

Logika Proposisi

Proposisi
Logika adalah metode atau teknik yang diciptakan untukmeneliti ketepatan penalaran
serta mengkaji prinsip-prinsip penalaran yang benar dan penarikan kesimpulanyang
absah.Ilmu logika berhubungan dengan kalimat-kalimat(argumen) dan hubungan yang
ada diantara kalimat-kalimat tersebut.

Referensi :
http://share.its.ac.id/pluginfile.php/1369/mod_resource/content/1/8._Propotional_Logic.pdf 

Pencarian Berbentuk heuristik Search dan Eksplorasi

Heuristic Search adalah pencarian bersyarat (terbimbing). Artinya, solusi yang diperoleh adalah solusi yang terbaik, bukan solusi sekali ketemu. Bagian-bagiannya adalah [masalah]-[pencarian]-[syarat]-[solusi]. Misal contoh masalah pada kasus di atas, Ambillah kelereng merah yang tidak pecah dan tidak lonjong. Sehingga ketika ketemu kelereng merah dan ada pecahnya, itu masih bukan solusi karena tidak sesuai dengan syarat (tidak pecah dan tidak lonjong).

1.       Generate-and-Test (GT)

GT adalah metode yang paling sederhana dalam teknik pencarian heuristik. Jika
pembangkitan sebuah solusi yang mungkin (a possible solution) dikerjakan secara sistematis,
maka prosedur ini menjamin akan menemukan solusinya. Tetapi jika ruang masalahnya sangat
luas, mungkin memerlukan waktu yang sangat lama. Di dalam GT, terdapat dua prosedur
penting yaitu pembangkit (membangkitkan sebuah solusi yang mungkin) dan tes (menguji
solusi yang dibangkitkan tersebut). Dengan penggunaan memori yang sedikit, DFS bisa
digunakan sebagai prosedur pembangkit untuk menghasilkan suatu solusi. Prosedur Tes bisa
menggunakan fungsi heuristik. Metode Generate-and-Test (GT) adalah metode yang paling
sederhana dalam teknik pencarian heuristic.
Di dalam GT, terdapat dua prosedur penting:
1. Pembangkit (generate), yang membangkitkan semua solusi yang mungkin.
2. Test, yang menguji solusi yang dibangkitkan tersebut.
Algoritma GT menggunakan prosedur Depth First Search karena suatu solusi harus
dibangkitkan secara lengkap sebelum dilakukan Test. Dengan penggunaan memori yang
sedikit, DFS bisa digunakan sebagai prosedur pembangkit yang menghasilkan suatu solusi.
Prosedur Test bisa menggunakan fungsi heuristik.

Algoritma Generate-and-Test

1. Bangkitkan sebuah solusi yang mungkin. Solusi bisa berupa suatu keadaan (state)
tertentu. Solusi juga bisa berupa sebuah jalur dari satu posisi asal ke posisi tujuan,
seperti dalam kasus pencarian rute dari satu kota asal ke kota tujuan.
2. Tes apakah solusi yang dibangkitkan tersebut adalah sebuah solusi yang bisa diterima
sesuai dengan kriteria yang diberikan.
3. Jika solusi telah ditemukan, keluar. Jika belum, kembali ke langkah 1.



Studi Kasus: Traveling Salesman Problem (TSP)

1. Seorang salesman ingin mengunjungi sejumlah n kota. Akan dicari rute
terpendek di mana setiap kota hanya boleh dikunjungi tepat 1 kali. Jarak antara tiap-tiap
kota sudah diketahui. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti
terlihat pada gambar berikut.


Penyelesaian :
Penyelesaian dengan menggunakan Generate-and-Test dilakukan dengan
membangkitkan solusi-solusi yang mungkin dengan menyusun kota-kota dalam urutan
abjad, yaitu:
 A-B-C-D
 A-B-D-C
 A-C-B-D
 A-C-D-B
 dan seterusnya



Dari gambar diatas dapat dijelakan sebagai berikut.
1. Misalkan kita mulai dari node A. Kita pilih sebagai keadaan awal adalah
lintasan ABCD dengan panjang lintasan = 19.
2. Kemudian kita lakukan backtracking untuk mendapatkan lintasan ABDC
dengan panjang lintasan = 18.
3. Lintasan ini kita bandingkan dengan lintasan ABCD, ternyata ABDC < ABCD,
sehingga lintasan terpilih adalah ABDC.
4. Kita lakukan lagi backtracking untuk mendapatkan lintasan ACBD (=12),
ternyata ACBD < ABDC, maka lintasan terpilih sekarang adalah ACBD.
5. Demikian seterusnya hingga ditemukan solusi yang sebenarnya.
6. Salah satu kelemahan dari metode ini adalah perlunya dibangkitkan semua
kemungkinan solusi sehingga membutuhkan waktu yang cukup besar dalam
pencariannya.

2.    Metode Hill Climbing Search

Metode Hill-climbing merupakan variasi dari depth-first search. Dengan metoda ini,
eksplorasi terhadap keputusan dilakukan dengan cara depth-first search dengan mencari path
yang bertujuan menurunkan cost untuk menuju kepada goal/keputusan. Sebagai contoh kita
mencari arah menuju Tugu Monas, setiap kali sampai dipersimpangan jalan kita berhenti dan
mencari arah mana yang kira-kira akan mengurangi jarak menuju Tugu Monas, Dengan cara
demikian sebetulnya kita berasumsi bahwa secara umum arah tertentu semakin dekat ke Tugu
Monas.
Terdapat dua jenis HC yang sedikit berbeda, yakni :
1. Simple HC (HC Sederhana)
a. Algoritma akan berhenti kalau mencapai nilai optimum
lokal
b. Urutan penggunaan operator akan sangat berpengaruh
pada penemuan solusi.
c. Tidak diijinkan untuk melihat satupun langkah
selanjutnya.
2. Steepest-Ascent HC (HC dengan memilih kemiringan yang paling tajam /
curam)
a. Hampir sama dengan Simple HC, hanya saja gerakan pencarian tidak dimulai
dari paling kiri. Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.

Algoritma Simple HC

1. Evaluasi initial state. Jika state ini adalah goal state, maka kembalikan state ini sebagai
solusi dan keluar dari program. Jika state ini bukan goal state, lanjutkan proses dengan
initial state sebagai current state.

2. Ulangi sampai solusi ditemukan atau sampai tidak ada operator baru yang dapat
diaplikasikan terhadap current state:
a) Pilih sebuah operator yang belum diaplikasikan terhadap current state
dan aplikasikan operator tersebut sehingga menghasilkan new state.
b) Evaluasi new state:
·         Jika state ini adalah goal state, maka kembalikan state ini
sebagai solusi dan keluar dari program.
·         Jika state ini bukan goal state tetapi lebih baik daripada
current state, maka jadikan state ini sebagai current state.
·         Jika state ini tidak lebih baik daripada current state,
kembali ke langkah 2.a.

Sebagai contoh perhatikan gambar berikut ini.



Dari gambar diatas dapat dijelaskan sebagai berikut.
1. S menyatakan intial state, sedangkan G menyatakan goal state.
2. Variable f di setiap state menyatakan biaya antara state tersebut dengan goal state. Nilai
f pada goal state = 0.
3. Simple HC langsung memilih state B sebagai next state karena nilai f pada state B lebih
kecil dibandingkan nilai f pada state S.
4. Di sini tidak dipertimbangkan nilai f pada state C.
5. Misalkan pada akhir iterasi, Simple HC mengembalikan solusi G yang berada di level
6, padahal ada solusi yang lebih baik pada level 2. Dengan demikian Simple HC tidak
optimal.






Studi Kasus : Game 8- Puzzle

Terdapat 4 operator yang dapat kita gunakan untuk menggerakkan dari satu keadaan ke
keadaan yang baru.
1. Ubin kosong digeser ke kiri
2. Ubin kosong digeser ke kanan
3. Ubin kosong digeser ke atas
4. Ubin kosong digeser ke bawah








Dari gambar diatas dapat dijelaskan sebagai berikut.

1. Jumlah heuristic h(n)= 5 merupakan intial state, sedangkan heuristic h(n)= 0
menyatakan goal state.

2. Jumlah heuristic h(n) setiap state menyatakan jumlah langkah dari state tersebut untuk
mencapai goal state.

3. Simple HC langsung memilih berpindah ke bawah pada iterasi I sebagai next state
karena nilai h(n) pada state tersebut lebih kecil dibandingkan nilai h(n) pada initial
state, begitupun seterusnya hingga mencapai goal state.

4. Jadi urutan penyelesaian game 8-puzzle diatas dengan menggunakan metode Simple Hill Climbing dan menghitung nilai heuristik berupa jumlah langkah yang diperlukan untuk mencapai goal state adalah ubin kosong bergeser ke BAWAH, KIRI, ATAS KANAN, BAWAH dengan nilai heuristik terakhir adalah 0.


Agen Pemecah Masalah searching - Softkill




Searching adalah mekanisme pemecahan masalah yang paling umum di dalam kecerdasan buatan. Di dalam permasalahan-permasalahan kecerdasan buatan, urutan langkah-langkah yang dibutuhkan untuk memperoleh solusi merupakan suatu isu yang penting untuk diformulasikan. Hal ini harus dilakukan dengan mengidentifikasikan proses try and error secara sistematis pada eksplorasi setiap alternatif jalur yang ada.
Algoritma searching di dalam kecerdasan buatan yang umumnya dikenal adalah
  1. Uninformed Search Algorithm
Algoritma yang tidak memberikan informasi tentang permasalahan yang ada, hanya sebatas definisi dari algoritma tersebut.
  1. Informed Search Algorithm
Walaupun dengan menggunakan Uninformed Search Algorithm, banyak permasalahan dapat dipecahkan, namun tidak semuanya dari algoritma tersebut dapat menyelesaikan masalah dengan efisien
Uninformed Search Algorithm
Uninformed Search sering disebut juga dengan Blind Search. Istilah tersebut menggambarkan bahwa teknik pencarian ini tidak memiliki informasi tambahan mengenai kondisi diluar dari yang disediakan oleh definisi masalah. Yang dilakukan oleh algoritma ini adalah melakukan generate dari successor dan membedakan goal state dari non-goal state. Pencarian dilakukan berdasarkan pada urutan mana saja node yang hendak di-expand.
  1. Breadth First Search (BFS)
Pencarian dengan Breadth First Search menggunakan teknik dimana langkah pertamanya adalah root node diekspansi, setelah itu dilanjutkan semua successor dari root node juga di-expand. Hal ini terus dilakukan berulang-ulang hingga leaf (node pada level paling bawah yang sudah tidak mempunyai successor lagi).BFS
Gambar 1 Penelusuran Ekspansi Node pada Breadth First Search
  1. Uniform Cost Search (UCS)
Pencarian dengan Breadth First Search akan menjadi optimal ketika nilai pada semua path adalah sama. Dengan sedikit perluasan, dapat ditemukan sebuah algoritma yang optimal dengan melihat kepada nilai tiap path di antara node-node yang ada.
Selain menjalankan fungsi algoritma BFS, Uniform Cost Search melakukan ekspansi node dengan nilai path yang paling kecil. Hal ini bisa dilakukan dengan membuat antrian pada successor yang ada berdasar kepada nilai path-nya (node disimpan dalam bentuk priority queue).
  1. Depth First Search (DFS)
Teknik pencarian dengan Depth First Search adalah dengan melakukan ekspansi menuju node yang paling dalam pada tree. Node paling dalam dicirikan dengan tidak adanya successor dari node itu. Setelah node itu selesai diekspansi, maka node tersebut akan ditinggalkan, dan dilakukan ke node paling dalam lainnya yang masih memiliki successor yang belum diekspansi.DFS
Gambar 2 Penelusuran Ekspansi Node pada Depth First Search
  1. Depth Limited Search
Pencarian menggunakan DFS akan berlanjut terus sampai kedalaman paling terakhir dari tree. Permasalahan yang muncul pada DFS adalah ketika proses pencarian tersebut menemui infinite state space. Hal ini bisa diatasi dengan menginisiasikan batas depth pada level tertentu semenjak awal pencarian. Sehingga node pada level depth tersebut akan diperlakukan seolah-olah mereka tidak memiliki successor.
  1. Iterative Deepening Depth First Search
Iterative deepening search merupakan sebuah strategi umum yang biasanya dikombinasikan dengan depth first tree search, yang akan menemukan berapa depth limit terbaik untuk digunakan. Hal ini dilakukan dengan secara menambah limit secara bertahap, mulai dari 0,1, 2, dan seterusnya sampai goal sudah ditemukan.
6.   Bidirectional Search
Pencarian dengan metode bidirectional search adalah dengan menjalankan dua pencarian secara simultan, yang satu dikerjakan secara forward dari initial state menuju ke goal, sedangkan yang satu lagi dikerjakan secara backward mulai dari goal ke initial state. Yang kemudian diharapkan bahwa kedua pencarian itu akan bertemu di tengah-tengah.

  • Artikel http://socs.binus.ac.id/2013/04/23/uninformed-search-dan-informed-search/

Kecerasan Buatan - Softskill

Hasil gambar untuk ebook kecerdasan buatan komputer

Pengertian kecerdasan buatan

Kecerdasan buatan adalah suatu ilmu yang mempelajari cara membuat komputer melakukan sesuatu seperti yang dilakukan oleh manusia (minsky, 1989). Definisi lai di ungkapkan oleh H. A simon [1987]. kecerdasan buatan (artifical inteligence) merupakan kawasan penilitian, aplikasi dan intruksi yang terkait dengan pemograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas

Rich and Knight [1991] mendefinisikan kecerdasan buatan sebagai sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manisia.

Sementara ensiklopedi Britannica mendifinisikan kecerdasana buatan sebagai cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic atau dengan sejumlah aturan.

Ada tiga tujuan kecerdasan buatan, yaotu : membuat komputer lebih cerdas, mengerti tentang kecerdasan, membuat mesin lebih berguna. Yang dimaksud kecerdasan adalah kemampuan untuk belajar atau mengerti dari pengalaman, memahami pesan yang kontradiktif dan ambigu, menanggapi dengan cepat danbaik atas situasi yang baru menggunakan penalaran dalam memecahkan masalah serta menyelesaikan dengan efektif (Winston dan Prendergast, 1994)

Kecerdasan buatan berbeda dengan program konvensional. Pemograman konvesional dapat menggunakan rumus matematika atau prosedur sekuensial untuk menghasilkan solusi. Lain halnya dengan pemograman dalam kecerdasan buatan yang berbasis pada representasi simbol dan manipulasi. Dalam kecerdasan buatan, sebuah simbol dapat berupa kalimat, kata, atau angka yang digunakan untuk merepresentasikan obyek, proses dan hubungannya. Obyek dapat berupa manusia, benda, ide, konsep, kegiatan, atau pernyataan dari suatu fakta. Proses digunakan untuk memanipulasi simbol untuk menghasilkan saran atau pemecahan masalah. Selain itu kecerdasan buatan dapa melakukan penalaran terhadap data yang tidak komplit. Hal ini sangat mustahil dilakukan oleh pemrograman konvensional. Kemampuan penalan dan penjelasan terhadap setiap langkah dalam 
pengambilan keputusan menjadi  kelebihan dari kecerdasan buatan (Turban, 1995)

Domain penelitian dalam kecerdasan buatan
Beberapa bidang penelitian kecerdasan buatan di antaranya :
  1. Formals tasks (matematika, games)
  2. Mundane task (peception, robotics, natural language, common sense, reasoning)
  3. Expert tasks (financial analysis, medical diagnostics, engineering, scientifc analysis, dll)
Input – output kecerdasan buatan



Apa saja yang dikerjakan dalam bagian-bagian AI berikut ini:

Machine Vision : Bertujuan pada pengenalan pola dalam beberapa jalan yang sama sebagai kegiatan sistem visual/indera manusia.
Robotics : Difokuskan pada produksi alat-alat mekanik yang dapat mengendalikan gerak. Sebagai contoh: sebuah robot sederhana mampu atau dapat bergerak/pindah ke depan, belakang, kanan atau kiri atau pindah tempat ke ruangan berbeda. Sebuah robot sebenarnya buta akan bentuk urutan dari aksi bila tanpa usaha untuk mengganti komponennya atau bisa mendeteksi dan memperbaiki kesalahan dalam rencananya akan menjadi sulit bila tanpa kecerdasan. Sering sebuah robot akan diformulasikan pada sebuah rencana dasar pada informasi yang tidak lengkap dan benar dalam menjalankan sebuah rencana
Speech Processing : Bertujuan pada pengenalan dan sintesa pem-bicaraan manusia.
Theorem Proving : Usaha untuk membuktikan secara otomatis masalah-masalah dalam matematika dan logika.
General Problem Solving : Bertujuan pada pemecahan kelas-kelas dari masalah-masalah yang ditekankan dalam sebuah bahasa formal.
Pattern Recognation : Difokuskan pada pengenalan dan klasifikasi dari pola-pola.
Game Playing : Pembuatan program-program bermain permainan.
Machine Learning :  Bertujuan pada produksi  mesin-mesin yang mengakumulasi pengetahuan dengan contoh-contoh observasi.
Learning merupakan sebuah persoalan sulit untuk program AI, dalam mencapai kesuksesan diperlukan dalam pemecahan persoalan. Bagian kemampuan untuk mempelajari komponen terpenting dari tindak tanduk/jalan kecerdasan.Sebuah sistem pakar harus berkemampuan ekstensif dan dapat menghitung kerugian dalam memecahkan sebuah persoalan. Tidak seperti manusia, bilamana jika ia diberikan persoalan yang serupa pada waktu berikutnya, dia tidak akan ingat solusinya. Dia membentuk urutan yang sama untuk menghitung lagi. Learning merupakan sebuah area yang sulit diteliti, beberapa program te-lah ditulis dengan tujuan bahwa ini bukan merupakan hasil(goal) yang diinginkan.
Planning : aspek terpenting pendukung untuk mendesain atau merancang robot-robot dengan kemampuan menyele-saikan tugas mereka dengan tingkat fleksibelitas dan tanggap terhadap dunia luar.Planning merupakan masalah sulit dari sejumlah alasan yang tidak lebih dari ukuran tempat kosong(space) yang mungkin diu-rutkan dan dipindahkan.
Neural Network atau Parallel Distributed : teknik-teknik terbaik untuk merepresentasikan pengetahuan dan merancang algoritma pencarian yang hati-hati untuk implementasi kecerdasan.

  • “Sistem Pakar, teori dan aplikasi”, yogyakarta : kusrini, S.kom Hal 3-5
  • E-book STMIK Budi Luhur, Siswanto