pengantar artificial intelegence

17
Intoduction to Artificial Artificial Intelligence 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 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 ………

Upload: juli-artha-suwasta

Post on 29-Jan-2016

222 views

Category:

Documents


0 download

DESCRIPTION

Modul Pengantar Artificial intelegence

TRANSCRIPT

Page 1: Pengantar Artificial intelegence

Intoduction to

Artificial IntelligenceArtificial 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

 

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 ………

Page 2: Pengantar Artificial intelegence

Beberapa bidang yang telah digarap AI : Game Playing Robotic Natural Language Processing Pattern (Vision/Spech )Recognition Expert System Jaringan Saraf Tiruan

Mungkinkah komputer dapat berpikir mandiri ? (Berpikir sebagai salah satu kriteria cer

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, …

Page 3: Pengantar Artificial intelegence

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

Representasi Pengetahuan

Searching

Dasar teknik pemrograman AI :•Algoritma Searching : - Logika/Logika formal/predikat kalkulus

- backtracking•Data Representasi Pengetahuan : - List/Graf

- Database Bahasa Pemrograman AI :

•Prolog •Lisp•Shell

CC++

Page 4: Pengantar Artificial intelegence

Prinsip Program AIPrinsip 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 …… ?

Non Algoritmik dapat berarti :

•Pemecahan Algoritmiknya (logic combination) sangat kompleks

•Langkah Algoritmiknya (sequensial) sangat panjang

•Keadaannya tidak pasti (Uncertainty)

•Secara analisis bersifat : Non Polynomial

Page 5: Pengantar Artificial intelegence

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•…

Langkah standar :

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 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.

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 :

(0,0) (2,0)

Page 6: Pengantar Artificial intelegence

Operasi-operasi yang mungkin :

1. Mengisi air ke takaran 4 liter sampai penuh2. Mengisi air ke takaran 3 liter sampai penuh3. Mengisi sejumlah air dari takaran 4 liter

sampai habis ke takaran 3 liter4. Mengisi sejumlah air dari takaran 3 liter

sampai habis ke takaran 4 liter5. Mengosongkan semua air di takaran 4 liter6. Mengosongkan semua air di takaran 3 liter7. Mengisi sejumlah air dari takaran 3 liter s

ke takaran 4 liter sampai penuh8. Mengisi sejumlah air dari takaran 4 liter s

ke takaran 3 liter sampai penuh9. …

Operasi yang tidak diperbolehkan :

1. Mengisi takaran yang sudah penuh2. Mengosongkan takaran yang sudah

kosong3. Kembali ke kondisi yang telah pernah

dimiliki4. …

Pengembangan Ruang Keadaan :

 

(2,0)

(0,0)

Page 7: Pengantar Artificial intelegence

(4,3)

(0,0)

(4,0) (0,3)

1 2

(1,3)(4,3)

28

(3,0)(4,3)

1 4

(0,3) (1,0)

1

56

Hasil pengembangan ruang Hasil pengembangan ruang keadaan :keadaan :

(2,0)

Page 8: Pengantar Artificial intelegence

Contoh kasus lainContoh kasus lain

• Maze problem• Building Block problem• Tic Tac Toe• Shortest path problem• Puzzle• Chess• ….

Page 9: Pengantar Artificial intelegence

1

2

3

4

2 3 4

Start

Goal

Maze Problem

Mencari path atau rute dari start ke goal

Page 10: Pengantar Artificial intelegence

A

C B C

B

A

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)

Building BlocksBuilding Blocks ProblemProblem

Page 11: Pengantar Artificial intelegence

D GB E

A H

FC

IS

GB

CA

HED

S F

Latihan : Maze Maze ProblemProblem

(a) (b)

Page 12: Pengantar Artificial intelegence

Bagaimana metoda GPS menemukan Solusi ?

Teknik Search dan JenisnyaTeknik 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)

a

b c d

e f

Page 13: Pengantar Artificial intelegence

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

Page 14: Pengantar Artificial intelegence

Perbandingan Uninformed dan Informed

Search• Uninformed = memanfaatkan informasi tertentu• Informed = memanfaatkan informasi tertentu • Informasi tertentu tersebut disebut HeuristikHeuristik• Heuristik berfungsi untuk mempercepat proses

pencarian• Heuristik = Intelligent

Page 15: Pengantar Artificial intelegence

Perbandingan BFS dan DFS(Sama-sama non heuristik search)

Kualitasnya dibedakan berdasarkan :– Jumlah ruang simpul– Solusi (Jumlah langkah mencapai Solusi)

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

Ilustrasi proses BFS Ilustrasi proses DFS

Page 16: Pengantar Artificial intelegence

Sekilas Pemrograman PROLOG

Manusia ManusiaKnowledge

PROLOGKnowledge

Manusia

Knowledge = Fakta + Rule

Pada PROLOG ada fasilitas untuk memberikan Fakta dan Rule yaitu melalui ClausesClauses

Pemberian knowledge bisa membuat manusia menjadi intelligent (cerdas)

Pemberian knowledge diharapkan bisa membuat komputer menjadi intelligent (cerdas) seperti layaknya manusia

Page 17: Pengantar Artificial intelegence

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, …