Back to IF3170 Inteligensi Artifisial
Topic
Questions/Cues
Apa itu inference dalam CSP?
Apa itu constraint propagation?
Apa itu local consistency?
Apa itu Node Consistency?
Apa itu Arc Consistency (AC)?
Apa itu Path Consistency (PC)?
Apa itu K-Consistency?
Reference Points
- IF3170_Materi04_AI-CSP.pdf (Slide 7-12)
Tujuan Inference: Constraint Propagation
Dalam konteks CSP, inference adalah proses menggunakan constraints (batasan) untuk mengurangi jumlah nilai legal (pilihan yang valid) untuk setiap variabel. Proses ini disebut Constraint Propagation.
Ide utamanya adalah untuk mendeteksi ketidakkonsistenan sedini mungkin, sehingga ruang pencarian menjadi lebih kecil. Kunci dari constraint propagation adalah menerapkan berbagai jenis konsistensi lokal (local consistency).
1. Node Consistency
Ini adalah bentuk konsistensi yang paling sederhana. Sebuah variabel dikatakan node-consistent jika setiap nilai dalam domainnya memenuhi unary constraint (batasan pada satu variabel) dari variabel tersebut.
Contoh: Jika kita memiliki constraint
SA ≠ hijaudan domain awal untuk SA adalah{merah, hijau, biru}, maka untuk mencapai node consistency, kita harus menghapushijaudari domain SA.Hasil: Domain baru untuk SA menjadi
{merah, biru}.Sebuah jaringan CSP disebut node-consistent jika semua variabel di dalamnya sudah node-consistent.
2. Arc Consistency (AC)
Ini adalah jenis konsistensi yang paling umum digunakan. Sebuah variabel disebut arc-consistent terhadap variabel lain jika untuk setiap nilai dalam domain , ada setidaknya satu nilai dalam domain yang memenuhi binary constraint antara dan .
- Logikanya: Jika ada nilai
vdi domain yang tidak memiliki “pasangan” yang valid di domain , maka nilaivtersebut tidak mungkin menjadi bagian dari solusi, sehingga bisa dihapus.
Contoh: Misal domain WA dan NT adalah
{merah, biru}dan constraint-nya adalah WA NT. Arc (WA, NT) sudah konsisten karena jika WA=merah, NT bisa biru, dan jika WA=biru, NT bisa merah.Contoh lain (penghapusan): Misal domain X =
{1, 2, 3}dan Y ={1, 2}dengan constraint .
Untuk X=1, Y bisa 2 (valid).
Untuk X=2, tidak ada nilai Y yang lebih besar (tidak valid).
Untuk X=3, tidak ada nilai Y yang lebih besar (tidak valid).
Maka, nilai 2 dan 3 dihapus dari domain X. Domain baru X menjadi
{1}.3. Path Consistency (PC)
Path Consistency memperkuat konsistensi dengan melihat variabel secara bertiga. Sepasang variabel dikatakan path-consistent terhadap variabel perantara jika setiap assignment yang konsisten untuk dapat diperluas dengan sebuah nilai untuk sehingga constraint pada dan juga terpenuhi.
Contoh: Dalam pewarnaan peta Australia dengan 2 warna (merah, biru). Pasangan
{WA, SA}memiliki assignment konsisten{WA=merah, SA=biru}. Tapi, jika kita lihat variabel perantara NT, tidak ada warna yang bisa diberikan ke NT yang memenuhi constraint NT WA dan NT SA secara bersamaan. Maka, assignment{WA=merah, SA=biru}tidak konsisten dan dapat dieliminasi.4. K-Consistency
Ini adalah generalisasi dari konsep konsistensi.
1-Consistency: Sama dengan Node Consistency.
2-Consistency: Sama dengan Arc Consistency.
3-Consistency: Sama dengan Path Consistency.
Secara umum, sebuah CSP dikatakan k-consistent jika untuk setiap set dari k−1 variabel yang memiliki assignment konsisten, selalu ada nilai yang valid untuk variabel ke-k manapun.
Inference dalam CSP, atau Constraint Propagation, adalah teknik untuk menyederhanakan masalah dengan menegakkan konsistensi lokal untuk mengurangi domain variabel. Mulai dari yang paling sederhana (Node Consistency untuk unary constraint), yang paling umum (Arc Consistency untuk binary constraint), hingga yang lebih kuat (Path Consistency), tujuan utamanya adalah untuk menghapus nilai-nilai yang tidak mungkin menjadi bagian dari solusi akhir, sehingga mempercepat proses pencarian.
Additional Information
Trade-off antara Inference dan Pencarian
Menjalankan algoritma konsistensi (seperti AC-3 untuk Arc Consistency) membutuhkan waktu komputasi. Ada sebuah trade-off:
Terlalu sedikit inference: Algoritma pencarian (seperti backtracking) harus menjelajahi ruang pencarian yang sangat besar dan akan sering menemui jalan buntu.
Terlalu banyak inference: Waktu yang dihabiskan untuk melakukan propagation sebelum pencarian bisa jadi lebih lama daripada waktu yang dihemat selama pencarian.
Arc Consistency seringkali menjadi titik tengah yang baik, karena cukup kuat untuk mengurangi domain secara signifikan namun tidak terlalu mahal secara komputasi.
Strong vs Weak K-Consistency
Ada juga konsep Strong k-consistency, yang berarti sebuah CSP bersifat j-consistent untuk semua j≤k. Jika kita bisa membuat sebuah CSP menjadi strong n-consistent (di mana n adalah jumlah variabel), maka solusi dapat ditemukan tanpa perlu melakukan backtracking sama sekali. Namun, mencapai ini biasanya memiliki kompleksitas waktu dan ruang yang terlalu tinggi.



