Back to IF3170 Inteligensi Artifisial

Topic

Questions/Cues

  • Apa itu CSP?

  • Apa 3 komponen formalnya?

  • Bagaimana contoh CSP?

  • Bagaimana CSP divisualisasikan?

  • Apa saja variasi variabel?

  • Apa saja jenis constraint?

Reference Points

  • IF3170_Materi04_AI-CSP.pdf (Slide 1-6)

Definisi Constraint Satisfaction Problem (CSP)

CSP adalah sebuah kerangka kerja (framework) yang kuat untuk menyelesaikan masalah dengan merepresentasikannya secara formal. Ini memungkinkan penggunaan algoritma serbaguna untuk menemukan solusi.

Secara konseptual, sebuah CSP didefinisikan oleh:

  • State: Didefinisikan oleh variabel (X) yang diberi nilai (value) dari sebuah domain (D).

  • Goal Test: Memeriksa apakah kombinasi nilai yang diberikan kepada variabel memenuhi semua constraints (aturan/batasan) yang ada.

Solusi dari sebuah CSP adalah sebuah assignment (penugasan nilai) yang lengkap (semua variabel punya nilai) dan konsisten (tidak melanggar constraint).

Komponen Formal CSP

Sebuah CSP secara formal terdiri dari tiga komponen utama:

  1. X (Variables): Sebuah himpunan variabel yang perlu dicarikan nilainya.

  2. D (Domain): Sebuah himpunan domain , di mana setiap Di​ berisi kumpulan nilai yang mungkin untuk variabel ​.

  3. C (Constraints): Sebuah himpunan constraints yang menentukan kombinasi nilai yang diperbolehkan untuk variabel-variabel yang saling terkait.

Contoh: Masalah Pewarnaan Peta (Map Coloring)

  • Variables (X): Wilayah pada peta, misal: {WA,NT,Q,NSW,V,SA,T}.

  • Domain (D): Warna yang bisa digunakan, misal: Di​={merah,hijau,biru}.

  • Constraints (C): Wilayah yang bertetangga harus memiliki warna yang berbeda. Contoh: WA NT.

Visualisasi CSP

Masalah CSP dapat divisualisasikan dalam bentuk graf:

  • Constraint Graph: Representasi sederhana di mana variabel menjadi nodes (simpul) dan binary constraints (batasan antara dua variabel) menjadi links/arcs (sisi).

  • Constraint Hypergraph: Digunakan ketika terdapat higher-order constraints (batasan yang melibatkan lebih dari dua variabel). Constraint ini direpresentasikan sebagai “kotak” atau kontainer yang menghubungkan semua variabel yang terlibat.

Variasi dalam Formalisme CSP

1. Berdasarkan Variabel:

  • Discrete: Domain memiliki jumlah nilai yang bisa dihitung.

    • Finite Domain: Jumlah nilai terbatas (misal: warna, booleans). Ini adalah jenis CSP yang paling umum dipelajari.

    • Infinite Domain: Jumlah nilai tidak terbatas (misal: bilangan bulat untuk penjadwalan). Memerlukan constraint language khusus, contoh: StartJob1​+5≤StartJob2​.

  • Continuous: Domain memiliki nilai dari rentang kontinu (misal: bilangan real). Sering diselesaikan dengan metode linear/quadratic programming.

2. Berdasarkan Constraints:

  • Unary: Batasan pada satu variabel. Contoh: SA hijau.

  • Binary: Batasan antara dua variabel. Contoh: SA WA.

  • Higher-Order: Batasan yang melibatkan tiga atau lebih variabel. Contoh: Constraint pada masalah Cryptarithmetic (seperti TWO + TWO = FOUR).

  • Preference (Soft Constraints): Bukan batasan mutlak, melainkan preferensi. Ini mengarah ke Constraint Optimization Problem (COP), di mana tujuannya adalah mencari solusi terbaik, bukan sekadar solusi yang valid.

Summary

Constraint Satisfaction Problem (CSP) adalah sebuah metode formal untuk merepresentasikan masalah sebagai satu set variabel yang harus diberi nilai dari domain tertentu, dengan mematuhi serangkaian batasan (constraints). Solusi yang dicari adalah penugasan nilai yang lengkap dan konsisten. Variasi dalam tipe variabel (discrete/continuous) dan constraint (unary/binary/higher-order) memungkinkan CSP untuk memodelkan berbagai macam masalah di dunia nyata.