Skillnadsbunden matris
I modellkontroll , ett område inom datavetenskap , är en skillnadsbunden matris (DBM) en datastruktur som används för att representera några konvexa polytoper som kallas zoner . Denna struktur kan användas för att effektivt implementera vissa geometriska operationer över zoner, såsom att testa tomhet, inkludering, jämlikhet och beräkna skärningspunkten och summan av två zoner. Det används till exempel i Uppaal modellchecker ; där det också distribueras som ett fristående bibliotek.
Mer exakt finns det en föreställning om kanonisk DBM; det finns en en-till-en-relation mellan kanoniska DBM och zoner och från varje DBM kan en kanonisk ekvivalent DBM effektivt beräknas. Sålunda kan zonlikhet testas genom att kontrollera om kanoniska DBM:er är lika.
Zon
En differensbunden matris används för att representera någon form av konvexa polytoper. Dessa polytoper kallas zon . De är nu definierade. Formellt definieras en zon av ekvationer av formen , , och , med och vissa variabler, och en konstant.
Zoner har ursprungligen kallats region , men nuförtiden betecknar detta namn vanligtvis region , en speciell sorts zon. Intuitivt kan en region betraktas som en minimal icke-tom zon, där de konstanter som används i tvång är avgränsade.
Givet variabler finns det exakt olika icke-redundanta begränsningar möjliga, begränsningar som använder en enskild variabel och en övre bundna, begränsningar som använder en enskild variabel och en nedre gräns, och för var och en av de ordnade paren av variabel , en övre gräns på . En godtycklig konvex polytop i kan dock kräva ett godtyckligt stort antal begränsningar. Även när , kan det finnas ett godtyckligt stort antal icke-redundanta begränsningar , för några konstanter. Detta är anledningen till att DBM inte kan utökas från zoner till konvexa polytoper.
Exempel
Som nämnts i inledningen betraktar vi en zon definierad av en uppsättning satser av formen x , och , med och några variabler, och en konstant. Men några av dessa begränsningar är antingen motsägelsefulla eller överflödiga. Vi ger nu sådana exempel.
- begränsningarna och är motsägelsefulla. När två sådana begränsningar hittas är den definierade zonen tom.
- begränsningarna och är redundanta. Den andra begränsningen antyds av den första. När två sådana begränsningar hittas i definitionen av zonen kan den andra begränsningen därför tas bort.
Vi ger också exempel som visar hur man genererar nya begränsningar från befintliga begränsningar. För varje par av klockor och har DBM en begränsning av formen , där är antingen < eller ≤. Om ingen sådan begränsning kan hittas, kan begränsningen läggas till i zondefinitionen utan förlust av generalitet. Men i vissa fall kan en mer exakt begränsning hittas. Ett sådant exempel kommer nu att ges.
- begränsningarna , innebär att . Alltså, förutsatt att ingen annan begränsning som eller tillhör definitionen, begränsningen läggs till zondefinitionen.
- begränsningarna , innebär att . Om man antar att ingen annan begränsning såsom eller tillhör definitionen, så hör begränsningen läggs till i zondefinitionen.
- begränsningarna , antyder att . Alltså, förutsatt att ingen annan begränsning som eller tillhör definitionen, begränsningen läggs till zondefinitionen.
Egentligen är de två första fallen ovan särskilda fall av de tredje fallen. Faktum är att och kan skrivas om som respektive . Och följaktligen liknar begränsningen som lagts till i det första exemplet den begränsning som lagts till i det tredje exemplet.
Definition
Vi fixar nu en monoid som är en delmängd av den reella linjen. Denna monoid är traditionellt sett uppsättningen av heltal , rationaler , reella eller deras delmängd av icke-negativa tal.
Begränsningar
För att definiera datastrukturens skillnadsbundna matris , krävs det först att ge en datastruktur för att koda atomära begränsningar. Dessutom introducerar vi en algebra för atomära begränsningar. Denna algebra liknar den tropiska semiringen , med två modifieringar:
- En godtyckligt ordnad monoid kan användas istället för ℝ.
- För att kunna skilja mellan " " och " " måste uppsättningen av element i algebra innehålla information som anger om ordningen är strikt eller inte.
Definition av begränsningar
Uppsättningen av tillfredsställande begränsningar definieras som uppsättningen av par av formuläret:
- , med , som representerar en begränsning av formen ,
- , med , där inte är ett minimalt element av , som representerar en begränsning av formen ,
- , som representerar frånvaron av begränsning.
Uppsättningen av begränsningar innehåller alla tillfredsställande begränsningar och innehåller även följande otillfredsställande begränsning:
- .
Delmängden kan inte definieras med denna typ av begränsningar. Mer generellt kan vissa konvexa polytoper inte definieras när den ordnade monoiden inte har den minst övre bundna egenskapen, även om var och en av begränsningarna i dess definition använder högst två variabler.
Operation på begränsningar
För att generera en enda begränsning från ett par begränsningar som tillämpas på samma (par av) variabel, formaliserar vi begreppet skärningspunkt mellan begränsningar och ordning över begränsningar. På liknande sätt, för att definiera nya begränsningar från befintliga begränsningar, måste en begreppet summa av begränsning också definieras.
Ordning om begränsningar
Vi definierar nu en orderrelation över begränsningar. Denna ordning symboliserar inkluderingsrelationen.
betraktas mängden Intuitivt väljs denna ordning eftersom mängden som definieras av strikt ingår i mängden som definieras av . Vi anger sedan att begränsningen är mindre än om antingen eller ( och är mindre än . Det vill säga, ordningen på begränsningar är den lexikografiska ordningen som tillämpas från höger till vänster. Observera att denna order är en total order . Om har den minst-upper-bound-egenskapen (eller greatest-lower-bound-egenskapen ) så har uppsättningen av begränsningar det också.
Skärning av begränsningar
Skärningen mellan två begränsningar, betecknad som , definieras då helt enkelt som minimum av dessa två begränsningar. Om har egenskapen störst-undre gräns definieras också skärningspunkten för ett oändligt antal begränsningar.
Summan av begränsningar
Givet två variabler och som tillämpas begränsningar och , förklarar vi nu hur man genererar begränsningen som uppfylls av . Denna begränsning kallas summan av de två ovan nämnda begränsningarna, betecknas som och definieras som .
Restriktioner som en algebra
Här är en lista över algebraiska egenskaper som uppfylls av uppsättningen av begränsningar.
- Båda operationerna är associativa och kommutativa ,
- Summan är distributiv över skärningspunkten, det vill säga för alla tre begränsningar, med ,
- Korsningsoperationen är idempotent,
- Begränsningen är en identitet för korsningsoperationen,
- Begränsningen är en identitet för summaoperationen,
Dessutom gäller följande algebraiska egenskaper över tillfredsställande begränsningar:
- Begränsningen är en nolla för summaoperationen,
- Det följer att uppsättningen av tillfredsställbara begränsningar är en idempotent semiring , med som noll och som enhet.
- Om 0 är minimielementet för så är en nolla för skärningsbegränsningarna över tillfredsställbara begränsningar.
Över icke-tillfredsställande begränsningar har båda operationerna samma nolla, vilket är . Således bildar uppsättningen av begränsningar inte ens en semiring, eftersom identiteten för skärningspunkten är skild från summans noll.
DBM:er
Givet en uppsättning av variabler, , är en DBM en matris med kolumn och rader indexerade med och posterna är begränsningar. Intuitivt, för en kolumn och en rad representerar värdet vid position . Således, zonen som definieras av en matris \ är .
Observera att är ekvivalent med , alltså posten är fortfarande i huvudsak en övre gräns. Observera dock att eftersom vi betraktar en monoid , för vissa värden på och den verkliga faktiskt inte monoiden .
Innan vi introducerar definitionen av en kanonisk DBM måste vi definiera och diskutera en ordningsrelation på dessa matriser.
Beställ på de matriserna
En matris anses vara mindre än en matris om var och en av dess poster är mindre. Observera att denna order inte är total. Givet två DBM:er och , om är mindre än eller lika med , då .
Den största-undre gränsen av två matriser och , betecknad med , har som sin ange värdet . Notera att eftersom är «summa»-operationen för semiring av restriktioner, är operationen «summan» av två DBM:er där uppsättningen DBM:er betraktas som en modul .
På samma sätt som fallet med begränsningar, som betraktas i avsnittet "Operation på begränsningar" ovan, är den största-undre gränsen för ett oändligt antal matriser korrekt definierad så snart som uppfyller den största-undre gränsen egenskapen.
Skärningspunkten mellan matriser/zoner definieras. Den fackliga verksamheten är inte definierad, och en förening av zon är faktiskt inte en zon i allmänhet.
För en godtycklig uppsättning av matriser som alla definierar samma zon , definierar också . Det följer sålunda att så länge som har den största-nedre-gräns-egenskapen, har varje zon som definieras av åtminstone en matris en unik minimal matris som definierar den. Denna matris kallas den kanoniska DBM för .
Första definitionen av kanonisk DBM
Vi upprepar definitionen av en kanonisk skillnadsbunden matris . Det är en DBM så att ingen mindre matris definierar samma uppsättning. Det förklaras nedan hur man kontrollerar om en matris är en DBM, och i övrigt hur man beräknar en DBM från en godtycklig matris så att båda matriserna representerar samma mängd. Men först ger vi några exempel.
Exempel på matriser
Vi överväger först fallet där det finns en enda klocka .
Den riktiga linjen
Vi ger först den kanoniska DBM för . Vi introducerar sedan en annan DBM som kodar uppsättningen . Detta gör det möjligt att hitta begränsningar som måste uppfyllas av alla DBM.
Den kanoniska DBM för mängden reella är . Det representerar begränsningarna , , och . Alla dessa begränsningar är uppfyllda oberoende av värdet som tilldelats . I återstoden av diskussionen kommer vi inte explicit att beskriva begränsningar på grund av inmatningar av formen ( , eftersom dessa begränsningar är systematiskt uppfyllda.
DBM kodar också uppsättningen av real. Den innehåller begränsningarna och som är uppfyllda oberoende av värdet på . Detta visar att i en kanonisk DBM är en diagonal post aldrig större än , eftersom matrisen som erhålls från genom att ersätta diagonal inmatning av definierar samma uppsättning och är mindre än .
Den tomma uppsättningen
Vi betraktar nu många matriser som alla kodar den tomma mängden. Vi ger först den kanoniska DBM för den tomma uppsättningen. Vi förklarar sedan varför var och en av DBM kodar den tomma uppsättningen. Detta gör det möjligt att hitta begränsningar som måste uppfyllas av alla DBM.
Den kanoniska DBM för den tomma mängden, över en variabel, är . Det representerar faktiskt uppsättningen som uppfyller villkoret , , och . Dessa begränsningar är otillfredsställande.
DBM kodar också den tomma uppsättningen. Den innehåller faktiskt begränsningen som är otillfredsställande. Mer generellt visar detta att ingen post kan vara om inte alla poster är .
DBM kodar också den tomma uppsättningen. Den innehåller faktiskt begränsningen som är otillfredsställande. Mer generellt visar detta att inmatningen i den diagonala linjen inte kan vara mindre än om det inte är .
DBM kodar också den tomma uppsättningen. Den innehåller faktiskt begränsningarna och som är motsägelsefulla. Mer generellt visar detta att för varje , om , då och är båda lika med ≤.
DBM kodar också den tomma uppsättningen. Den innehåller faktiskt begränsningarna och som är motsägelsefulla. Mer generellt visar detta att för varje , om inte är .
Strikta begränsningar
Exemplen som ges i det här avsnittet liknar exemplen som ges i exempelavsnittet ovan. Den här gången ges de som DBM.
DBM 3 och . Som nämnts i exempelavsnittet innebär båda dessa begränsningar att . att DBM . Egentligen är det DBM för denna zon. Detta visar att i vilken DBM som helst n , begränsningen mindre än begränsning .
Som förklarats i exempelavsnittet kan konstanten 0 betraktas som vilken variabel som helst, vilket leder till den mer allmänna regeln: i alla DBM , för varje , begränsningen är mindre än begränsningen .
Tre definitioner av kanonisk DBM
Som förklaras i inledningen av avsnittet Difference Bound Matrix , är en kanonisk DBM en DBM vars rader och kolumner är indexerade med , vars poster är begränsningar. Dessutom följer den en av följande likvärdiga egenskaper.
- det finns inga mindre DBM som definierar samma zon,
- för varje begränsningen är mindre än begränsningen
- givet den riktade grafen med kanter och pilar märkt av , den kortaste vägen från någon kant till valfri kant är pilen . Denna graf kallas potentialgrafen för DBM.
Den sista definitionen kan användas direkt för att beräkna den kanoniska DBM som är kopplad till en DBM. Det räcker att tillämpa Floyd–Warshall-algoritmen på grafen och associerar till varje post den kortaste vägen från till i Graf. Om denna algoritm upptäcker en cykel med negativ längd, betyder detta att begränsningarna inte är tillfredsställande, och därmed att zonen är tom.
Verksamhet på zoner
Som nämnts i inledningen är det huvudsakliga intresset för DBM:er att de gör det möjligt att enkelt och effektivt implementera operationer på zoner.
Vi minns först operationer som övervägdes ovan:
- testning för inkludering av en zon i en zon görs genom att testa om den kanoniska DBM för är mindre än eller lika med DBM för ,
- En DBM för skärningspunkten mellan en uppsättning zoner är den största-nedre gränsen för DBM för dessa zoner,
- testning av zontomhet består i att kontrollera om zonens kanoniska DBM endast består av ,
- att testa om en zon är hela utrymmet består i att kontrollera om zonens DBM endast består av .
Vi beskriver nu operationer som inte beaktades ovan. De första operationerna som beskrivs nedan har tydlig geometrisk betydelse. De sista blir motsvarar operationer som är mer naturliga för klockvärderingar .
Summan av zoner
Minkowskisumman av två zoner, definierade av två DBMs och , definieras av DBM vars posten är . Observera att eftersom är «produkten»-operationen av semiring av begränsningar, är operationen över DBM:er faktiskt inte en operation av modulen för DBM.
I synnerhet följer det att, för att översätta en zon med en riktning , räcker det att lägga till DBM för till DBM för .
Projektion av en komponent till ett fast värde
Låt en konstant.
Givet en vektor och ett index , projektionen av -:e komponenten av till är vektorn . På klockspråket, för , motsvarar detta att återställa den -th klockan.
Att projicera den -te komponenten i en zon till består helt enkelt av uppsättningen vektorer av med deras - komponenten till . Detta implementeras DBM genom att ställa in komponenterna till och komponenterna till
Framtid och dåtid för en zon
Låt oss kalla framtiden för zonen och det förflutna zonen . Givet en punkt , framtiden för definieras som och det förflutna för definieras som .
Namnen framtid och förflutet kommer från begreppet klocka . Om en uppsättning av klockor tilldelas värdena , , etc. så kommer tilldelningsuppsättningen i framtiden att de kommer att ha är framtiden för .
Givet en zon framtiden för föreningen av framtiden för varje punkt i zonen. Definitionen av det förflutna av en zon är liknande. Framtiden för en zon kan alltså definieras som , och kan därför enkelt implementeras som en summa av DBM. Det finns dock ännu en enklare algoritm att tillämpa på DBM. Det räcker med att ändra varje post till . På liknande sätt kan förflutna för en zon beräknas genom att ställa in alla poster till .
Se även
- Region (modellkontroll) – en zon, minimal under inkludering, som uppfyller vissa egenskaper
- ^ "UPPAAL DBM-bibliotek" . 16 juli 2021.
- ^ Dill, David L (1990). "Timingsantaganden och verifiering av samtidiga system i finita tillstånd". Föreläsningsanteckningar i datavetenskap . 407 : 197–212. doi : 10.1007/3-540-52148-8_17 . ISBN 978-3-540-52148-8 .
- Difference Bound Matrices Föreläsning #20 av Advanced Model Checking Joost-Pieter Katoen
- Péron, Mathias; Halbwachs, Nicolas (2008). "En abstrakt domän som utökar skillnadsbundna matriser med ojämlikhetsbegränsningar" ( PDF) . Föreläsningsanteckningar i datavetenskap . 4349 : 268–282. doi : 10.1007/978-3-540-69738-1_20 . ISBN 978-3-540-69735-0 .