600 likes | 1.15k Views
KECERDASAN BUATAN. Introduction. Outline Kecerdasan Buatan ( Artificial Intelligence / AI ). Introduction Prinsip Program AI General Problem Solving : Representasi Masalah Searching Heuristik Studi kasus : Penerapan General Problem Solving Sistem Cerdas Representasi Pengetahuan
E N D
KECERDASANBUATAN Introduction
Outline KecerdasanBuatan (Artificial Intelligence/AI) • Introduction • Prinsip Program AI • General Problem Solving : • RepresentasiMasalah • Searching • Heuristik • Studikasus : PenerapanGeneral Problem Solving • SistemCerdas • RepresentasiPengetahuan • Logika formal : • Predicate Logic/Calculus Predicate • Tinjauantentangbahasapemrograman AI standar : • Prolog • Lisp • Pemrograman AI menggunakanbahasa non AI (prosedural) : • C/C++ • Tinjauanbeberapabidanggarapan AI : • Natural Language Processing • Pattern Recognition • Expert System • PerkembanganTeknik AI Mutakhir: • Mengatasikondisi Uncertainty • Mechine Learning • Optimalisasi • General Preview
Intoduction toArtificial Intelligence • Artificial Intelligence (Inteligensi/KecerdasanBuatan) merupakansalahsatubidangdariilmukomputer yang membahastentangkemungkinankomputeruntukdapatberlakusecaraintelligensepertihalnyamanusia • Apakahperkembangankomputersejauhinibelummemperlihatkanperilakuintelijentersebut ?......................................................... ……………………………………………………………………………………………. • Intelijen/cerdas?? Cerdas= memilikipengetahuan + pengalaman, penalaran (bagaimanamembuatkeputusan & mengambil tindakan), moral yang baik
Knowledge base Inference mechanism Agar mesinbisacerdas (bertindakseperti & sebaikmanusia) makaharusdiberibekalpengetahuan & mempunyaikemampuanuntukmenalar. 2 bagianutamaygdibutuhkanuntukaplikasikecerdasanbuatan : a. basis pengetahuan (knowledge base): berisifakta-fakta, teori, pemikiran & hubunganantarasatudenganlainnya. b. motor inferensi (inference engine) : kemampuanmenarikkesimpulanberdasarkanpengalaman Computer Inputs Outputs
Sejarah AI Abad 17-19 • Blaisepascal – mesinpenghitung digital (mekanik) • Charles Babbage – Mesinpenghitung (program) • BetrandRussel & Alfred Nort Whitehead – Principamatematika (logika formal) • Walter Pitts – KalkulusLogis (fondasiJST)
Sejarah AI Abad 1950-1970 • DiestrichPrinz – Game catur (1951) • Alan Turing – testuring • 1952 – 1969: Newell dan Simon menemukan General Problem Solver • John McCharty – Konferensi AI & LISP • Joseph Weinzenbaun – ELIZA (1967) • Alain Colmerauer – PROLOG • Joel Moses – Program macsyma(program berbasispengetahuan) • Marvin Minsky – perceptrons yang mendemonstrasikanbatasjaringansaraftiruansederhana • 1969 – 1979 : knowledge based system • Ted Shortliffe – sistemberbasisaturanuntukrepresentasipengetahuandaninferensidalam diagnosis danterapimedis(SP) DARPA - 2004 • Autonomous CAR
TES TURING Here is Turing's example of an exchange that might occur during the test. • Interrogator In the first line of your sonnet which reads 'Shall I compare thee to a summer's day', would not 'a spring day' do as well or better? • Computer It wouldn't scan. • Interrogator How about 'a winter's day'? That would scan all right. • Computer Yes, but nobody wants to be compared to a winter's day. • Interrogator Would you say Mr. Pickwick reminded you of Christmas? • Computer In a way. • Interrogator Yet Christmas is a winter's day, and I do not think Mr Pickwick would mind the comparison • Computer I don't think you're serious. By a winter's day one means a typical winter's ww.alanturing.net/turing_archive/pages/reference articles/theturingtest.html
SUB DISIPLINILMU AI • AI & TeknikElektro • Pengolahancitra • Teorikendali • Pengenalanpola • Robotika • AI & SistemInformasi • SPK • SP
Contoh ilmu-ilmu dalam lingkup AI • ANN (Artificial Neural Network) • NLP (Natural Language Processing) • Game Playing • ES (Expert System) • Robotics • Pattern Recognition • Computer Reasoning • Computer Vision • IR (Information Retrieval) • Data Mining • Fuzzy System • Neuro Fuzzy System • GA (Genetic Algorithm) • CBR (Case Based Reasoning) • DSS (Decision Support System)
Padath 1999 Ray Kurzweil membuatprediksitentangperkembangan AI
AI Masa Depan 2009 • Sebuah PC seharga US$ 1000 dptmempunyaikecepatan 1 THz • Komputermenjadisangatkecildanmenempelpdperhiasan • Sebagianbesartransaksibisnisdilakukansecara virtual • Teleponmemilikiaplikasipenerjemahsehinggakeduapeneleponbisaberbicaradenganbahasaygberbeda
AI MasaDepan 2019 • Sebuah PC seharga US$ 1000 akansetara dg kemampuankomputasionalotakmanusia • Komputerbisamenempeldimanasajadansemakintidakterlihat • Virtual Reality sudahdalambentuk 3 dimensi • Sebagianinteraksimanusiadengankomputerhanyadenganmenggunakanisyarattubuh
AI MasaDepan 2029 • Sebuah PC seharga US$ 1000 akan setara dengan kemampuan komputasional 1000 otak manusia • Komputer telah terhubung langsung ke otak manusia dg koneksi high-bandwidth
AI Masa Depan 2049 • Makanan yang diproduksi menggunakan nano technology mulai digunakan secara umum. Makanan tersebut memiliki komposisi gizi yg baik, mempunyai rasa dan tekstur yg sama dengan makanan organik
AI MasaDepan 2072 • Picoengineering atau teknologi pada skala picometer atau 10-12 meter mulai berhasil diaplikasikan di dunia nyata
AI Masa Depan 2099 • Ada kecenderungan kuat untuk membuat gabungan antara pemikiran manusia dengan kecerdasan mesin • Tidak ada perbedaan yg jelas antara pemikiran manusia dengan mesin • Jumlah manusia berbasis software (Semi Cyborg) lebih banyak dibandingkan manusia berbasis sel2 syaraf alami
KecerdasanBuatanVSKecerdasanAlami Kelebihankecerdasanalami : 1. Kreatif : manusiamemilikikemampuanuntukmenambahpengetahuan, sedangkanpadakecerdasanbuatanuntukmenambahpengetahuanharusdilakukanmelaluisistem yang dibangun. 2. Memungkinkan orang untukmenggunakanpengalamansecaralangsung. Sedangkanpadakecerdasanbuatanharusbekerjadengan input-input simbolik. 3. Pemikiranmanusiadapatdigunakansecaraluas, sedangkankecerdasanbuatansangatterbatas. • Kelebihankecerdasanbuatan : • Lebihbersifatpermanen. • Lebihmudahdiduplikasi & disebarkan. • Lebihmurah. • Bersifatkonsisten • Dapatdidokumentasi • Lebihcepat • Lebihbaik
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 • CirikhasterpentingPemrograman(software) AI : • Pemrogramansimbolik • Memecahkanmasalahnon algoritmik • Memanipulasisifat/type kualitatifketimbangkuantitatif/Numerik • Solusi (pemecahan) tidakmestieksak • Menggunakanpengetahuanuntukmemecahkanmasalah • Setiapbagian program dapatbersifatIndependen • Dapatbelajardaripengalamansebelumnya …… ?
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 • Dasarteknikpemrograman AI : • Algoritma Searching : - Logika/Logika formal/predikatkalkulus • - backtracking • Data RepresentasiPengetahuan : - List/Graf • - Database • BahasaPemrograman AI : • Prolog • Lisp • Shell C C++ • Kenapa harus menggunakan bahasa pemrograman/tool khusus ? ………………………………………………………………………………………………………….. …………………………………………………………………………………………………………..
(Newell & Simon 1976)General Problem Solver • Why do we care about symbols? • Understand human cognition with a language like symbolic processing "A physical symbol system has the necessary and sufficient means for general intelligent action." (Newell & Simon 1976) • Physical symbol system • Set of entities called symbols - physical patterns that can occur as components • Expressions (or symbol structures) built of symbols
SYMBOL?? carakerjakomputer modern (yang belumberlandaskan AI) proses secaranumeriksetahap demi setahapsetiapinstruksi duahalpenting yang berbedadengancarakerjaotakmanusia komputermemprosessecaranumerik manusia cenderung memproses secara simbolik. Manusiamemanipulasisimbol-simbol, sehinggaiabisamenurunkanrumus-rumus, suatukemampuan yang belumdimilikikomputer
Kedua SimbolikNonalgoritmik komputermemprosessecaraalgoritmik, yaitusetahap demi setahapmengikutisuatuprosedur yang menujusuatusolusi proses intelegensilebihdarisekedarmengikutiprosedur yang setahap demi setahap, non-algoritmik
Heuristik • Heuristikadalahpetunjukpraktis yang membantukitauntukmemutuskanapa yang akankitalakukan. Denganheuristikkitatidakperluberpikirsecaralengkapdalammenghadapimasalah-masalah. Sadaratautidaksadarkitaseringkalimenggunakanheuristik. Jikakitamemegangsuatupetunjukpraktisuntukmenghadapisuatusituasi, kitaakandapatbertindak.
PROLOG & LISP • Kenapamenggunakan tool khusus AI? misalnya PROLOG, Dalamteknik program deklaratifmengunakan prolog kitadapatlangsungmemberikansejumlahfaktadanaturan-aturan yang mengkaitkanfaktatersebut, iaakanmemecahkanmasalahsecaradeduktif. Bahasapemrosessimbol yang populeradalah LISP (List Processor)
SekilasPemrograman 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 • Aturanpenulisankodepada prolog • Tipe data pada prolog : symbol, integer, real, char, string, boolean • Cara kerja program prolog : Resolusi, Matching, …
Sekilas LISP • Yang sangatpentingdalampemrosesansimboladalahkonsepasosiasi. • Dalam LISP asosiasiantarasimboldilaksanakandenganmembentuksuatustruktur yang diberinama list.
Everything's a List! • Data • Functions • Simple syntax: (function-name arg1 arg2 …) (first ‘(a b c)) = a (a b c) • (defun plus (x y) • (+ x y))
SISTEMCERDAS • Sistemcerdasadalahsistem yang dapatmengadopsisebagaiankecildaritingkatkecerdasanmanusiauntukberinteraksidengankeadaaneksternalsuatusistem • kemampuanuntukdilatih, mengingatkembalikondisi yang pernahdialami, mengolah data-data untukmemberikanaksi yang tepatsesuai yang telahdiajarkan, dankemampuanmenyerapkepakaranseorangahlimelaluiperintah yang dituliskandalamsebuahbahasapemrogramantertentu
Computer Inputs Outputs Knowledge base Inference mechanism • SistemBerbasisPengetahuan • SistemLogikasamar • Sistemberbasisjaringansyaraftiruan
Empathaluntukmembangunsistemataumemecahkanmasalahtertentu : 1. Definisikanmasalahdenganjelas 2. Analisismasalah 3. Kumpulkan dan representasikan knowledge 4. Pilih teknik pemecah masalah terbaik dan gunakan untuk masalah tertentu
MendefinisikanMasalahsebagai “State Space Search” (SSS) Misalnya permainan catur , maka SSS nya adalah : Menspesifikasikanposisiawaldaripapancatur Peraturan (rules) yang mendefinisikanlangkah-langkah yang legal Posisi papan yang merepresentasikan pemenang dari satu sisi atau sisi lainnya. Tujuan (Goal) dari permainan adalah : memenangkan permainan.
PendefinisianMasalahSebagaiPencarianRuangKeadaan Masalahutamadalammembangunsistemberbasis AI adalahbagaimanamengkonversikansituasi yang diberikankedalamsituasi lain yang diinginkan menggunakansekumpulanoperasitertentu.
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)
Representasi Pengetahuan • Bagaimanamerepresentasikanpengetahuankedalam basis pengetahuandanmengujikebenaranpenalaran • Cara-cara lama: • List, digunakanpada LISP • Predicate Calculus, digunakanpada Prolog • Tree, untuk heuristic search • Karakteristik RP: • Dapatdiprogramkan • Dapatdimanfaatkanuntukpenalaran, menggambarkankesimpulansebagaifungsikecerdasan
Alasan Pemilihan • Why knowledge representation rather than information representation? • Karena pada konvensional database merepresentasikan data secara sederhana: string, number, boolean • Namun AI menganggap pengetahuan lebih kompleks, seperti proses, prosedur, aksi, waktu, tujuan dan penalaran • Knowledge should be collected, codified, and organized in systematic order
Representasi Pengetahuan (2) • Harus terdiri dari struktur data dan prosedur untuk penafsiran • Hal yang berhubungan dengan RP: • Object pengetahuan itu sendiri • Event: kejadian-kejadian dalam dunia nyata dan hubungannya • Performa: bagaimana melakukan suatu tugas tertentu • Meta knowledge: pengetahuan tentang pengetahuan yang direpresentasikan
a b c d e f Bagaimanametoda GPS menemukanSolusi ?Teknik Search danJenisnya 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)