Minggu, 06 November 2016

5.3 Costraint Satisfaction Problem

Masalah kepuasan kendala (CSP) adalah masalah matematika didefinisikan sebagai satu set objek yang negara harus memenuhi sejumlah kendala atau keterbatasan . CSP mewakili entitas dalam masalah karena koleksi homogen kendala terbatas lebih variabel , yang diselesaikan dengan kepuasan kendala metode. CSP adalah subjek penelitian intensif di kedua kecerdasan buatan dan riset operasi , karena keteraturan dalam formulasi mereka memberikan dasar umum untuk menganalisis dan memecahkan masalah dari banyak keluarga yang tampaknya tidak berhubungan. CSP sering menunjukkan kompleksitas tinggi , membutuhkan kombinasi heuristik dan pencarian kombinasi metode yang akan diselesaikan dalam waktu yang wajar. Masalah satisfiability Boolean (SAT), yang teori satisfiability modulo (SMT) dan menjawab mengatur pemrograman (ASP) secara kasar dapat dianggap sebagai bentuk tertentu dari masalah kepuasan kendala. Contoh masalah sederhana yang dapat dimodelkan sebagai masalah kepuasan kendala meliputi:
  • Delapan ratu puzzle
  • Masalah peta mewarnai
  • Teka-teki silang , Sudoku , Futoshiki , Kakuro (Sum Cross), Numbrix , Hidato dan banyak lainnya teka-teki logika
Ini sering disediakan dengan tutorial dari ASP, Boolean SAT dan SMT pemecah. Dalam kasus umum, masalah kendala bisa jauh lebih sulit, dan mungkin tidak dinyatakan dalam beberapa sistem yang lebih sederhana.
"Kehidupan nyata" contoh termasuk perencanaan otomatis dan alokasi sumber daya .
Secara formal, masalah kepuasan kendala didefinisikan sebagai triple \ Langle X, D, C \ rangle , Di mana 
X = \ {x_ {1}, \ ldots, x_ {n} \} adalah seperangkat variabel,
D = \ {D_ {1}, \ ldots, D_ {n} \} adalah seperangkat domain masing-masing nilai-nilai, dan
C = \ {C_ {1}, \ ldots, C_ {m} \} adalah seperangkat kendala.
masing-masing variabel X_ {i} dapat mengambil nilai-nilai dalam domain nonempty D_ {i} . setiap kendala C_ {j} \ di C pada gilirannya pasangan \ Langle t_ {j}, R_ {j} \ rangle , di mana t_ {j} \ bagian X adalah bagian dari k variabel dan R_ {j} adalah k -ary hubungan pada bagian yang sesuai dari domain D_ {j} . Evaluasi dari variabel adalah fungsi dari subset variabel untuk satu set tertentu dari nilai-nilai di bagian yang sesuai dari domain. evaluasi v memenuhi kendala \ Langle t_ {j}, R_ {j} \ rangle jika nilai-nilai yang ditetapkan ke variabel t_ {j} memenuhi relasi R_ {j} .
Evaluasi konsisten jika tidak melanggar salah satu kendala. Evaluasi selesai jika mencakup semua variabel. Evaluasi adalah solusi jika itu konsisten dan lengkap; Evaluasi tersebut dikatakan untuk memecahkan masalah kepuasan kendala.

Masalah kepuasan kendala pada domain yang terbatas biasanya diselesaikan dengan menggunakan bentuk pencarian . Teknik yang paling banyak digunakan adalah varian dari kemunduran , propagasi kendala , dan pencarian lokal .

Backtracking adalah algoritma rekursif. Ia memelihara tugas parsial variabel. Awalnya, semua variabel yang belum ditetapkan. Pada setiap langkah, variabel yang dipilih, dan semua nilai yang mungkin ditugaskan untuk itu pada gilirannya. Untuk setiap nilai, konsistensi tugas parsial dengan kendala diperiksa; dalam hal konsistensi, sebuah rekursif panggilan dilakukan. Ketika semua nilai sudah dicoba, algoritma backtracks. Dalam algoritma backtracking dasar ini, konsistensi didefinisikan sebagai kepuasan semua kendala yang variabel semua ditugaskan. Beberapa varian dari backtracking eksis. Back marking meningkatkan efisiensi memeriksa konsistensi. Back jumping memungkinkan menyimpan bagian dari pencarian dengan backtracking "lebih dari satu variabel" dalam beberapa kasus. Belajar Kendala menyimpulkan dan menyimpan kendala baru yang dapat kemudian digunakan untuk menghindari bagian dari pencarian. Lihatlah-depan juga sering digunakan dalam mundur untuk mencoba untuk meramalkan efek memilih variabel atau nilai, sehingga kadang-kadang menentukan di muka ketika subproblem adalah satisfiable atau unsatisfiable.
Propagasi kendala teknik metode yang digunakan untuk memodifikasi masalah kepuasan kendala.  

Lebih tepatnya, mereka adalah metode yang menegakkan bentuk konsistensi lokal , yang kondisi yang berkaitan dengan konsistensi sekelompok variabel dan / atau kendala. propagasi kendala memiliki berbagai macam kegunaan. Pertama, ternyata masalah menjadi satu yang setara tetapi biasanya lebih sederhana untuk memecahkan. Kedua, mungkin terbukti satisfiability atau unsatisfiability masalah. Ini tidak dijamin terjadi pada umumnya; Namun, hal itu selalu terjadi untuk beberapa bentuk propagasi kendala dan / atau untuk jenis masalah tertentu. Bentuk yang paling dikenal dan digunakan konsistensi lokal konsistensi arc , konsistensi hiper-arc , dan konsistensi jalan . Paling populer metode propagasi kendala adalah algoritma AC-3 , yang memberlakukan konsistensi arc.
Pencarian lokal metode algoritma satisfiability lengkap. Mereka mungkin menemukan solusi dari masalah, tetapi mereka mungkin gagal bahkan jika masalahnya adalah satisfiable. Mereka bekerja dengan iterasi meningkatkan tugas penuh atas variabel. Pada setiap langkah, sejumlah kecil variabel berubah nilai, dengan tujuan keseluruhan meningkatkan jumlah kendala puas dengan tugas ini. The algoritma min-konflik adalah algoritma pencarian lokal khusus untuk CSP dan berdasarkan prinsip itu. Dalam prakteknya, pencarian lokal muncul untuk bekerja dengan baik ketika perubahan ini juga dipengaruhi oleh pilihan acak. Integrasi pencarian dengan pencarian lokal telah dikembangkan, yang mengarah ke algoritma hybrid .
 

Masalah keputusan

CSP juga dipelajari di teori kompleksitas komputasi dan model teori terbatas . Pertanyaan penting adalah apakah untuk setiap himpunan relasi, himpunan semua CSP yang dapat diwakili hanya menggunakan hubungan dipilih dari set yang baik di P atau NP-lengkap . Jika seperti dikotomi teorema benar, maka CSP menyediakan salah satu subset terbesar yang diketahui dari NP yang menghindari NP-menengah masalah, yang keberadaannya ditunjukkan oleh teorema Ladner ini dengan asumsi bahwa P ≠ NP . Schaefer dikotomi teorema menangani kasus ketika semua hubungan tersedia adalah operator Boolean , yaitu, untuk ukuran domain 2. Schaefer dikotomi teorema baru-baru ini digeneralisasi ke kelas yang lebih besar dari hubungan.

Kebanyakan kelas CSP yang dikenal penurut adalah mereka di mana hipergraf kendala telah dibatasi treewidth (dan tidak ada pembatasan pada set hubungan kendala), atau di mana kendala memiliki bentuk sewenang-wenang tetapi terdapat polimorfisme dasarnya non-unary dari himpunan hubungan kendala.
Setiap CSP juga dapat dianggap sebagai permintaan penghubung masalah penahanan.

Fungsi masalah

Situasi serupa terjadi antara kelas fungsional FP dan #P . Oleh generalisasi dari teorema Ladner ini , ada juga masalah di baik FP atau # P-lengkap selama FP ≠ #P. Seperti dalam kasus keputusan, masalah di #CSP didefinisikan oleh himpunan relasi. Setiap masalah mengambil sebagai masukan Boolean rumus sebagai masukan dan tugas ini adalah untuk menghitung jumlah tugas memuaskan. Ini dapat lebih digeneralisasi dengan menggunakan ukuran domain yang lebih besar dan melampirkan berat untuk setiap tugas memuaskan dan menghitung jumlah bobot tersebut. Hal ini diketahui bahwa masalah #CSP tertimbang kompleks baik di FP atau # P-keras.

sumber : https://en.wikipedia.org/wiki/Constraint_satisfaction_problem 
 
 

Tidak ada komentar:

Posting Komentar