( 3 Sks )
Introduction Prinsip Program AI General Problem Solving : Representasi Masalah Searching Heuristik Studi kasus : Penerapan General Problem Solving Logika formal : Predicate Logic/Calculus Predicate Tinjauan tentang bahasa pemrograman AI standar : Prolog Lisp Pemrograman AI menggunakan bahasa non AI (prosedural) : C/C++ Tinjauan beberapa bidang garapan AI : Natural Language Processing Pattern Recognition Expert System Perkembangan Teknik AI Mutakhir : Mengatasi kondisi Uncertainty Mechine Learning Optimalisasi General Preview
Artificial Intelligence
Artificial Intelligence (Inteligensi/Kecerdasan Buatan) merupakan salah satu bidang dari ilmu komputer yang membahas tentang kemungkinan komputer untuk dapat berlaku secara intelligen seperti halnya manusia
Intoduction to
Apakah perkembangan komputer sejauh ini belum memperlihatkan prilaku intelijen tersebut ?
... ...
Teknik-teknik AI terutama digunakan untuk mengatasi masalah yang bersifat non Algoritmik Contoh teknik AI :
General Problem Solving Fuzzy Logic Neural Network Neural Fuzzy Genetic algorithm
Beberapa bidang yang telah digarap AI : Game Playing Robotic Natural Language Processing Pattern (Vision/Spech )Recognition Expert System Mungkinkah komputer dapat berpikir mandiri ? (Berpikir sebagai salah satu kriteria cerdas)
Terjadinya polemik : Defenisi dan Kriteria Intelijen/Cerdas ? Uji Turing (1912-1954) Keterbatasan komputer model Van Neuman dan Pesimisme Turing Perkembangan bidang Artificial Intelligence Game : Expert System : Mycin, Munculnya teknik-teknik baru : Fuzzy, Neural Network, Genetic, Proyek Penelitian di Jepang : Komputer Biologis
... ...
Searching
- Logika/Logika formal/predikat kalkulus - backtracking Data Representasi Pengetahuan : - List/Graf - Database C C++
Prinsip Program AI
(AI Software Principle)
Ciri khas terpenting Pemrograman(software) AI : Pemrograman simbolik Memecahkan masalah non algoritmik Memanipulasi sifat/type kualitatif ketimbang kuantitatif/Numerik Solusi (pemecahan) tidak mesti eksak Menggunakan pengetahuan untuk memecahkan masalah Setiap bagian program dapat bersifat Independen Dapat belajar dari pengalaman sebelumnya ?
Polynomial
Contoh pemecahan masalah-masalah berikut : Penakaran air dengan dua ember Tic tac Toe Puzzle Pencarian Jarak terdekat Travelling Salesmen Langkah standar :
Pendefenisian masalah : 1.Mendefenisikan masalah dengan tepat. Defenisi ini harus berisi spesifikasi tentang keadaan awal (initial state) dan keadaan akhir (goal state) yang merupakan solusi yang dapat diterima dari masalah tersebut dan operasi-operasi yang dibutuhkan untuk dapat mengubah keadaan awal (0,0) (2,0) menuju ke keadaan akhir. 2.Mengembangkan semua ruang keadaan (state space) yang mungkin (dalam bentuk tree/graph) dan berhenti pada keadaan yang sama dengan keadaan akhir yang diinginkan sebagai solusi atau langkah solusi yang diinginkan.
(2,0)
1. 2. 3.
4.
Mengisi takaran yang sudah penuh Mengosongkan takaran yang sudah kosong Kembali ke kondisi yang telah pernah dimiliki
(1,3)
(4,3)
(3,0)
(1,0)
(2,0)
Maze Problem
Mencari path atau rute dari start ke goal
Goal
4 3
2 Start 1 2 3 4
Dan sebagai operator untuk memindahkan dari satu state ke state lain, kita bisa gunakan: Pickup(u) Putdown(u) Takeoff(u,v) Puton(u,v)
(a)
(b)
Dari proses search dihasilkan diagram tree, sehingga perlu penjelasan beberapa terminologi diagram tree seperti berikut :
Simpul Level/Cabang Path Parent Child Root Leave Jumlah Ruang Simpul Langkah solusi (Solusi)
b e f
Breadth First Search (BFS) Jumlah ruang simpul relatif (umumnya) lebih banyak Solusi dijamin optimal
Depth First Search (DFS) Jumlah ruang simpul relatif (umumnya) lebih sedikit Solusi tidak dijamin optimal
Manusia
Manusia
PROLOG
Pemberian knowledge diharapkan bisa membuat komputer menjadi intelligent (cerdas) seperti layaknya manusia Knowledge = Fakta + Rule Pada PROLOG ada fasilitas untuk memberikan Fakta dan Rule yaitu melalui Clauses
Aturan penulisan kode pada prolog Tipe data pada prolog : symbol, integer, real, char, string,
boolean