Anda di halaman 1dari 17

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

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
Asumsi
Operasi-operasi untuk menghasilkan berbagai solusi yang mungkin
Proses pencarian (searching) untuk memilih solusi terbaik
Searching
Representa
si
Pengetahu
an pemrograman AI :
Dasar teknik
Algoritma Searching : - Logika/Logika formal/predikat
kalkulus
- backtracking
Data Representasi Pengetahuan :
- List/Graf
- Database
Bahasa Pemrograman
AI :
C
Prolog
C++
Lisp
Shell

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
?

Non Algoritmik dapat


berarti :
Pemecahan
Algoritmiknya (logic
combination) sangat
kompleks
Langkah Algoritmiknya
(sequensial) sangat
panjang
Keadaannya tidak pasti
(Uncertainty)
Secara analisis bersifat :
Non Polynomial

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 :

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.

1.Mendefenisikan masalah dengan tepat.


Pendefenisian masalah :
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
(0,0)
(2,0)
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.

Operasi-operasi yang mungkin :


1.
2.
3.
4.
5.
6.
7.
8.
9.

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

Operasi yang tidak diperbolehkan :


1.
2.
3.
4.

Mengisi takaran yang sudah penuh


Mengosongkan takaran yang sudah
kosong
Kembali ke kondisi yang telah pernah
dimiliki

Pengembangan Ruang
Keadaan :
(0,0)

(2,0)

Hasil pengembangan ruang


keadaan :
(0,0)

(4,0)
8

2
(4,3)
1
5
(4,3)

(0,3)

(0,3)

(1,3)
6
(1,0)

(2,0)

(4,3)

(3,0)

Contoh kasus lain


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

Maze Problem
Mencari path atau rute dari start ke
goal

Goal

4
3
2

Start
1

Building Blocks
Problem
A
A
C

B
B

Initial State

ON(A,C)
ON(B,TABLE)
ON(C,TABLE)

Goal
State
ON(A,B)
ON(B,C)
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

(a)

(b)

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)

b
e

c
f

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)

Ilustrasi proses BFS

Ilustrasi proses DFS

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

Sekilas Pemrograman PROLOG


Manusia

Knowledge

Manusia

Pemberian knowledge bisa membuat manusia menjadi intelligent (cerdas)

Manusia

Knowledge

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,

Anda mungkin juga menyukai