M ASALAH D AN M ETOD E
M ASALAH D AN M ETOD E
PEM ECAH AN M ASALAH
PEM ECAH AN M ASALAH
Pendahuluan
Pendahuluan
• Sist em yang m enggunakan
kecerdasan buat an akan
kecerdasan buat an akan
Pendahuluan
Pendahuluan (( Lanj t
Lanj t ))
• Pada gam bar, input yg diberikan pada
sist em yg m enggunakan kecerdasan
buat an adalah berupa m asalah. Sist em
harus dilengkapi dengan sekum pulan
penget ahuan yang ada pada basis
penget ahuan yang ada pada basis
penget ahuan. Sist em harus m em iliki
m ot or inferensi agar m am pu m engam bil
m ot or inferensi agar m am pu m engam bil
kesim pulan berdasarkan fakt a at au
penget ahuan. Out put yang diberikan
berupa solusi m asalah sebagai hasil dari
inferensi.
Pendahuluan
Pendahuluan (( Lanj t
Lanj t ))
Secara um um , unt uk m em bangun suat u sist em yang m am pu m enyelesaikan m asalah, perlu di t i b k 4 h l
dipert im bangkan 4 hal :
1. Mendefinisikan m asalah dengan t epat .
Pendefinisian ini m encakup spesifikasi yang t epatp p y g p
m engenai keadaan aw al dan solusi yang
diharapkan.
2 Menganalisis m asalah t ersebut sert a m encari 2. Menganalisis m asalah t ersebut sert a m encari beberapa t eknik penyelesaian m asalah yang sesuai.
3. Merepresent asikan penget ahuan yang perlu unt uk m enyelesaikan m asalah t ersebut .
M EN D EFI N I SI KAN M ASALAH
M EN D EFI N I SI KAN M ASALAH
SEBAGAI SUATU RUAN G KEAD AAN
SEBAGAI SUATU RUAN G KEAD AAN
SEBAGAI SUATU RUAN G KEAD AAN
SEBAGAI SUATU RUAN G KEAD AAN
Misalkan perm asalahan yang dihadapi adalahp y g p perm ainan cat ur, m aka harus dit ent ukan :
1. posisi awal pada papan cat ur posisi awal set iap
i t l l it bid k
perm ainan cat ur selalu sam a, yait u sem ua bidak dilet akkan di at as papan cat ur dalam 2 sisi, yait u kubu put ih dan kubu hit am .
2. at uran – at uran unt uk m elakukan gerakan at uran – at uran ini sangat berguna unt uk m enent ukan gerakan suat u bidak yait u m enent ukan gerakan suat u bidak, yait u
m elangkah dari sat u keadaan ke keadaan lain. Misalkan unt uk m em perm udah m enunj ukkanp j
TI - UG ( Lily W.)
posisi bidak, set iap kot ak dit unj ukkan dalam
huruf ( a,b,c,d,e,f,g,h) pada arah horisont al dan huruf ( a,b,c,d,e,f,g,h) pada arah horisont al dan angka ( 1,2,3,4,5,6,7,8) pada arah vert ikal. Suat u at uran unt uk m enggerakkan bidak dari posisi
( e 2) ke ( e 4) dapat dit unj ukkan dengan at uran : ( e,2) ke ( e,4) dapat dit unj ukkan dengan at uran :
if bidak put ih pada kot ak( e,2) , and kot ak( e 3) kosong
and kot ak( e,3) kosong, and kot ak( e,4) kosong
t hen gerakkan bidak dari ( e,2) ke ( e,4) g ( , ) ( , )
3. t uj uan ( goal) t uj uan yang ingin dicapai adalah posisi pada papan cat ur yang m enunj ukkan
kem enangan seseorang t erhadap lawannya kem enangan seseorang t erhadap lawannya.
• Cont oh t ersebut m enunj ukkan represent asi m asalah dalam Ruang Keadaan ( St at e Space) yait u suat u ruang yang
Ruang Keadaan ( St at e Space) , yait u suat u ruang yang berisi sem ua keadaan yang m ungkin. Kit a dapat
m em ulai berm ain cat ur dengan m enem pat kan diri pada keadaan awal kem udian bergerak dari sat u pada keadaan awal, kem udian bergerak dari sat u
keadaan ke keadaan yang lain sesuai dengan at uran yang ada, dan m engakhiri perm ainan j ika salah sat u
t l h i t j
t elah m encapai t uj uan.
• Ja di u n t u k m e n de sk r ipsik a n m a sa la h de n ga n ba ik h a r u s :
1. Mendefinisikan suat u ruang keadaan ( st at e space) 2. Menet apkan sat u at au lebih keadaan awal ( init ial
st at e) st at e)
3. Menet apkan sat u at au lebih t uj uan ( goal st at e) 4. Menet apkan kum pulan at uran
Ca r a
Ca r a M e r e pr e se n t a sik a n
M e r e pr e se n t a sik a n
Ru a n g
Ru a n g Ke a da a n
Ke a da a n
Ru a n g
Ru a n g Ke a da a n
Ke a da a n
• GRAPH KEADAAN
Graph t erdiri dari node- node yang m enunj ukkan
keadaan yait u keadaan awal dan keadaan baru yang akan dicapai dengan m enggunakan operat or Node-akan dicapai dengan m enggunNode-akan operat or. Node node dalam graph keadaan saling dihubungkan
dengan m enggunakan arc ( busur) yang diberi panah unt uk m enunj ukkan arah dari suat u keadaan ke
Graph keadaan dengan node M m enunj ukkan keadaan awal, node T adalah t uj uan. Ada 4 keadaan awal, node T adalah t uj uan. Ada 4 lint asan dari M ke T :
• M- A- B- C- E- T • M- A- B- C- E- H- T • M- D- C- E- T
M D C E H T • M- D- C- E- H- T
Lint asan bunt u at au lint asan yang t idak sam pai ke t uj uan :
t uj uan :
• M- A- B- C- E- F- G • M- A- B- C- E- I - J • M- D- C- E- F- G • M- D- C- E- I - J • M- D- I - J
POH ON PELACAKAN / PEN CARI AN
St
kt
h
di
k
t k
• St rukt ur pohon digunakan unt uk
m enggam barkan keadaan secara hirarkis.
Node yg t erlet ak pada level- o disebut ’akar’
Node yg t erlet ak pada level- o disebut akar .
• Node akar : m enunj ukkan keadaan awal &
m em iliki beberapa percabangan yang t erdiri
m em iliki beberapa percabangan yang t erdiri
at as beberapa node yg disebut ’anak’ .
• Node- node yg t idak m em iliki anak disebut
Node node yg t idak m em iliki anak disebut
’daun’ m enunj ukkan akhir dari suat u
pencarian, dapat berupa t uj uan yang
• Gam bar berikut m enunj ukkan pohon pencarian unt uk graph keadaan dengan 6 level. g p g
POH ON AN D / OR
• Masalah M dicari solusinya dengan 4
kem ungkinan yait u A OR B OR C OR D.
M
l h M h
d
t di
l
ik
• Cont oh : Dengan m enggunakan
pohon AND/ OR t uj uan yang dicapai
pada pohon di Gam bar sebelum nya
bisa dipersingkat hanya sam pai
level- 2 saj a.
Con t oh
Con t oh 1 :
1 : M a sa la h
M a sa la h EM BER
EM BER
• Ada 2 em ber m asing- m asing berkapasit as 4 galon ( em ber A) dan 3 galon ( em ber B) . Ada pom pa air yg akan digunakan unt uk m engisi air pada em ber yg akan digunakan unt uk m engisi air pada em ber t ersebut . Bagaim ana dapat m engisi t epat 2 galon air ke dalam em ber berkapasit as 4 galon?
• Penyelesaian :
1. I dent ifikasi ruang keadaan ( st at e space)
Perm asalahan ini dapat digam barkan sebagai Perm asalahan ini dapat digam barkan sebagai him punan pasangan bilangan bulat :
x = j um lah air yg diisikan ke em ber 4 galon ( em ber A) j yg g ( ) y = j um lah air yg diisikan ke em ber 3 galon ( em ber B)
Ruang keadaan = ( x,y) sedem ikian hingga x א { 0,1,2,3,4} dan y א{ 0,1,2,3}
2. Keadaan awal & t uj uan
Keadaan aw al : kedua em ber kosong = ( 0,0)
Tuj uan : em ber 4 galon berisi 2 galon air = ( 2,n) dengan sem barang n
3. Keadaan em ber
Keadaan em ber bisa digam barkan sebagai Keadaan em ber bisa digam barkan sebagai berikut :
4. At uran- at uran
Diasum sikan kit a dapat m engisi em ber air it u dari pom pa air, m em buang air dari em ber ke luar, m enuangkan air dari em ber yang sat u ke em ber yang lain.
5. Represent asi ruang keadaan dengan pohon pelacakan Pencarian suat u solusi dapat dilukiskan dengan
k h Ti t i d j kk t m enggunakan pohon. Tiap- t iap node m enunj ukkan sat u keadaan. Jalur dari parent ke child ,m enunj ukkan 1
operasi. Tiap node m em iliki node child yg m enunj ukkan keadaan yg dapat dicapai oleh parent
keadaan yg dapat dicapai oleh parent .
Re pr e se n t a si
Re pr e se n t a si Ru a n g
Ru a n g Ke a da a n
Ke a da a n u n t u k
u n t u k
Ka su s
Ka su s EM BER
EM BER
Ka su s
Con t oh
Con t oh 2 :
2 : M a sa la h
M a sa la h PETAN I ,
PETAN I ,
KAM BI N G, SERI GALA, SAYURAN ,
KAM BI N G, SERI GALA, SAYURAN ,
KAM BI N G, SERI GALA, SAYURAN ,
KAM BI N G, SERI GALA, SAYURAN ,
PERAH U
PERAH U
Seorang pet ani akan m enyeberangkan seekor Seorang pet ani akan m enyeberangkan seekor
kam bing,seekor serigala,sayuran dengan sebuah perahu yg m elalui sungai. Perahu hanya bisa m em uat pet ani & sat u penum pang yg lain ( kam bing serigala at au
sat u penum pang yg lain ( kam bing, serigala, at au sayuran) . Jika dit inggalkan pet ani t ersebut , m aka
sayuran dim akan kam bing dan kam bing akan dim akan i l
serigala.
Penyelesaian :
1. I dent ifikasi ruang keadaand a ua g adaa
Perm asalahan ini dapat dilam bangkan dengan ( j um lah kam bing,j um lah serigala,j um lah
sayuran j um lah perahu) sayuran,j um lah perahu) .
Cont oh : daerah asal ( 0,1,1,1) = daerah
l t id k
d
k
bi
d
i
l
d
asal t idak ada kam bing,ada serigala, ada
sayuran,ada perahu
2 Keadaan awal & t uj uan
2. Keadaan awal & t uj uan
Keadaan awal, pada kedua daerah :
d
h
l
( 1 1 1 1)
daerah asal = ( 1,1,1,1)
daerah seberang = ( 0,0,0,0)
Keadaan t uj uan, pada kedua daerah :
daerah asal = ( 0,0,0,0)
4 . S o lu s i y g d it e m u k a
n TI-U
M ETOD E
M ETOD E
PELACAKAN / PEN CARI AN
PELACAKAN / PEN CARI AN
PELACAKAN / PEN CARI AN
PELACAKAN / PEN CARI AN
• Hal pent ing dalam m enent ukan keberhasilan sist em cerdas
adalah kesuksesan dalam pencarian. Pencarian = suat u proses m encari solusi dari suat u perm asalahan m elalui sekum pulan kem ungkinan ruang keadaan ( st at e space) . Ruang keadaan = m erupakan suat u ruang yang berisi sem ua keadaan yang
ki m ungkin.
• Unt uk m engukur perfom ansi m et ode pencarian, t erdapat em pat krit eria yang dapat digunakan :
- Com plet eness : apakah m et ode t sb m enj am in penem uan solusi j ika solusinya m em ang ada?
- Tim e com plexit y : berapa lam a w akt u yang diperlukan? p y p y g p - Space com plexit y : berapa banyak m em ori yg diperlukan - Opt im alit y : apakah m et ode t sb m enj am in m enem ukan
Teknik
Teknik pencarian
pencarian
A. Pencarian but a ( blind search) : t idak ada
inform asi aw al yang digunakan dalam proses pencarian
pencarian
1. Pencarian m elebar pert am a ( Breadt h – First Search)
Search)
2. Pencarian m endalam pert am a ( Dept h – First Search)
B. Pencarian t erbim bing ( heurist ic search) : adanya inform asi awal yang digunakan dalam proses
pencarian pencarian
1. Pendakian Bukit ( Hill Clim bing)
2. Pencarian Terbaik Pert am a ( Best First Search) e ca a e ba e t a a ( est st Sea c )
A.
A. Pe n ca r ia n
Pe n ca r ia n Bu t a
Bu t a ( blin d se a r ch )
( blin d se a r ch )
1. Breadt h – First Search Sem ua node pada level n akan dikunj ungi t erlebih dahulu sebelum
• Keunt ungan :
– t idak akan m enem ui j alan bunt u m enj am in t idak akan m enem ui j alan bunt u, m enj am in
dit em ukannya solusi ( j ika solusinya m em ang ada) dan solusi yang dit em ukan past i yang paling baik j ika ada 1 solusi m aka breadt h first search akan – j ika ada 1 solusi, m aka breadt h – first search akan
m enem ukannya,j ika ada lebih dari 1 solusi, m aka solusi m inim um akan dit em ukan.
– Kesim pulan : com plet e dan opt im al • Kelem ahan :
– m em but uhkan m em ori yang banyak karena harus m em but uhkan m em ori yang banyak, karena harus m enyim pan sem ua sim pul yang pernah
dibangkit kan. Hal ini harus dilakukan agar BFS dapat m elakukan penelusuran sim pul- sim pul dapat m elakukan penelusuran sim pul- sim pul sam pai di level bawah
– m em but uhkan wakt u yang cukup lam a
2 . D e pt h
2 . D e pt h –
– Fir st Se a r ch
Fir st Se a r ch
• Pencarian dilakukan pada suat u sim pul dalam set iap level dari yang paling kiri.
• Jika pada level yang paling dalam t idak dit em ukan solusi, Jika pada level yang paling dalam t idak dit em ukan solusi, m aka pencarian dilanj ut kan pada sim pul sebelah kanan dan sim pul yang kiri dapat dihapus dari m em ori.
• Jika pada level yang paling dalam t idak dit em ukan solusi, a pada e e ya g pa g da a da d e u a so us , m aka pencarian dilanj ut kan pada level sebelum nya.
• Keunt ungan :
– m em but uhkan m em ori relat if kecil karena hanya node-m em but uhkan m em ori relat if kecil, karena hanya node node pada lint asan yang akt if saj a yang disim pan
– Secara kebet ulan, akan m enem ukan solusi t anpa harus m enguj i lebih banyak lagi dalam ruang keadaan j adi j ika m enguj i lebih banyak lagi dalam ruang keadaan, j adi j ika solusi yang dicari berada pada level yang dalam dan paling kiri, m aka Æ w a k t u ce pa t
• Kelem ahan : • Kelem ahan :
– Mem ungkinkan t idak dit em ukannya t uj uan yang diharapkan, karena j ika pohon yang dibangkit kan
m em punyai level yang sangat dalam ( t ak t erhingga) Æ m em punyai level yang sangat dalam ( t ak t erhingga) Æ
t ida k com ple t e karena t idak ada j am inan m enem ukan solusi
– Hanya m endapat 1 solusi pada set iap pencarian karena Hanya m endapat 1 solusi pada set iap pencarian, karena
j ika t erdapat lebih dari sat u solusi yang sam a t et api berada pada level yang berbeda, m aka DFS t idak m enj am in unt uk m enem ukan solusi yang paling baik y g p g Æ t ida k opt im a lp .
B. H e u r ist ic Se a r ch
B. H e u r ist ic Se a r ch
• Pencarian but a t idak selalu dapat dit erapkan dengan baik, hal ini disebabkan w akt u aksesnya yang cukup lam a & besarnya m em ori yang diperlukan Unt uk
lam a & besarnya m em ori yang diperlukan. Unt uk m asalah dengan ruang m asalah yang besar, t eknik pencarian but a bukan m et ode yang baik karena
ket erbat asan kecepat an kom put er dan m em ori ket erbat asan kecepat an kom put er dan m em ori. • Met ode heurist ic search diharapkan bisa
m enyelesaikan perm asalahan yang lebih besar.
Met ode heurist ic search m enggunakan suat u fungsi yang m enghit ung biaya perkiraan ( est im asi) dari
suat u sim pul t ert ent u m enuj u ke sim pul t uj uan Æ
suat u sim pul t ert ent u m enuj u ke sim pul t uj uan Æ
• Misal kasus 8- puzzle. Ada 4 operat or yang dapat
di k t k kk d i t
digunakan unt uk m enggerakkan dari sat u keadaan ke keadaan yang baru
1. Ubin kosong digeser ke kiri 1. Ubin kosong digeser ke kiri 2. Ubin kosong digeser ke kanan 3. Ubin kosong digeser ke baw ah 4. Ubin kosong digeser ke at as
Langkah awal
Pada pencarian heurist ik perlu diberikan inform asi khusus, yait u :
T
I-U
G
(
L
il
y
W
.)
3
• Menghit ung t ot al gerakan yang diperlukan unt uk
m encapai t uj uan Jum lah yang lebih kecil adalah yang m encapai t uj uan Jum lah yang lebih kecil adalah yang diharapkan ( lebih baik)
1 . H ill Clim bin g
1 . H ill Clim bin g
• Cont oh : Traveling Salesm an Problem ( TSP) Seorang salesm an ingin m engunj ungi n kot a.
Jarak ant ara t iap t iap kot a sudah diket ahui Kit a Jarak ant ara t iap- t iap kot a sudah diket ahui. Kit a ingin m enget ahui rut e t erpendek dim ana set iap kot a hanya boleh dikunj ungi t epat 1 kali. Misal
d k d k k
ada 4 kot a dengan j arak ant ara t iap- t iap kot a sepert i berikut ini :
Solusi solusi yang m ungkin dengan Solusi – solusi yang m ungkin dengan m enyusun kot a- kot a dalam urut an abj ad, m isal :
A – B – C – D : dengan panj ang A B C D : dengan panj ang lint asan ( = 19)
a .
a . M e t ode
M e t ode Sim ple H ill Clim bin g
Sim ple H ill Clim bin g
• Ruang keadaan berisi sem ua kem ungkinan lint asan yang m ungkin. Operat or digunakan unt uk m enukar posisi kot a- kot a yang
unt uk m enukar posisi kot a kot a yang
bersebelahan. Fungsi heurist ik yang digunakan adalah panj ang lint asan yang t erj adi. Operat or yang akan digunakan adalah m enukar urut an yang akan digunakan adalah m enukar urut an posisi 2 kot a dalam 1 lint asan. Bila ada n kot a, dan ingin m encari kom binasi lint asan dengan
m enukar posisi urut an 2 kot a, m aka akan didapat sebanyak :
• Keenam kom pbinasi ini akan dipakai sem uanya
b i t it
sebagai operat or, yait u :
Tukar 1,2 = m enukar urut an posisi kot a ke – 1 dengan kot a ke – 2 ke 1 dengan kot a ke 2
Tukar 2,3 = m enukar urut an posisi kot a ke – 2 dengan kot a ke – 3
Tukar 3,4 = m enukar urut an posisi kot a ke – 3 dengan kot a ke – 4
Tukar 4 1 = m enukar urut an posisi kot a ke – 4 Tukar 4,1 = m enukar urut an posisi kot a ke 4
dengan kot a ke – 1
Tukar 2,4 = m enukar urut an posisi kot a ke – 2 dengan kot a ke – 4
Tukar 1,3 = m enukar urut an posisi kot a ke – 1 dengan kot a ke 3
T
I-U
G
(
L
il
y
W
.)
3
• Keadaan aw al, lint asan ABCD ( = 19) .
• Level pert am a, hill clim bing m engunj ungi BACD ( = 17) , BACD ( = 17) < ABCD ( 19) hi BACD j di ilih l j d
ABCD ( = 19) , sehingga BACD m enj adi pilihan selanj ut nya dengan operat or Tukar 1,2
• Level kedua, m engunj ungi ABCD, karena operat or Tukar 1,2 sudah dipakai BACD, m aka pilih node lain yait u BCAD ( = 15) , BCAD ( = 15) < dipakai BACD, m aka pilih node lain yait u BCAD ( 15) , BCAD ( 15) BACD ( = 17)
• Level ket iga, m engunj ungi CBAD ( = 20) , CBAD ( = 20) > BCAD ( = 15) , m aka pilih node lain yait u BCDA ( = 18) , pilih node lain yait u DCAB ( 17) pilih node lain yait u BDAC ( 14) BDAC ( 14) < BCAD ( 15) ( = 17) , pilih node lain yait u BDAC ( = 14) , BDAC ( = 14) < BCAD ( = 15) • Level keem pat , m engunj ungi DBAC ( = 15) , DBAC( = 15) > BDAC
( = 14) , m aka pilih node lain yait u BADC ( = 21) , pilih node lain yait u BDCA ( = 13) , BDCA ( = 13) < BDAC ( = 14) ( ) , ( ) ( )
• Level kelim a, m engunj ungi DBCA ( = 12) , DBCA ( = 12) < BDCA ( = 13) • Level keenam , m engunj ungi BDCA, karena operat or Tukar 1,2 sudah
dipakai DBCA, m aka pilih node lain yait u DCBA, pilih DBAC, pilih ABCD ilih DACB ilih CBDA
ABCD, pilih DACB, pilih CBDA
b.
b. M e t ode
M e t ode St e e pe st
St e e pe st –
– Asce n t
Asce n t
H ill Cli
bi
H ill Cli
bi
H ill Clim bin g
H ill Clim bin g
• St eepest – ascent hill clim bing ham pir
St eepest
ascent hill clim bing ham pir
sam a dengan sim ple – ascent hill
clim bing, hanya saj a gerakan pencarian
t idak dim ulai dari kiri, t et api berdasarkan
nilai heurist ik t erbaik.
• Keadaan aw al, lint asan ABCD ( = 19) .
• Level pert am a, hill clim bing m em ilih nilai
h
k
b k
C
(
2)
heurist ik t erbaik yait u ACBD ( = 12)
sehingga ACBD m enj adi pilihan
selanj ut nya
selanj ut nya.
2 . Be st Fir st Se a r ch
2 . Be st Fir st Se a r ch
• Met ode best first search m erupakan kom binasi dari
m et ode dept h first search & breadt h first search dengan m engam bil kelebihan dari kedua m et ode t ersebut . Hill g clim bing t idak diperbolehkan unt uk kem bali ke node
yang lebih rendah m eskipun node t ersebut m em iliki nilai heurist ik lebih baik. Pada best first search, pencarian , p
diperbolehkan m engunj ungi node yang lebih rendah, j ika t ernyat a node di level lebih t inggi m em iliki nilai heurist ik lebih buruk. Unt uk m engim plem ent asikan m et ode ini, lebih buruk. Unt uk m engim plem ent asikan m et ode ini, dibut uhkan 2 ant rian yang berisi node- node, yait u : • OPEN : berisi node- node yang sudah dibangkit kan,
sudah m em iliki fungsi heurist ik nam un belum diuj i sudah m em iliki fungsi heurist ik nam un belum diuj i. Um um nya berupa ant rian berpriorit as yang berisi elem en- elem en dengan nilai heurist ik t ert inggi. CLOSED b i i d d d h di j i • CLOSED : berisi node- node yang sudah diuj i.
T
I-U
G
(
L
il
y
W
.)
4