250 likes | 735 Views
Rencana Garis Besar Materi Mata Kuliah : Kecerdasan Buatan ( Artificial Intelligence / AI ) ( 3 Sks ). Introduction Prinsip Program AI General Problem Solving : Representasi Masalah Searching Heuristik Studi kasus : Penerapan General Problem Solving Logika formal :
E N D
Rencana Garis Besar Materi Mata Kuliah : Kecerdasan Buatan (Artificial Intelligence/AI) ( 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
Intoduction to 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 • 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 • Bidang lain yang berkaitan erat dengan bidang Artificial Intelligence • Filsafat, Psikologi, Bahasa, …
Jantung riset modern di bidang pemrograman AI : Hipotesis Sistem Symbol • Newel dan Simon mengemukakan aktivitas/mesin cerdas (intelligence) dapat dicapai melalui : • Pola-pola simbol untuk merepresentasikan problem • Operasi-operasi untuk menghasilkan berbagai solusi yang mungkin • Proses pencarian (searching) untuk memilih solusi terbaik Asumsi Searching Representasi Pengetahuan • Dasar teknik pemrograman AI : • Algoritma Searching : - Logika/Logika formal/predikat kalkulus • - backtracking • Data Representasi Pengetahuan : - List/Graf • - Database • Bahasa Pemrograman AI : • Prolog • Lisp • Shell C C++ • Kenapa harus menggunakan bahasa pemrograman/tool khusus ? ………………………………………………………………………………………………………….. …………………………………………………………………………………………………………..
Prinsip Program AI (AI Software Principle) • Non Algoritmik dapat berarti : • Pemecahan Algoritmiknya (logic combination) sangat kompleks • Langkah Algoritmiknya (sequensial) sangat panjang • Keadaannya tidak pasti (Uncertainty) • Secara analisis bersifat : Non Polynomial • 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 …… ?
Representasi Ruang Keadaan dan Teknik Pelacakan (State Space Representation and Searching) • Contoh pemecahan masalah-masalah berikut : • Penakaran air dengan dua ember • Tic tac Toe • Puzzle • Pencarian Jarak terdekat • Travelling Salesmen • … Contoh kasus : Penakaran air dengan dua ember : Jika kita memiliki 2 buah takaran air, yang masing-masingnya dapat berisi 3 liter dan 4 liter air, apa langkah yang dapat kita lakukan untuk mendapatkan 2 liter air pada takaran 4 liter dengan hanya menggunakan kedua ember tersebut. Pendefenisian masalah : • Langkah standar : • 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 menuju ke keadaan akhir. • 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. (0,0) (2,0)
Operasi-operasi yang mungkin : • Mengisi air ke takaran 4 liter sampai penuh • Mengisi air ke takaran 3 liter sampai penuh • Mengisi sejumlah air dari takaran 4 liter sampai habis ke takaran 3 liter • Mengisi sejumlah air dari takaran 3 liter sampai habis ke takaran 4 liter • Mengosongkan semua air di takaran 4 liter • Mengosongkan semua air di takaran 3 liter • Mengisi sejumlah air dari takaran 3 liter s ke takaran 4 liter sampai penuh • Mengisi sejumlah air dari takaran 4 liter s ke takaran 3 liter sampai penuh • … Pengembangan Ruang Keadaan : (0,0) ? (2,0) • Operasi yang tidak diperbolehkan : • Mengisi takaran yang sudah penuh • Mengosongkan takaran yang sudah kosong • Kembali ke kondisi yang telah pernah dimiliki • …
Hasil pengembangan ruang keadaan : (0,0) 1 2 (4,0) (0,3) 8 1 4 2 (4,3) (1,3) (4,3) (3,0) 1 6 5 (4,3) (0,3) (1,0) ? (2,0)
Contoh kasus lain • Maze problem • Building Block problem • Tic Tac Toe • Shortest path problem • Puzzle • Chess • ….
4 3 2 1 2 3 4 Maze Problem Mencari path atau rute dari start ke goal Goal Start
Building Blocks Problem A A B C C B Initial State Goal State ON(A,C) ON(A,B) ON(B,TABLE) ON(B,C) ON(C,TABLE) ON(C,TABLE) • Dan sebagai operator untuk memindahkan dari satu state ke state lain, kita bisa gunakan: • Pickup(u) • Putdown(u) • Takeoff(u,v) • Puton(u,v)
Latihan : Maze Problem D B E G B G A H C A D E H F C S F S I (b) (a)
a b c d e f Bagaimana metoda GPS menemukan Solusi ?Teknik Search dan Jenisnya Teknik Search menentukan simpul mana yang dibuat lebih dulu dan mana yang kemudian sampai ditemukannya simpul solusi 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)
Jenis Teknik Search • Uninformed (Blind) Search • Breadth First Search (BFS) • Depth First Search (DFS) • Uniformed Cost Search (UCS) • Informed (Heuristik/Intelligent) Search • Uniformed Cost Search (UCS) • Greedy Algorithm • A/A* Algorithm • Hill Climbing • Genetic Algorithm
Perbandingan Uninformed dan Informed Search • Uninformed = memanfaatkan informasi tertentu • Informed = memanfaatkan informasi tertentu • Informasi tertentu tersebut disebut Heuristik • Heuristik berfungsi untuk mempercepat proses pencarian • Heuristik = Intelligent
Perbandingan BFS dan DFS(Sama-sama non heuristik search) Kualitasnya dibedakan berdasarkan : • Jumlah ruang simpul • Solusi (Jumlah langkah mencapai Solusi) Ilustrasi proses BFS Ilustrasi proses DFS Depth First Search (DFS) • Jumlah ruang simpul relatif (umumnya) lebih sedikit • Solusi tidak dijamin optimal Breadth First Search (BFS) • Jumlah ruang simpul relatif (umumnya) lebih banyak • Solusi dijamin optimal
Sekilas Pemrograman PROLOG Knowledge Manusia Manusia Pemberian knowledge bisa membuat manusia menjadi intelligent (cerdas) Knowledge 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
Elemen-elemen Program PROLOG • Domains • Predicates • Clauses • Goal • Aturan penulisan kode pada prolog • Tipe data pada prolog : symbol, integer, real, char, string, boolean • Cara kerja program prolog : Resolusi, Matching, …