Constraint Satisfaction Problems (CSP

)
M. JAUHARUL FUADY

spesifikasi. • Goal test adalah himpunan constraint yang harus dipenuhi berupa kombinasi nilai dari subset variable. • Contoh masalah nyata • Penugasan kuliah (siapa mengajar apa) • Penjadwalan kuliah (kuliah kapan dan dimana) • Konfigurasi hardware (constraint: anggaran. • Solusi adalah suatu kombinasi assignment terhadap setiap variable sehingga semua constraint terpenuhi. dsb) .Pengertian • Merupakan bentuk khusus dari suatu masalah • State terdiri dari sejumlah variable Xi yang mempunyai nilai dari suatu domain Di.

NT ≠ SA. (green. red). (green. … • (WA. NT. Q. green). NT) є { (red. blue). green. blue). T } • Domain: Di = { red. blue } • Constraint: Dua wilayah berbatasan harus berbeda warna • WA ≠ NT. NSW. … } . (red. V.Contoh: Map Coloring • Variabel: { WA. SA.

NSW = green. V = red. SA = blue.Contoh Solusi: Map Coloring Solusi: Pemberian nilai setiap variabel yang memenuhi syarat (tidak melanggar constraint) Misal: { WA = red. Q = red. T = green } . NT = green.

6.Contoh Lain: Cryptarithmetic • Variabel: { F. 7. 9 } • Constraint: O + O = R + 10X1 X2 + T + T = O + 10X3 X1 + W + W = U + 10X2 F = X3 alldiff(F. X1. 3. 1. O. W) . X2. 5. O. U. 2. W. R. R. T. 8. X3 } • Domain: Di = { 0. T. 4. U.

Penyelesaian: Uninformed Search • Formulasi masalah CSP sebagai search • Initial state: assignment kosong { } • Successor function: pilih nilai untuk sebuah variabel yang belum di-assign yang diperbolehkan (tidak menyebabkan konflik). Jika tidak ada: gagal! • Goal test: apakah assignment sudah lengkap • Bisa menyelesaikan semua masalah CSP • Solusi pasti ditemukan di depth n. dengan n adalah banyaknya variabel  depth first search • Inefisiensi: path tidak penting .

sehingga terdapat dn leaf • disebut juga backtracking search • Merupakan algoritma uninformed standar untuk masalah CSP . hanya perlu meng-assign satu variabel saja • b = d.Depth First Search pada CSP • Variable assignment berlaku komutatif • [WA=red lalu NT=green] sama saja dengan [NT=green lalu WA=red] • Pada tiap level.

Contoh eksekusi Backtracking Search .

Mempercepat Penyelesaian CSP • Kinerja backtracking search dapat diperbaiki dengan menentukan urutan pemilihan variabel dan nilai yang di-assign ke suatu variabel. • Terdapat beberapa strategi tambahan (heuristics) yang dapat diberlakukan umum (general-purpose) • • • • Variabel mana yang dipilih untuk di-assign terlebih dahulu? Nilai apa yang dipilih untuk di-assign? Apakah kita bisa mendeteksi adanya failure lebih awal? Bisakah struktur masalah CSP tersebut kita manfaatkan? (dengan menggunakan representasi yang jelas) .

.Heuristic 1: Most Constrained Variable • Prinsip Pilih variabel yang memiliki kemungkinan nilai sah (nilai yang tidak melanggar constraint) paling sedikit.

Heuristic 2: Most Constraining Variable • Prinsip Pilih variable yang paling banyak terlibat constraint dengan variable lain. . Sebagai tie-breaker jika ada beberapa variable yang sama bagusnya dari heuristic 1.

.Heuristic 3: Least Constraining Value • Prinsip Pilih nilai yang paling sedikit menimbulkan batasan kemungkinan nilai pada variable lain yang belum di-assign.

.Forward Checking • Prinsip Catat kemungkinan nilai sah untuk semua variable yang belum di-assign. Jika ada sebuah variable yang tidak mempunyai nilai sah. langsung failure (backtrack dini).

. tidak semua failure bisa dideteksi dini.Constraint Propagation • Informasi dari suatu variable yang di-assign yang diteruskan ke variable lain disebut juga dengan constraint propagation. • Namun.

.Arc Consistency • Merupakan metode constraint propagation yang lebih canggih. • Prinsip X  Y dikatakan konsisten jika dan hanya jika untuk setiap nilai sah x dari X ada nilai sah y dari Y. dengan mempertahankan konsistensi antar constraint.

• Operator/action: menukar nilai variable (reassign).Penyelesaian dengan Local Search • Dalam praktek. • State harus lengkap/complete tapi boleh melanggar constraint. • Pemilihan nilai: heuristic minimum conflict (pilih nilai yang melanggar constraint paling sedikit) • Lakukan local search dengan meminimalkan h(n) . • Pemilihan variable: pilih acak variable yang melanggar constraint. local search cocok untuk CSP.

Local Search untuk CSP 4-Queens • State: 4 queen dalam 4 kolom (44 = 256 state) • Operator/action: pindahkan queen dalam kolom • Goal test: tidak ada yang saling makan • Evaluation/fitness function: h(n) = jumlah pasangan yang saling makan .

Ringkasan • CSP adalah masalah dalam bentuk spesifik • State berupa assignment nilai terhadap himpunan variable • Goal test berupa constraint terhadap nilai variable • Backtracking search • Depth first search yang mempertimbangkan satu variable pada tiap level • Heuristic urutan pemilihan variable dan nilai sangat mempengaruhi kinerja • Forward checking dan arc consistency adalah bentuk constraint propagation untuk mendeteksi failure dini • Metode local search dengan heuristic min-conflict cukup efektif untuk CSP .

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer: Get 4 months of Scribd and The New York Times for just $1.87 per week!

Master Your Semester with a Special Offer from Scribd & The New York Times