SlideShare a Scribd company logo
1 of 24
Download to read offline
Artificial Intelligence
Informed Search
Constraint Satisfaction
Problem (CSP)
Constraint Satisfaction Problem (CSP)
• Sebuah pendekatan dari problem yang bersifat
matematis dengan tujuan menemukan keadaan atau
obyek yang memenuhi sejumlah persyaratan
(constraint) atau kriteria yang sudah ditetapkan.
• Constraint adalah sebuah batasan dari solusi
memungkinkan dalam sebuah problem optimasi.
Constraint Satisfaction Problem (CSP)
a. Himpunan variabel {X1, X2, …, Xn}
b. Himpunan constraint (batasan/persyaratan) : {C1, C2, Cn}.
c. Setiap variabel Xi, memiliki domain Di yang tidak kosong,
sesuai nilai-nilai yang dimungkinkan
d. Setiap constraint Ci terdiri dari suatu subset dari variabel
dan memenuhi kombinasi nilai yang diijinkan untuk subset
tersebut
e. Sebuah state dari problem didefinisikan dengan sebuah
assignment nilai untuk satu atau semua variabel : {Xi=vi,
Xj=vj, ....., }
f. Solusi untuk CSP adalah tugas lengkap yang tidak melanggar
semua kendala
Komponen Constraint Satisfaction Problem
(CSP)
a. Variabel, merupakan penampung, dan dapat diisi berbagai nilai.
b. Constraint yang merupakan suatu aturan yang ditentukan untuk
mengatur nilai boleh diisikan ke variabel, atau kombinasi variabel.
c. Domain yang merupakan kumpulan nilai legal dapat diisi ke variabel.
d. Goal test adalah himpunan constraint/syarat yang harus dipenuhi
berupa kombinasi nilai dari subset variable.
e. Solusi adalah penetapan nilai (assignment) terhadap semua variabel
sehingga semua syarat dipenuhi
f. CSP dimulai dari solusi kosong dan diakhiri dengan sebuah solusi yang
memenuhi semua constraint (consistent).
g. Pencarian solusi dilakukan dengan mencoba mengisi nilai domain
pada setiap variabel satu demi satu tanpa melanggar constraint,
sampai solusi ditemukan.
Jenis-Jenis Constraint
a. Unary Constraint: menyatakan persyaratan sebuah
variabel (mis: SA ≠ g)
b. Binary constraint : menyatakan persyaratan sepasang
variabel, mis: SA ≠ WA
c. n-ary constraint (Higher-Order) : menyatakan
persyaratan tiga atau lebih variabel (constrain untuk >2
variabel)
d. Preferences Constraint (Soft Constraints) : syarat yang
sebaiknya dipenuhi, tetapi tidak harus. Mis: red lebih
baik dari green. Biasanya dinyatakan sebagai cost sebuah
nilai variabel.
Beberapa problem yang dikategorikan
CSP :
a. pewarnaan peta (map coloring)
b. n-queen problem
c. Teka-Teki Silang
d. Penjadwalan
c. Dsb
Constraint Satisfaction Problem (CSP)
• Contoh : Diketahui sebuah peta Australia dengan beberapa
kota seperti gambar di bawah. Lakukan pewarnaan, dimana
setiap kota yang saling berbatasan tidak boleh mempunyai
warna yang sama. Jenis warna : Red, Green, Blue
Representasi CSP sebagai Graph
• Constraint Graph : representasi
di mana node adalah variable,
edge adalah constraint, mis:
• Contoh : Nilai WA dibatasi
dengan constraint dari nilai NT
dan SA, sehingga node WA
memiliki edge terhubung ke
node NT dan SA
• T tidak dipengaruhi apapun,
sehingga node T menjadi
subgraph
Inisialisasi Pewarnaan Peta Australia
 Terdapat set variabel X1,X2,...,Xn
Variables WA, NT, Q, NSW, V, SA, dan T untuk negara bagian
Western Australia, Northern Territory, Queensland, New Soutg
Wales, Victoria, South Australia, Tasmania
 Domains Di = {red,green,blue}
 Constraints: adjacent region memiliki warna berbeda
 Mis : WA ≠ NT, atau (WA,NT) in {(red,green), (red,blue),
(green,red), (green,blue), (blue,red), (blue,green)}
Ini berarti :
- X = {WA, NT, Q, NSW, V, SA, T }
- D = {Red, Green, Blue}
- C = { SA WA, SA  NT, SA Q, SA NSW, SA V, dst}
- Pasangan WA dan NT : {(red; green); (red; blue); (green; red);
(green; blue); (blue; red); (blue; green)}:
Constraint Satisfaction Problem (CSP)
• Solusi : pemberian nilai setiap variabel yang memenuhi
syarat.
• Mis : {WA=red, NT=green, Q=red, NSW=green, V=red,
SA=blue, T=green}
• Contoh salah satu solusi :
Algoritma Untuk Solusi CSP
a. Backtracking Search : Pemilihan state yang memenuhi
syarat constraint
b. Constraint propagation (Inference, dugaan solusi) :
– Menggunakan constraint untuk mengurangi jumlah
kemungkinan nilai pada variabel dan sebaliknya
– pendekatan: forward checking, arc consistency
Algoritma CSP 1 : Backtracking
a. Backtracking search adalah suatu bentuk algoritma depth-
first-search untuk CSP dengan pemberian nilai pada single-
variable
b. Backtracking dapat dilihat sebagaimana searching dalam
tree, karena setiap node mewakili state dan turunan dari
setiap node mewakili eksistensi dari state tersebut.
c. Pada backtracking search, variabel diisi secara sequential
selagi semua variabel relevan dengan constraint yang
sudah diinisialisasi.
d. Jika solusi partial melanggar constraint, backtracking
melakukan langkah kembali ke solusi partial sebelumnya
dan memilih nilai lain yang belum dicoba untuk variabel
yang ingin diisikan.
Constraint Satisfaction Problem (CSP)
e. Langkah tersebut berguna untuk menghindari eksplorasi
lebih lanjut dari solusi partial yang salah.
f. Keuntungan backtracking : pemeriksaan consistency hanya
perlu dilakukan terhadap assignment yang terakhir
dilakukan karena pemeriksaan terhadap assignment yang
sebelumnya sudah dilakukan sebelumnya.
g. Ketika suatu nilai diisikan ke suatu variabel, nilai yang
berada di domain dari variabel yang konflik dengan
assignment tersebut akan dihilangkan dari domain.
Backtracking Search
a. Variabel assignment berlaku komutatif, yang
berati : [WA=red lalu NT=green] sama saja
[NT=green lalu WA=red]
b. Depth first search pada CSP dengan assignment
satu variabel tiap level disebut backtracking
search.
Teknik Pewarnaan dengan Backtracking
Langkah Penting Backtracking
a. SELECT-UNASSIGNED-VARIABLE (urutan pemilihan variabel)
 Most Constrained Variable (Minimum Remaining Values, MRV)
1. Pilih variabel dengan variasi kemungkinan nilai paling sedikit
2. Jika >1 variabel, maka digunakan Most Constraining
Variable
 Most Constraining Variable (MCV)
1. Pilih variabel yang memiliki jumlah constraint lebih banyak
b. ORDER-DOMAIN-VALUES (urutan pemilihan nilai dari variabel)
 Least Constraining Value (LCV)
1. Pilih nilai variabel yang memiliki constraint lebih sedikit untuk
variabel lain
2. Atau pilih nilai variabel yang membuat variabel lain memiliki
kemungkinan pilihan nilai lebih banyak
Contoh Penggunaan MRV dan MCV :
Contoh Penggunaan LRV
Algoritma CSP 2 : Constraint Propagation
• Pendekatan Forward Checking
Cara termudah untuk menghindari konflik isi variabel
b. Melalui forward checking hanya akan dievaluasi constraint antara
variabel saat ini dan variabel berikutnya. Jika suatu nilai dialokasikan
untuk variabel saat ini, maka nilai apapun dari variabel berikutnya
yang dapat membawa konflik dari variabel saat ini akan disingkirkan
dari domain.
c. Keuntungannya adalah jika domain dari variabel berikutnya adalah
kosong, maka segera diketahui bahwa solusi yang terbentuk ternyata
salah.
d. Dengan forward checking, maka pencabangan dari pohon pencarian
akan dipangkas lebih awal, dibanding dengan backtracking.
e. Catat kemungkinan nilai sah (konsisten) untuk semua variabel yang
belum di-assign. Jika ada sebuah variabel yang tidak ada kemungkinan
nilai sah, langsung failure (backtrack)
Ide Forward Checking
a. Tahap Inisialisasi
b. Simpan nilai valid untuk variabel yang belum di-assign
c. Bila salah satu variabel tidak mempunyai kemungkinan nilai yang
valid maka search dihentikan (Backtrack untuk pilihan lain)
Contoh Solusi : Tahap Inisialisasi
Constraint Satisfaction Problem (CSP)
Constraint Satisfaction Problem (CSP)
Constraint Satisfaction Problem (CSP)
Constraint Satisfaction Problem (CSP)
Perhatikan permasalahan di atas : NT dan SA berwarna sama
yakni biru, padahal NT dan SA bertetangga, sehingga hal
ini tidak diperbolehkan
Perhatikan :
• Forward checking hanya mempertimbangkan setiap
constraint secara terpisah.
• Forward checking memberikan informasi dari variabel
yang dialokasi, namun tidak dapat mendeteksi kegagalan
sebelumnya.
• Namun, tidak semua failure bisa di-deteksi secara dini

More Related Content

What's hot

Pengolahan Sinyal Digital - Slide week 2 - sistem & sinyal waktu diskrit
Pengolahan Sinyal Digital - Slide week 2 - sistem & sinyal waktu diskritPengolahan Sinyal Digital - Slide week 2 - sistem & sinyal waktu diskrit
Pengolahan Sinyal Digital - Slide week 2 - sistem & sinyal waktu diskrit
Beny Nugraha
 
RL - Metode Node dan Mesh
RL - Metode Node dan MeshRL - Metode Node dan Mesh
RL - Metode Node dan Mesh
Muhammad Dany
 
RL - Thevenin and Norton Theorems
RL - Thevenin and Norton TheoremsRL - Thevenin and Norton Theorems
RL - Thevenin and Norton Theorems
Muhammad Dany
 
Pengolahan Sinyal Digital - Slide week 4 - transformasi fourier sinyal waktu ...
Pengolahan Sinyal Digital - Slide week 4 - transformasi fourier sinyal waktu ...Pengolahan Sinyal Digital - Slide week 4 - transformasi fourier sinyal waktu ...
Pengolahan Sinyal Digital - Slide week 4 - transformasi fourier sinyal waktu ...
Beny Nugraha
 
Menjelaskan prinsip register
Menjelaskan prinsip registerMenjelaskan prinsip register
Menjelaskan prinsip register
Eko Supriyadi
 
Tusas pengenalan sinyal dan sistem
Tusas pengenalan sinyal dan sistemTusas pengenalan sinyal dan sistem
Tusas pengenalan sinyal dan sistem
fauzankent
 

What's hot (20)

Pengolahan Sinyal Digital - Slide week 2 - sistem & sinyal waktu diskrit
Pengolahan Sinyal Digital - Slide week 2 - sistem & sinyal waktu diskritPengolahan Sinyal Digital - Slide week 2 - sistem & sinyal waktu diskrit
Pengolahan Sinyal Digital - Slide week 2 - sistem & sinyal waktu diskrit
 
RL - Metode Node dan Mesh
RL - Metode Node dan MeshRL - Metode Node dan Mesh
RL - Metode Node dan Mesh
 
Slide minggu 6 jul
Slide minggu 6 julSlide minggu 6 jul
Slide minggu 6 jul
 
Kuliah1 sistem linier
Kuliah1 sistem linierKuliah1 sistem linier
Kuliah1 sistem linier
 
RL - Thevenin and Norton Theorems
RL - Thevenin and Norton TheoremsRL - Thevenin and Norton Theorems
RL - Thevenin and Norton Theorems
 
Pengolahan Sinyal Digital - Slide week 4 - transformasi fourier sinyal waktu ...
Pengolahan Sinyal Digital - Slide week 4 - transformasi fourier sinyal waktu ...Pengolahan Sinyal Digital - Slide week 4 - transformasi fourier sinyal waktu ...
Pengolahan Sinyal Digital - Slide week 4 - transformasi fourier sinyal waktu ...
 
Menjelaskan prinsip register
Menjelaskan prinsip registerMenjelaskan prinsip register
Menjelaskan prinsip register
 
1 sinyal
1  sinyal1  sinyal
1 sinyal
 
Riset Operasi Penugasan.ppt
Riset Operasi Penugasan.pptRiset Operasi Penugasan.ppt
Riset Operasi Penugasan.ppt
 
1 konsep sinyal
1 konsep sinyal1 konsep sinyal
1 konsep sinyal
 
SISTEM OPERASI TENAGA LISTRIK
SISTEM  OPERASI  TENAGA  LISTRIKSISTEM  OPERASI  TENAGA  LISTRIK
SISTEM OPERASI TENAGA LISTRIK
 
Tusas pengenalan sinyal dan sistem
Tusas pengenalan sinyal dan sistemTusas pengenalan sinyal dan sistem
Tusas pengenalan sinyal dan sistem
 
Kuliah 4 sistem linier: Representasi deret Fourier sinyal periodik
Kuliah 4 sistem linier: Representasi deret Fourier sinyal periodikKuliah 4 sistem linier: Representasi deret Fourier sinyal periodik
Kuliah 4 sistem linier: Representasi deret Fourier sinyal periodik
 
teorema thevenin
teorema theveninteorema thevenin
teorema thevenin
 
Register geser
Register geserRegister geser
Register geser
 
Slide minggu ke 4 pertemuan 1
Slide minggu ke 4 pertemuan 1Slide minggu ke 4 pertemuan 1
Slide minggu ke 4 pertemuan 1
 
10 pengolahan sinyal diskrit
10 pengolahan sinyal diskrit10 pengolahan sinyal diskrit
10 pengolahan sinyal diskrit
 
Rangkaian sekuensial flipflop
Rangkaian sekuensial flipflopRangkaian sekuensial flipflop
Rangkaian sekuensial flipflop
 
Tugas Kelompok 4 - Teknik Tegangan Tinggi - Prof.Ir. Syamsir Abduh , MM, Ph.D...
Tugas Kelompok 4 - Teknik Tegangan Tinggi - Prof.Ir. Syamsir Abduh , MM, Ph.D...Tugas Kelompok 4 - Teknik Tegangan Tinggi - Prof.Ir. Syamsir Abduh , MM, Ph.D...
Tugas Kelompok 4 - Teknik Tegangan Tinggi - Prof.Ir. Syamsir Abduh , MM, Ph.D...
 
Sinyal fix
Sinyal fixSinyal fix
Sinyal fix
 

Recently uploaded

Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufakturBahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
AhmadAffandi36
 
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
rororasiputra
 
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get CytotecAbortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptxppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
Arisatrianingsih
 
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
ssupi412
 
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
VinaAmelia23
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
yoodika046
 

Recently uploaded (19)

Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufakturBahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
 
PPT AHLI MADYA BANGUNAN GEDUNGggggg.pptx
PPT AHLI MADYA BANGUNAN GEDUNGggggg.pptxPPT AHLI MADYA BANGUNAN GEDUNGggggg.pptx
PPT AHLI MADYA BANGUNAN GEDUNGggggg.pptx
 
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
 
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get CytotecAbortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
 
Pengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdfPengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdf
 
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptxppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
 
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
 
Gambar kerja TUREN KETAWANG malang jawa timur.pdf
Gambar kerja TUREN KETAWANG malang jawa timur.pdfGambar kerja TUREN KETAWANG malang jawa timur.pdf
Gambar kerja TUREN KETAWANG malang jawa timur.pdf
 
perbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptxperbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptx
 
Kalor dan Perpindahan Kalor presentasi.ppt
Kalor dan Perpindahan Kalor presentasi.pptKalor dan Perpindahan Kalor presentasi.ppt
Kalor dan Perpindahan Kalor presentasi.ppt
 
Pengujian (hipotesis) pak aulia ikhsan dalam ilmu statistika
Pengujian (hipotesis) pak aulia ikhsan dalam ilmu statistikaPengujian (hipotesis) pak aulia ikhsan dalam ilmu statistika
Pengujian (hipotesis) pak aulia ikhsan dalam ilmu statistika
 
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
 
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptxUTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
 
PPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptx
PPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptxPPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptx
PPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptx
 
Gambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdf
Gambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdfGambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdf
Gambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdf
 
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdfPengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
 
Contoh PPT Pelaksanaan Pekerjaan Gedung Konstruksi
Contoh PPT Pelaksanaan Pekerjaan Gedung KonstruksiContoh PPT Pelaksanaan Pekerjaan Gedung Konstruksi
Contoh PPT Pelaksanaan Pekerjaan Gedung Konstruksi
 
Pelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman Madya
Pelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman MadyaPelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman Madya
Pelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman Madya
 

Materi 7. informed search constraint satisfaction problem

  • 2. Constraint Satisfaction Problem (CSP) • Sebuah pendekatan dari problem yang bersifat matematis dengan tujuan menemukan keadaan atau obyek yang memenuhi sejumlah persyaratan (constraint) atau kriteria yang sudah ditetapkan. • Constraint adalah sebuah batasan dari solusi memungkinkan dalam sebuah problem optimasi.
  • 3. Constraint Satisfaction Problem (CSP) a. Himpunan variabel {X1, X2, …, Xn} b. Himpunan constraint (batasan/persyaratan) : {C1, C2, Cn}. c. Setiap variabel Xi, memiliki domain Di yang tidak kosong, sesuai nilai-nilai yang dimungkinkan d. Setiap constraint Ci terdiri dari suatu subset dari variabel dan memenuhi kombinasi nilai yang diijinkan untuk subset tersebut e. Sebuah state dari problem didefinisikan dengan sebuah assignment nilai untuk satu atau semua variabel : {Xi=vi, Xj=vj, ....., } f. Solusi untuk CSP adalah tugas lengkap yang tidak melanggar semua kendala
  • 4. Komponen Constraint Satisfaction Problem (CSP) a. Variabel, merupakan penampung, dan dapat diisi berbagai nilai. b. Constraint yang merupakan suatu aturan yang ditentukan untuk mengatur nilai boleh diisikan ke variabel, atau kombinasi variabel. c. Domain yang merupakan kumpulan nilai legal dapat diisi ke variabel. d. Goal test adalah himpunan constraint/syarat yang harus dipenuhi berupa kombinasi nilai dari subset variable. e. Solusi adalah penetapan nilai (assignment) terhadap semua variabel sehingga semua syarat dipenuhi f. CSP dimulai dari solusi kosong dan diakhiri dengan sebuah solusi yang memenuhi semua constraint (consistent). g. Pencarian solusi dilakukan dengan mencoba mengisi nilai domain pada setiap variabel satu demi satu tanpa melanggar constraint, sampai solusi ditemukan.
  • 5. Jenis-Jenis Constraint a. Unary Constraint: menyatakan persyaratan sebuah variabel (mis: SA ≠ g) b. Binary constraint : menyatakan persyaratan sepasang variabel, mis: SA ≠ WA c. n-ary constraint (Higher-Order) : menyatakan persyaratan tiga atau lebih variabel (constrain untuk >2 variabel) d. Preferences Constraint (Soft Constraints) : syarat yang sebaiknya dipenuhi, tetapi tidak harus. Mis: red lebih baik dari green. Biasanya dinyatakan sebagai cost sebuah nilai variabel.
  • 6. Beberapa problem yang dikategorikan CSP : a. pewarnaan peta (map coloring) b. n-queen problem c. Teka-Teki Silang d. Penjadwalan c. Dsb
  • 7. Constraint Satisfaction Problem (CSP) • Contoh : Diketahui sebuah peta Australia dengan beberapa kota seperti gambar di bawah. Lakukan pewarnaan, dimana setiap kota yang saling berbatasan tidak boleh mempunyai warna yang sama. Jenis warna : Red, Green, Blue
  • 8. Representasi CSP sebagai Graph • Constraint Graph : representasi di mana node adalah variable, edge adalah constraint, mis: • Contoh : Nilai WA dibatasi dengan constraint dari nilai NT dan SA, sehingga node WA memiliki edge terhubung ke node NT dan SA • T tidak dipengaruhi apapun, sehingga node T menjadi subgraph
  • 9. Inisialisasi Pewarnaan Peta Australia  Terdapat set variabel X1,X2,...,Xn Variables WA, NT, Q, NSW, V, SA, dan T untuk negara bagian Western Australia, Northern Territory, Queensland, New Soutg Wales, Victoria, South Australia, Tasmania  Domains Di = {red,green,blue}  Constraints: adjacent region memiliki warna berbeda  Mis : WA ≠ NT, atau (WA,NT) in {(red,green), (red,blue), (green,red), (green,blue), (blue,red), (blue,green)} Ini berarti : - X = {WA, NT, Q, NSW, V, SA, T } - D = {Red, Green, Blue} - C = { SA WA, SA  NT, SA Q, SA NSW, SA V, dst} - Pasangan WA dan NT : {(red; green); (red; blue); (green; red); (green; blue); (blue; red); (blue; green)}:
  • 10. Constraint Satisfaction Problem (CSP) • Solusi : pemberian nilai setiap variabel yang memenuhi syarat. • Mis : {WA=red, NT=green, Q=red, NSW=green, V=red, SA=blue, T=green} • Contoh salah satu solusi :
  • 11. Algoritma Untuk Solusi CSP a. Backtracking Search : Pemilihan state yang memenuhi syarat constraint b. Constraint propagation (Inference, dugaan solusi) : – Menggunakan constraint untuk mengurangi jumlah kemungkinan nilai pada variabel dan sebaliknya – pendekatan: forward checking, arc consistency
  • 12. Algoritma CSP 1 : Backtracking a. Backtracking search adalah suatu bentuk algoritma depth- first-search untuk CSP dengan pemberian nilai pada single- variable b. Backtracking dapat dilihat sebagaimana searching dalam tree, karena setiap node mewakili state dan turunan dari setiap node mewakili eksistensi dari state tersebut. c. Pada backtracking search, variabel diisi secara sequential selagi semua variabel relevan dengan constraint yang sudah diinisialisasi. d. Jika solusi partial melanggar constraint, backtracking melakukan langkah kembali ke solusi partial sebelumnya dan memilih nilai lain yang belum dicoba untuk variabel yang ingin diisikan.
  • 13. Constraint Satisfaction Problem (CSP) e. Langkah tersebut berguna untuk menghindari eksplorasi lebih lanjut dari solusi partial yang salah. f. Keuntungan backtracking : pemeriksaan consistency hanya perlu dilakukan terhadap assignment yang terakhir dilakukan karena pemeriksaan terhadap assignment yang sebelumnya sudah dilakukan sebelumnya. g. Ketika suatu nilai diisikan ke suatu variabel, nilai yang berada di domain dari variabel yang konflik dengan assignment tersebut akan dihilangkan dari domain.
  • 14. Backtracking Search a. Variabel assignment berlaku komutatif, yang berati : [WA=red lalu NT=green] sama saja [NT=green lalu WA=red] b. Depth first search pada CSP dengan assignment satu variabel tiap level disebut backtracking search.
  • 15. Teknik Pewarnaan dengan Backtracking
  • 16. Langkah Penting Backtracking a. SELECT-UNASSIGNED-VARIABLE (urutan pemilihan variabel)  Most Constrained Variable (Minimum Remaining Values, MRV) 1. Pilih variabel dengan variasi kemungkinan nilai paling sedikit 2. Jika >1 variabel, maka digunakan Most Constraining Variable  Most Constraining Variable (MCV) 1. Pilih variabel yang memiliki jumlah constraint lebih banyak b. ORDER-DOMAIN-VALUES (urutan pemilihan nilai dari variabel)  Least Constraining Value (LCV) 1. Pilih nilai variabel yang memiliki constraint lebih sedikit untuk variabel lain 2. Atau pilih nilai variabel yang membuat variabel lain memiliki kemungkinan pilihan nilai lebih banyak
  • 19. Algoritma CSP 2 : Constraint Propagation • Pendekatan Forward Checking Cara termudah untuk menghindari konflik isi variabel b. Melalui forward checking hanya akan dievaluasi constraint antara variabel saat ini dan variabel berikutnya. Jika suatu nilai dialokasikan untuk variabel saat ini, maka nilai apapun dari variabel berikutnya yang dapat membawa konflik dari variabel saat ini akan disingkirkan dari domain. c. Keuntungannya adalah jika domain dari variabel berikutnya adalah kosong, maka segera diketahui bahwa solusi yang terbentuk ternyata salah. d. Dengan forward checking, maka pencabangan dari pohon pencarian akan dipangkas lebih awal, dibanding dengan backtracking. e. Catat kemungkinan nilai sah (konsisten) untuk semua variabel yang belum di-assign. Jika ada sebuah variabel yang tidak ada kemungkinan nilai sah, langsung failure (backtrack)
  • 20. Ide Forward Checking a. Tahap Inisialisasi b. Simpan nilai valid untuk variabel yang belum di-assign c. Bila salah satu variabel tidak mempunyai kemungkinan nilai yang valid maka search dihentikan (Backtrack untuk pilihan lain) Contoh Solusi : Tahap Inisialisasi
  • 24. Constraint Satisfaction Problem (CSP) Perhatikan permasalahan di atas : NT dan SA berwarna sama yakni biru, padahal NT dan SA bertetangga, sehingga hal ini tidak diperbolehkan Perhatikan : • Forward checking hanya mempertimbangkan setiap constraint secara terpisah. • Forward checking memberikan informasi dari variabel yang dialokasi, namun tidak dapat mendeteksi kegagalan sebelumnya. • Namun, tidak semua failure bisa di-deteksi secara dini