PTI480.07 - Constraint Satisfaction Problem

download PTI480.07 - Constraint Satisfaction Problem

of 18

Transcript of PTI480.07 - Constraint Satisfaction Problem

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    1/18

    Constraint Satisfaction

    Problems (CSP)M. JAUHARUL FUADY

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    2/18

    Pengertian

    Merupakan bentuk khusus dari suatu masalah

    State terdiri dari sejumlah variable Xiyang mempunyai nilaidari suatu domain Di.

    Goal test adalah himpunan constraintyang harus dipenuhiberupa kombinasi nilai dari subset variable.

    Solusi adalah suatu kombinasi assignment terhadap setiapvariable sehingga semua constraint terpenuhi.

    Contoh masalah nyata

    Penugasan kuliah (siapa mengajar apa)

    Penjadwalan kuliah (kuliah kapan dan dimana)

    Konfigurasi hardware (constraint: anggaran, spesifikasi, dsb)

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    3/18

    Contoh: Map Coloring

    Variabel:

    { WA, NT, Q, NSW, V, SA, T }

    Domain:

    Di = { red, green, blue }

    Constraint:Dua wilayah berbatasanharus berbeda warna

    WA NT, NT SA,

    (WA, NT) { (red,green),(red, blue), (green, red),(green, blue), }

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    4/18

    Contoh Solusi: Map Coloring

    Solusi:

    Pemberian nilai setiapvariabel yang memenuhisyarat (tidak melanggar

    constraint)

    Misal:

    { WA = red, NT =green,Q = red, NSW =green,

    V = red, SA = blue,T =green }

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    5/18

    Contoh Lain: Cryptarithmetic

    Variabel: { F, O, R, T, U, W, X1, X2, X3 }

    Domain: Di = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }

    Constraint: O + O = R + 10X1 X1 + W + W = U + 10X2X2 + T + T = O + 10X3 F = X3

    alldiff(F, O, R, T, U, W)

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    6/18

    Penyelesaian: Uninformed Search

    Formulasi masalah CSP sebagai search

    Initial state: assignment kosong { }

    Successor function:pilih nilai untuk sebuah variabel yang belum di-assign yangdiperbolehkan (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

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    7/18

    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, hanya perlu meng-assign satuvariabel saja

    b = d, sehingga terdapat dn leaf

    disebut juga backtracking search

    Merupakan algoritma uninformedstandar untukmasalah CSP

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    8/18

    Contoh eksekusi Backtracking Search

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    9/18

    Mempercepat Penyelesaian CSP

    Kinerja backtracking search dapat diperbaikidengan menentukan urutan pemilihan variabel dannilai 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 adanyafailure lebih awal? Bisakah struktur masalah CSP tersebut kita manfaatkan?

    (dengan menggunakan representasi yang jelas)

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    10/18

    Heuristic 1: Most Constrained Variable

    Prinsip

    Pilih variabel yang memiliki kemungkinan nilai sah (nilai yangtidak melanggar constraint) paling sedikit.

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    11/18

    Heuristic 2: Most Constraining Variable

    Prinsip

    Pilih variableyang paling banyak terlibat constraint denganvariable lain.

    Sebagai tie-breakerjika ada beberapa variableyang samabagusnya dari heuristic 1.

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    12/18

    Heuristic 3: Least Constraining Value

    Prinsip

    Pilih nilai yang paling sedikit menimbulkan batasankemungkinan nilai pada variable lain yang belum di-assign.

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    13/18

    Forward Checking

    Prinsip

    Catat kemungkinan nilai sah untuk semua variable yangbelum di-assign. Jika ada sebuah variable yang tidakmempunyai nilai sah, langsungfailure (backtrack dini).

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    14/18

    Constraint Propagation

    Informasi dari suatu variableyang di-assignyangditeruskan ke variable lain disebut juga denganconstraint propagation.

    Namun, tidak semua failure bisa dideteksi dini.

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    15/18

    Arc Consistency

    Merupakan metode constraint propagation yanglebih canggih, dengan mempertahankan konsistensiantar constraint.

    PrinsipX Y dikatakan konsisten jika dan hanya jika untuk setiapnilai sah x dari X ada nilai sah y dari Y.

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    16/18

    Penyelesaian dengan Local Search

    Dalam praktek, local search cocok untuk CSP.

    State harus lengkap/complete tapi boleh melanggarconstraint.

    Operator/action: menukar nilai variable (reassign).

    Pemilihan variable: pilih acak variable yangmelanggar constraint.

    Pemilihan nilai: heuristic minimum conflict(pilih nilai yang melanggar constraint paling sedikit)

    Lakukan local search dengan meminimalkan h(n)

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    17/18

    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

  • 7/29/2019 PTI480.07 - Constraint Satisfaction Problem

    18/18

    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 sangatmempengaruhi kinerja

    Forward checking dan arc consistency adalah bentukconstraint propagation untuk mendeteksi failure dini

    Metode local search dengan heuristic min-conflictcukup efektif untuk CSP