Korlátozott elégedettségi probléma - Constraint satisfaction problem

A kényszer -elégedettségi problémák ( CSP ) olyan matematikai kérdések, amelyek objektumok halmazaként vannak definiálva, amelyek állapotának számos kényszernek vagy korlátozásnak kell megfelelnie . A CSP -k a változókra vonatkozó véges korlátozások homogén gyűjteményeként reprezentálják a problémába tartozó entitásokat, amelyet kényszer -elégedettségi módszerekkel oldanak meg . CSP a kutatási téma mind a mesterséges intelligencia és az operációkutatás , hiszen a rendszeresség azok kialakításába közös alapot a problémák elemzésére és megoldására számos látszólag független a családok. A CSP -k gyakran rendkívül bonyolultak , és heurisztika és kombinatorikus keresési módszerek kombinációját kell ésszerű időn belül megoldani. A kényszerprogramozás (CP) az a kutatási terület, amely kifejezetten az ilyen jellegű problémák kezelésére összpontosít. Továbbá, logikai SAT problémát (SAT), a SAT modulo elméletek (SMT), vegyes egészértékű programozási (MIP) és válasz beállított programozás (ASP) mind kutatási terület összpontosítva felbontása bizonyos formái a kényszer megelégedésére probléma.

Példák a kényszer -elégedettségi problémaként modellezhető problémákra:

Ezeket gyakran CP , ASP, Boolean SAT és SMT megoldók oktatóanyagaival látják el. Általában a kényszerproblémák sokkal nehezebbek lehetnek, és előfordulhat, hogy ezek az egyszerűbb rendszerek némelyikében nem fejezhetők ki. A "valós élet" példái közé tartozik az automatizált tervezés , a lexikai egyértelműsítés , a zenetudomány , a termékkonfiguráció és az erőforrás -allokáció .

A CSP megoldásának létezése döntési problémának tekinthető . Ezt úgy lehet eldönteni, hogy megtaláljuk a megoldást, vagy nem találunk megoldást a kimerítő keresés után (a sztochasztikus algoritmusok általában soha nem jutnak kimerítő következtetésre, míg az irányított keresések gyakran megteszik a kellően kis problémákat). Bizonyos esetekben ismert, hogy a CSP -nek előzetesen vannak megoldásai, más matematikai következtetési folyamat révén.

Formális meghatározás

Formálisan a kényszer -elégedettségi problémát hármasként határozzák meg , ahol

  • változók halmaza,
  • a megfelelő értéktartományok halmaza, és
  • korlátok halmaza.

Minden változó felveheti az értékeket a nem üres tartományban . Minden kényszer viszont egy pár , ahol a változók egy részhalmaza és egy -aráris reláció a tartományok megfelelő részhalmazán . A változók értékelése a változók egy részhalmazától a tartományok megfelelő részhalmazának egy adott értékkészletéhez tartozó függvény. Az értékelés kielégíti a korlátozást, ha a változókhoz rendelt értékek kielégítik a relációt .

Az értékelés következetes, ha nem sérti a korlátozásokat. Az értékelés akkor teljes, ha minden változót tartalmaz. Az értékelés akkor megoldás, ha következetes és teljes; egy ilyen értékelésről azt mondják, hogy megoldja a kényszer -elégedettség problémáját.

Megoldás

A korlátozott elégedettségi problémákat véges tartományokon általában keresési formával oldják meg . A leggyakrabban használt technikák a visszalépés , a kényszer terjedése és a helyi keresés változatai . Ezeket a technikákat is gyakran kombinálják, mint a VLNS módszerben, és a jelenlegi kutatás más technológiákat is magában foglal, például a lineáris programozást .

A visszalépés egy rekurzív algoritmus. Fenntartja a változók részleges hozzárendelését. Kezdetben minden változó nincs hozzárendelve. Minden lépésnél egy változót választanak ki, és az összes lehetséges értéket hozzárendelik. Minden értéknél ellenőrzik a részleges hozzárendelés összhangját a megszorításokkal; következetesség esetén rekurzív hívást hajtanak végre. Ha minden értéket kipróbáltunk, az algoritmus visszalép. Ebben az alapvető visszalépési algoritmusban a következetességet úgy határozzák meg, mint minden olyan kényszer kielégítését, amelynek minden változója hozzá van rendelve. A visszalépésnek több változata létezik. A visszajelzés javítja a konzisztencia ellenőrzésének hatékonyságát. A visszalépés lehetővé teszi a keresés egy részének mentését azáltal, hogy bizonyos esetekben "több változót" visszalép. A korlátozó tanulás következtetéseket von le és menti azokat, amelyek később felhasználhatók a keresés egy részének elkerülésére. Az előretekintést gyakran használják a visszalépésben is, hogy megpróbálják előre látni a változó vagy érték kiválasztásának hatásait, így néha előre meghatározzák, hogy egy alprobléma kielégíthető vagy nem kielégítő.

A kényszer terjedési technikák a korlátozások elégedettségi problémájának módosítására használt módszerek. Pontosabban olyan módszerekről van szó, amelyek kikényszerítik a helyi konzisztencia egy formáját , amelyek a változók és/vagy korlátozások egy csoportjának konzisztenciájához kapcsolódó feltételek. A kényszer terjedésének különféle felhasználási lehetőségei vannak. Először is, egy problémát egyenértékűvé változtat, de általában egyszerűbb megoldani. Másodszor, ez bizonyíthatja a problémák kielégíthetőségét vagy kielégíthetetlenségét. Ez általában nem garantált; ez azonban mindig előfordul a korlátozások terjedésének bizonyos formái és/vagy bizonyos típusú problémák esetén. A lokális konzisztencia legismertebb és leggyakrabban használt formái az ívkonzisztencia , a hiperív-konzisztencia és az útvonal-konzisztencia . A legnépszerűbb korlátozási terjedési módszer az AC-3 algoritmus , amely kikényszeríti az ív konzisztenciáját.

A helyi keresési módszerek hiányos kielégítési algoritmusok. Találhatnak megoldást egy problémára, de akkor is kudarcot vallhatnak, ha a probléma kielégíthető. Úgy dolgoznak, hogy iteratíven javítják a teljes hozzárendelést a változókhoz képest. Minden lépésben kis számú változó értékét változtatják meg, azzal a céllal, hogy növeljék az ezzel a hozzárendeléssel elégedett korlátozások számát. A min-konfliktus algoritmus egy helyi keresési algoritmus, amely a CSP-kre jellemző, és ezen az elven alapul. A gyakorlatban úgy tűnik, hogy a helyi keresés jól működik, ha ezeket a változásokat véletlenszerű döntések is befolyásolják. Kidolgozták a keresés integrálását a helyi kereséssel, ami hibrid algoritmusokhoz vezetett .

Elméleti szempontok

Döntési problémák

A CSP -ket a számítási komplexitáselméletben és a véges modellelméletben is tanulmányozzák . Fontos kérdés, hogy minden relációhalmaz esetében az összes CSP-k halmaza, amely csak az adott halmazból választott relációk használatával ábrázolható, P vagy NP-teljes . Ha egy ilyen dichotómia- tétel igaz, akkor a CSP-k az NP egyik legnagyobb ismert részhalmazát tartalmazzák, amely elkerüli az NP-köztes problémákat, amelynek létezését Ladner-tétel bizonyította, feltételezve, hogy P ≠ NP . Schaefer dichotómia tétele kezeli azt az esetet, amikor minden rendelkezésre álló reláció Boole -operátor , azaz a 2. tartományméret esetében.

A CSP-k legtöbb osztálya, amelyekről ismert, hogy kezelhetők, azok, amelyekben a korlátozások hipergráfja korlátozza a fa szélességét (és nincsenek korlátozások a korlátozási kapcsolatok halmazára), vagy ahol a korlátozások tetszőleges formájúak, de lényegében nem egységes polimorfizmusok léteznek a kényszerviszonyok halmaza.

Minden CSP konjunktív lekérdezés -korlátozási problémának is tekinthető .

Funkciós problémák

Hasonló a helyzet az FP és a #P funkcionális osztályok között . Ladner tételének általánosításával sem az FP, sem a #P-teljes probléma nem áll fenn , amíg az FP ≠ #P. A döntési esethez hasonlóan a #CSP problémáját egy relációhalmaz határozza meg. Minden feladat egy Boole -képletet használ bemenetként, és a feladat az, hogy kiszámítsa a kielégítő feladatok számát. Ez tovább általánosítható nagyobb tartományméret használatával, és minden kielégítő hozzárendeléshez súlyt helyezve, és kiszámítva e súlyok összegét. Ismeretes, hogy minden összetett súlyozott #CSP probléma vagy FP vagy #P-hard.

Változatok

A kényszer -elégedettségi probléma klasszikus modellje statikus, rugalmatlan kényszerek modelljét határozza meg. Ez a merev modell olyan hiányosság, amely megnehezíti a problémák egyszerű megjelenítését. A CSP alapvető meghatározásának számos módosítását javasolták, hogy a modellt sokféle problémához igazítsák.

Dinamikus CSP -k

A dinamikus CSP -k ( DCSP -k) akkor hasznosak, ha a probléma eredeti megfogalmazása valamilyen módon megváltozik, általában azért, mert a figyelembe veendő korlátozások a környezet miatt alakulnak ki. A DCSP -ket statikus CSP -k sorozatának tekintik, amelyek mindegyike az előző átalakítása, amelyben változókat és korlátozásokat lehet hozzáadni (korlátozás) vagy eltávolítani (relaxáció). A probléma kezdeti megfogalmazásaiban található információk felhasználhatók a következők finomítására. A megoldási módszer az információ továbbításának módja szerint osztályozható:

  • Orákulumok: a sorrendben korábbi CSP -k számára talált megoldást heurisztikaként használják az aktuális CSP felbontásának irányításához.
  • Helyi javítás: minden CSP kiszámítása az előző részleges megoldásából indul ki, és az inkonzisztens korlátozások helyi kereséssel történő kijavításával kezdődik .
  • Korlátozás rögzítése: a keresés minden szakaszában új korlátozásokat határoznak meg, amelyek a következetlen döntések csoportjának tanulását képviselik. Ezeket a korlátokat átviszik az új CSP -problémákba.

Rugalmas CSP -k

A klasszikus CSP -k keményen kezelik a korlátozásokat, ami azt jelenti, hogy elengedhetetlenek (mindegyik megoldásnak mindegyiknek meg kell felelnie) és rugalmatlanok (abban az értelemben, hogy teljesen elégedetteknek kell lenniük, különben teljesen megsértik őket). A rugalmas CSP -k lazítják ezeket a feltételezéseket, részben enyhítve a korlátokat, és lehetővé téve, hogy a megoldás ne feleljen meg mindegyiknek. Ez hasonló a preferencia alapú tervezés preferenciáihoz . A rugalmas CSP -k bizonyos típusai a következők:

  • MAX-CSP, ahol számos kényszer megsértése megengedett, és a megoldás minőségét az elégedett korlátozások száma méri.
  • Súlyozott CSP , egy MAX-CSP, amelyben egy korlátozás minden megsértését egy előre meghatározott preferencia szerint súlyozzák. Így előnyös a kényszer kielégítése nagyobb súllyal.
  • A homályos CSP -modell kötöttségek, mint fuzzy relációk, amelyekben a kényszer kielégítése a változók értékeinek folyamatos függvénye, a teljesen elégedettről a teljesen megsértettre.

Decentralizált CSP -k

A DCSP -kben minden kényszerváltozó külön földrajzi hellyel rendelkezik. A változók közötti információcserére erős korlátok vonatkoznak, amelyek megkövetelik a teljesen elosztott algoritmusok használatát a korlátozási elégedettség problémájának megoldásához.

Lásd még

Hivatkozások

További irodalom