Rozdílem vázaná matice - Difference bound matrix
v kontrola modelu, pole počítačová věda, a rozdílová vázaná matice (DBM) je datová struktura představovaly nějaké konvexní polytopes volala zóny. Tuto strukturu lze použít k efektivní implementaci některých geometrických operací nad zónami, jako je testování prázdnoty, začlenění, rovnosti a výpočet průsečíku a součtu dvou zón. Používá se například v Uppaal model checker; kde je také distribuován jako samostatná knihovna.[1]
Přesněji řečeno, existuje pojem kanonického DBM; mezi kanonickými DBM a zónami existuje vztah jedna k jedné a z každého DBM lze efektivně vypočítat kanonický ekvivalent DBM. Rovnost zóny lze tedy otestovat kontrolou rovnosti kanonických DBM.
Zóna
Rozdílně vázaná matice se používá k reprezentaci určitého druhu konvexních polytopů. Tito polytopy se nazývají zóna. Nyní jsou definovány. Formálně je zóna definována rovnicemi formy , , a , s a některé proměnné a konstanta.
Zóny byly původně nazývány kraj,[2] ale dnes toto jméno obvykle označuje kraj, zvláštní druh zóny. Intuitivně, a kraj lze považovat za minimální neprázdné zóny, ve kterých jsou omezeny konstanty použité v omezení.
Dáno proměnné, existují přesně jsou možná různá neredundantní omezení, omezení, která používají jedinou proměnnou a horní mez, omezení, která používají jednu proměnnou a dolní mez, a pro každou z seřazené páry proměnných , horní mez na . Nicméně svévolné konvexní mnohostěn v může vyžadovat libovolně velké množství omezení. I když , může existovat libovolné velké množství neredundantních omezení , pro některé konstanty. To je důvod, proč nelze DBM rozšířit ze zón na konvexní polytopy.
Příklad
Jak je uvedeno v úvodu, uvažujeme o zóně definované sadou příkazů formuláře , , a , s a některé proměnné a konstanta. Některá z těchto omezení jsou však buď rozporuplná, nebo nadbytečná. Nyní uvádíme takové příklady.
- omezení a jsou rozporuplné. Když jsou tedy nalezena dvě taková omezení, definovaná zóna je prázdná.
- omezení a jsou nadbytečné. Druhé omezení implikované prvním. Pokud se tedy v definici zóny nacházejí dvě taková omezení, může být druhé omezení odstraněno.
Uvádíme také příklad, jak generovat nová omezení z existujících omezení. Pro každý pár hodin a , má DBM omezení formuláře , kde je buď
- omezení , to naznačuje . Tedy za předpokladu, že žádná jiná omezení jako např nebo patří k definici, omezení je přidán k definici zóny.
- omezení , to naznačuje . Tedy za předpokladu, že žádná jiná omezení jako např nebo patří k definici, omezení je přidán k definici zóny.
- omezení , to naznačuje . Tedy za předpokladu, že žádná jiná omezení jako např nebo patří k definici, omezení je přidán k definici zóny.
Ve skutečnosti jsou první dva výše uvedené případy konkrétními případy třetích případů. Vskutku, a lze přepsat jako a resp. A tedy omezení added in the first example is similar to the constraint added in the third example.
Definice
Nyní opravíme a monoidní což je podmnožina skutečné linie. Tento monoid je tradičně soubor celá čísla, racionální, realita nebo jejich podmnožina nezáporných čísel.
Omezení
Za účelem definování datové struktury rozdílová vázaná matice, je nejprve nutné dát datovou strukturu pro kódování atomových omezení. Dále zavedeme algebru pro atomová omezení. Tato algebra je obdobou tropický semiring, se dvěma úpravami:
- Namísto ℝ lze použít libovolný seřazený monoid.
- Aby bylo možné rozlišovat mezi „" a "", sada prvků algebry musí obsahovat informace o tom, zda je pořadí přísné nebo ne.
Definice omezení
Sada uspokojivá omezení je definována jako sada dvojic formuláře:
- , s , což představuje omezení formuláře ,
- , s , kde není minimálním prvkem , což představuje omezení formuláře ,
- , což představuje absenci omezení.
Sada omezení obsahuje všechna uspokojivá omezení a obsahuje také následující nevyhovující omezení:
- .
Podmnožina nelze definovat pomocí tohoto druhu omezení. Obecněji, některé konvexní polytopy nelze definovat, když uspořádaný monoid nemá vlastnost s nejmenší horní hranicí, i když každé z omezení ve své definici používá nejvýše dvě proměnné.
Provoz na omezeních
Abychom vygenerovali jediné omezení z dvojice omezení aplikovaných na stejnou (dvojici) proměnné, formalizujeme pojem průnik omezení a pořadí nad omezeními. Podobně, aby bylo možné definovat nová omezení z existujících omezení, musí být také definován pojem součet omezení.
Objednávka na omezení
Nyní definujeme relační řád přes omezení. Toto pořadí symbolizuje relaci začlenění.
Nejprve sada je považována za uspořádanou množinu, přičemž
Křižovatka omezení
Průsečík dvou omezení, označených jako , je pak jednoduše definováno jako minimum z těchto dvou omezení. Li má vlastnost největší-dolní hranice, pak je také definován průnik nekonečného počtu omezení.
Součet omezení
Vzhledem k tomu, dvě proměnné a na které se vztahují omezení a , nyní vysvětlíme, jak vygenerovat omezení spokojené s . Toto omezení se nazývá součet dvou výše uvedených omezení, označuje se jako a je definován jako .
Omezení jako algebra
Zde je seznam algebraických vlastností splněných množinou omezení.
- Obě operace jsou asociativní a komutativní,
- Součet je distribuční přes křižovatku, to znamená pro všechna tři omezení, rovná se ,
- Průnik je idempotentní,
- Omezení je identita operace křižovatky,
- Omezení je identita operace součtu,
Následující algebraické vlastnosti dále platí nad uspokojivými omezeními:
- Omezení je nula pro operaci součtu,
- Z toho vyplývá, že množina uspokojivých omezení je idempotentní semiring, s jako nula a jako jednota.
- Pokud 0 je minimální prvek , pak je nula pro omezení průsečíku přes uspokojivá omezení.
Přes nevyhovující omezení mají obě operace stejnou nulu, což je . Sada omezení tedy netvoří ani semiring, protože identita křižovatky je odlišná od nuly součtu.
DBM
Vzhledem k souboru proměnné, , DBM je matice se sloupci a řádky indexovanými podle a položky jsou omezení. Intuitivně pro sloup a řádek , hodnota v poloze představuje . To znamená, že zóna definovaná maticí , označeno , je .
Všimněte si, že je ekvivalentní k , tedy záznam je stále v podstatě horní mez. Všimněte si však, že jelikož považujeme monoid , pro některé hodnoty a skutečný ve skutečnosti nepatří k monoidovi.
Před zavedením definice kanonického DBM musíme na těchto maticích definovat a prodiskutovat vztah objednávek.
Objednávka na těchto maticích
Matice je považován za menší než matice pokud je každá z jejích položek menší. Tato objednávka není úplná. Vzhledem k tomu, dva DBM a , pokud je menší nebo rovno , pak .
Největší dolní mez dvou matic a , označeno , má jako svůj zadejte hodnotu . Všimněte si, že od té doby je operace „součtu“ semiring omezení, operace je «součet» dvou DBM, kde je sada DBM považována za a modul.
Podobně jako v případě omezení, uvažovaných výše v části „Provoz s omezeními“, je nejvyšší-dolní hranice nekonečného počtu matic správně definována, jakmile splňuje vlastnost nejvyšší-dolní mez.
Je definován průnik matic / zón. Operace spojení není definována a spojení zóny není obecně zónou.
Pro libovolnou množinu matic, které všechny definují stejnou zónu , také definuje . Z toho tedy vyplývá, pokud má vlastnost největší-dolní mez, každá zóna, která je definována alespoň maticí, má jedinečnou minimální matici, která ji definuje. Tato matice se nazývá kanonická DBM z .
První definice kanonického DBM
Přepracováváme definici a kanonický rozdíl vázaná matice. Jedná se o DBM, takže žádná menší matice nedefinuje stejnou sadu. Níže je vysvětleno, jak zkontrolovat, zda je matice DBM, a jak vypočítat DBM z libovolné matice tak, aby obě matice představovaly stejnou sadu. Nejprve ale uvedeme několik příkladů.
Příklady matic
Nejprve uvažujeme případ, kdy existují jediné hodiny .
Skutečná linie
Nejprve dáme kanonický DBM pro . Poté představíme další DBM, který kóduje sadu . To umožňuje najít omezení, která musí splňovat jakýkoli DBM.
Kanonický DBM množiny skutečných je . Představuje omezení , , a . Všechna tato omezení jsou splněna nezávisle na hodnotě přiřazené . Ve zbývající části diskuse nebudeme explicitně popisovat omezení způsobená vstupy do formuláře , protože tato omezení jsou systematicky uspokojována.
DBM také kóduje množinu skutečných. Obsahuje omezení a které jsou uspokojeny nezávisle na hodnotě . To ukazuje, že v kanonickém DBM , úhlopříčný záznam nikdy není větší než , protože matice získaná z nahrazením diagonálního vstupu znakem definuje stejnou sadu a je menší než .
Prázdná sada
Nyní uvažujeme mnoho matic, které všechny kódují prázdnou sadu. Nejprve dáme kanonický DBM pro prázdnou množinu. Poté vysvětlíme, proč každý z DBM kóduje prázdnou množinu. To umožňuje najít omezení, která musí splňovat jakýkoli DBM.
Kanonický DBM prázdné množiny přes jednu proměnnou je . Ve skutečnosti představuje množinu splňující omezení , , a . Tato omezení jsou neuspokojitelná.
DBM také kóduje prázdnou sadu. Ve skutečnosti obsahuje omezení což je neuspokojitelné. Obecněji to ukazuje, že žádný záznam nemůže být pokud nejsou všechny položky .
DBM také kóduje prázdnou sadu. Ve skutečnosti obsahuje omezení což je neuspokojivé. Obecněji to ukazuje, že položka v diagonální linii nemůže být menší než pokud není .
DBM také kóduje prázdnou sadu. Ve skutečnosti obsahuje omezení a které si odporují. Obecněji to ukazuje, že pro každého , pokud , pak a jsou obě rovny ≤.
DBM také kóduje prázdnou sadu. Ve skutečnosti obsahuje omezení a které si odporují. Obecněji to ukazuje, že pro každého , , pokud je .
Přísná omezení
Příklady uvedené v této části jsou podobné příkladům uvedeným v části Příklad výše. Tentokrát jsou uvedeny jako DBM.
DBM představuje množinu splňující omezení a . Jak je uvedeno v části Příklad, obě tato omezení to implikují . To znamená, že DBM kóduje stejnou zónu. Ve skutečnosti je to DBM této zóny. To ukazuje, že v každém DBM , pro každého omezení je menší než omezení .
Jak je vysvětleno v části Příklad, konstantu 0 lze považovat za libovolnou proměnnou, což vede k obecnějšímu pravidlu: v libovolném DBM , pro každého omezení je menší než omezení .
Tři definice kanonického DBM
Jak je vysvětleno v úvodu této části Rozdíl vázané matice, kanonický DBM je DBM, jehož řádky a sloupce jsou indexovány pomocí , jejichž položky jsou omezeními. Dále sleduje jednu z následujících ekvivalentních vlastností.
- neexistují žádné menší DBM definující stejnou zónu,
- pro každého omezení je menší než omezení
- vzhledem k řízený graf s hranami a šipky označeno , nejkratší cesta od kteréhokoli okraje k jakémukoli okraji je šipka . Tento graf se nazývá potenciální graf DBM.
Poslední definici lze přímo použít k výpočtu kanonického DBM přidruženého k DBM. Postačí použít Floyd-Warshallův algoritmus ke grafu a přidruží se ke každé položce nejkratší cesta z na v grafu. Pokud tento algoritmus detekuje cyklus záporné délky, znamená to, že omezení nejsou uspokojivá, a tedy že zóna je prázdná.
Operace v zónách
Jak bylo uvedeno v úvodu, hlavním zájmem DBM je, že umožňují snadno a efektivně provádět operace v zónách.
Nejprve si vzpomínáme na operace, které byly zvažovány výše:
- testování na zahrnutí zóny v zóně se provádí testováním, zda kanonický DBM z je menší nebo rovno kanonickému BDM z ,
- DBM pro průnik sady zón je největší-dolní mez DBM těchto zón,
- testování prázdnoty zóny spočívá v kontrole, zda kanonický DBM zóny sestává pouze z ,
- testování, zda je zóna celým prostorem, spočívá v kontrole, zda se DBM zóny skládá pouze z .
Nyní popíšeme operace, které nebyly uvažovány výše. První níže popsané operace mají jasný geometrický význam. Poslední z nich odpovídají operacím, které jsou pro ně přirozenější hodiny ocenění.
Součet zón
The Minkowského součet dvou zón, definovaných dvěma DBM a , je definován DBM jehož položka je . Všimněte si, že od té doby je operace «produktu» semiring omezení, operace přes DBM není ve skutečnosti operací modul DBM.
Z toho zejména vyplývá, že za účelem překladu zóny směrem , stačí přidat DBM z do DBM z .
Projekce komponenty na pevnou hodnotu
Nechat konstanta.
Vzhledem k vektoru a index , projekce -tá složka na je vektor . V jazyce hodin, pro , to odpovídá resetování -th hodiny.
Promítání -tá složka zóny na spočívá jednoduše v sadě vektorů s jejich -tá složka . To je implementováno na DBM nastavením komponent na a komponenty na
Budoucnost a minulost zóny
Zavolejme budoucnost zóna a minulost zóna . Daný bod , budoucnost je definován jako a minulost je definován jako .
Názvy budoucnost a minulost vycházejí z pojmu hodiny. Pokud soubor hodinám jsou přiřazeny hodnoty , atd., pak v jejich budoucnosti bude soubor úkolů, které budou mít, budoucnost .
Vzhledem k zóně , budoucnost jsou spojením budoucnosti každého bodu zóny. Definice minulost zóny je podobný. Budoucnost zóny lze tedy definovat jako , a proto je lze snadno implementovat jako součet DBM. Pro DBM však existuje ještě jednodušší algoritmus. Postačí změnit každý záznam na . Podobně lze minulost zóny vypočítat nastavením všech položek na .
Viz také
- Region (kontrola modelu) - zóna, minimální zahrnutí, splňující některé vlastnosti
Reference
- ^ http://people.cs.aau.dk/~adavid/UDBM/index.html
- ^ Dill, David L (1990). "Předpoklady načasování a ověření souběžných systémů v konečném stavu". Přednášky z informatiky. 407: 197–212. doi:10.1007/3-540-52148-8_17. ISBN 978-3-540-52148-8.
- Rozdíl vázaných matic Přednáška č. 20 Pokročilé kontroly modelu Joost-Pieter Katoen
- Péron, Mathias; Halbwachs, Nicolas (2008). „Abstraktní doména rozšiřující matice vázané na rozdíl s omezeními nerovnosti“ (PDF). Přednášky z informatiky. 4349: 268–282. doi:10.1007/978-3-540-69738-1_20. ISBN 978-3-540-69735-0.