stringtranslate.com

Matriz de diferencia límite

En la verificación de modelos , un campo de la informática , una matriz de límites diferenciales (DBM) es una estructura de datos que se utiliza para representar algunos politopos convexos llamados zonas . Esta estructura se puede utilizar para implementar de manera eficiente algunas operaciones geométricas sobre zonas, como probar el vacío, la inclusión, la igualdad y calcular la intersección y la suma de dos zonas. Se utiliza, por ejemplo, en el verificador de modelos Uppaal , donde también se distribuye como una biblioteca independiente. [1]

Más precisamente, existe una noción de DBM canónico; existe una relación uno a uno entre los DBM canónicos y las zonas y a partir de cada DBM se puede calcular eficientemente un DBM canónico equivalente. Por lo tanto, la igualdad de la zona se puede probar verificando la igualdad de los DBM canónicos.

Zona

Una matriz de límites diferenciales se utiliza para representar algún tipo de politopos convexos. Esos politopos se denominan zona . Ahora están definidos. Formalmente, una zona se define mediante ecuaciones de la forma , , y , con y algunas variables y una constante.

Las zonas se denominaban originalmente región [2], pero hoy en día este nombre suele denotar región , un tipo especial de zona. Intuitivamente, una región puede considerarse como una zona mínima no vacía, en la que las constantes utilizadas en la restricción están acotadas.

Dadas las variables, existen exactamente diferentes restricciones no redundantes posibles, restricciones que utilizan una única variable y un límite superior, restricciones que utilizan una única variable y un límite inferior, y para cada uno de los pares ordenados de variable , un límite superior en . Sin embargo, un politopo convexo arbitrario en puede requerir un número arbitrario de restricciones. Incluso cuando , puede haber un número arbitrario de restricciones no redundantes , para algunas constantes. Esta es la razón por la que los DBM no se pueden extender desde zonas a politopos convexos.

Ejemplo

Como se indicó en la introducción, consideramos una zona definida por un conjunto de enunciados de la forma , , y , con y algunas variables, y una constante. Sin embargo, algunas de esas restricciones son contradictorias o redundantes. A continuación, presentamos ejemplos de este tipo.

También damos un ejemplo que muestra cómo generar nuevas restricciones a partir de restricciones existentes. Para cada par de relojes y , el DBM tiene una restricción de la forma , donde es < o ≤. Si no se puede encontrar dicha restricción, la restricción se puede agregar a la definición de zona sin pérdida de generalidad. Pero en algunos casos, se puede encontrar una restricción más precisa. A continuación se dará un ejemplo de este tipo.

En realidad, los dos primeros casos anteriores son casos particulares de los terceros casos. De hecho, y pueden reescribirse como y respectivamente. Por lo tanto, la restricción agregada en el primer ejemplo es similar a la restricción agregada en el tercer ejemplo.

Definición

Ahora fijamos un monoide que es un subconjunto de la recta real. Este monoide es tradicionalmente el conjunto de números enteros , racionales , reales o su subconjunto de números no negativos.

Restricciones

Para definir la estructura de datos de la matriz de límites diferenciales , primero se requiere proporcionar una estructura de datos para codificar las restricciones atómicas. Además, introducimos un álgebra para las restricciones atómicas. Esta álgebra es similar al semianillo tropical , con dos modificaciones:

Definición de restricciones

El conjunto de restricciones satisfacibles se define como el conjunto de pares de la forma:

El conjunto de restricciones contiene todas las restricciones satisfacibles y también contiene la siguiente restricción insatisfacible:

El subconjunto no se puede definir utilizando este tipo de restricciones. En términos más generales, algunos politopos convexos no se pueden definir cuando el monoide ordenado no tiene la propiedad de límite superior mínimo , incluso si cada una de las restricciones en su definición utiliza como máximo dos variables.

Operación sobre restricciones

Para generar una única restricción a partir de un par de restricciones aplicadas al mismo par de variables, formalizamos la noción de intersección de restricciones y de orden sobre restricciones. De manera similar, para definir una nueva restricción a partir de restricciones existentes, también debe definirse una noción de suma de restricciones.

Orden sobre restricciones

Definimos ahora una relación de orden sobre restricciones. Este orden simboliza la relación de inclusión.

En primer lugar, el conjunto se considera un conjunto ordenado, donde < es inferior a ≤. Intuitivamente, se elige este orden porque el conjunto definido por está estrictamente incluido en el conjunto definido por . Entonces, afirmamos que la restricción es menor que si o ( y es menor que ). Es decir, el orden de las restricciones es el orden lexicográfico aplicado de derecha a izquierda. Nótese que este orden es un orden total . Si tiene la propiedad de límite superior mínimo (o propiedad de límite inferior máximo ), entonces el conjunto de restricciones también la tiene.

Intersección de restricciones

La intersección de dos restricciones, denotada como , se define entonces simplemente como el mínimo de esas dos restricciones. Si tiene la propiedad de límite inferior máximo, entonces también se define la intersección de un número infinito de restricciones.

Suma de restricciones

Dadas dos variables y a las que se aplican las restricciones y , ahora explicamos cómo generar la restricción satisfecha por . Esta restricción se denomina suma de las dos restricciones mencionadas anteriormente, se denota como y se define como .

Las restricciones como álgebra

Aquí hay una lista de propiedades algebraicas satisfechas por el conjunto de restricciones.

Además, las siguientes propiedades algebraicas se cumplen en condiciones de restricción satisfacibles:

Sobre restricciones no satisfacibles ambas operaciones tienen el mismo cero, que es . Por lo tanto, el conjunto de restricciones ni siquiera forma un semianillo, porque la identidad de la intersección es distinta del cero de la suma.

DBM

Dado un conjunto de variables, , un DBM es una matriz con columnas y filas indexadas por y las entradas son restricciones. Intuitivamente, para una columna y una fila , el valor en la posición representa . Por lo tanto, la zona definida por una matriz , denotada por , es .

Nótese que es equivalente a , por lo tanto, la entrada sigue siendo esencialmente un límite superior. Sin embargo, nótese que, dado que consideramos un monoide , para algunos valores de y el real en realidad no pertenece al monoide.

Antes de introducir la definición de un DBM canónico, necesitamos definir y discutir una relación de orden en esas matrices.

Orden en esas matrices

Se considera que una matriz es más pequeña que una matriz si cada una de sus entradas es más pequeña. Nótese que este orden no es total. Dados dos DBM y , si es menor o igual que , entonces .

El límite inferior máximo de dos matrices y , denotado por , tiene como entrada el valor . Nótese que como es la operación de «suma» del semianillo de restricciones, la operación es la «suma» de dos DBM donde el conjunto de DBM se considera como un módulo .

De manera similar al caso de las restricciones, considerado en la sección "Operación sobre restricciones" anterior, el límite inferior máximo de un número infinito de matrices se define correctamente tan pronto como satisface la propiedad del límite inferior máximo.

La intersección de matrices/zonas está definida. La operación de unión no está definida y, de hecho, una unión de zonas no es una zona en general.

Para un conjunto arbitrario de matrices que definen la misma zona , también define . De ello se deduce que, siempre que tenga la propiedad de límite inferior máximo, cada zona que esté definida por al menos una matriz tiene una matriz mínima única que la define. Esta matriz se denomina matriz mínima canónica de .

Primera definición de DBM canónico

Reafirmamos la definición de una matriz de límite diferencial canónico . Es una matriz de límite diferencial tal que ninguna matriz más pequeña define el mismo conjunto. A continuación se explica cómo comprobar si una matriz es una matriz de límite diferencial y, en caso contrario, cómo calcular una matriz de límite diferencial a partir de una matriz arbitraria de modo que ambas matrices representen el mismo conjunto. Pero primero, daremos algunos ejemplos.

Ejemplos de matrices

Consideremos primero el caso en el que hay un solo reloj .

La linea real

Primero damos el DBM canónico para . Luego introducimos otro DBM que codifica el conjunto . Esto permite encontrar restricciones que debe cumplir cualquier DBM.

El DBM canónico del conjunto de los reales es . Representa las restricciones , , y . Todas esas restricciones se satisfacen independientemente del valor asignado a . En el resto de la discusión, no describiremos explícitamente las restricciones debidas a entradas de la forma , ya que esas restricciones se satisfacen sistemáticamente.

El DBM también codifica el conjunto de los valores reales. Contiene las restricciones y que se satisfacen independientemente del valor de . Esto demuestra que en un DBM canónico , una entrada diagonal nunca es mayor que , porque la matriz obtenida de al reemplazar la entrada diagonal por define el mismo conjunto y es menor que .

El conjunto vacío

Ahora consideramos muchas matrices que codifican el conjunto vacío. Primero damos el DBM canónico para el conjunto vacío. Luego explicamos por qué cada uno de los DBM codifica el conjunto vacío. Esto permite encontrar restricciones que deben ser satisfechas por cualquier DBM.

El DBM canónico del conjunto vacío, sobre una variable, es . De hecho, representa el conjunto que satisface la restricción , , y . Esas restricciones son insatisfacibles.

El DBM también codifica el conjunto vacío. De hecho, contiene la restricción que es insatisfacible. En términos más generales, esto demuestra que ninguna entrada puede ser a menos que todas las entradas sean .

El DBM también codifica el conjunto vacío. De hecho, contiene la restricción que es insatisfactoria. En términos más generales, esto demuestra que la entrada en la línea diagonal no puede ser menor que a menos que sea .

El DBM también codifica el conjunto vacío. De hecho, contiene las restricciones y que son contradictorias. En términos más generales, esto demuestra que, para cada , si , entonces y son ambos iguales a ≤.

El DBM también codifica el conjunto vacío. De hecho, contiene las restricciones y que son contradictorias. En términos más generales, esto demuestra que para cada , , a menos que sea .

Restricciones estrictas

Los ejemplos que se dan en esta sección son similares a los ejemplos que se dan en la sección de Ejemplos anterior. Esta vez, se dan como DBM.

El DBM representa el conjunto que satisface las restricciones y . Como se mencionó en la sección de Ejemplos, ambas restricciones implican que . Significa que el DBM codifica la misma zona. En realidad, es el DBM de esta zona. Esto muestra que en cualquier DBM , para cada , la restricción es menor que la restricción .

Como se explica en la sección Ejemplo, la constante 0 puede considerarse como cualquier variable, lo que conduce a la regla más general: en cualquier DBM , para cada , la restricción es menor que la restricción .

Tres definiciones de DBM canónico

Como se explica en la introducción de la sección Matriz de diferencias límite , un DBM canónico es un DBM cuyas filas y columnas están indexadas por , cuyas entradas son restricciones. Además, sigue una de las siguientes propiedades equivalentes.

La última definición se puede utilizar directamente para calcular el DBM canónico asociado a un DBM. Basta con aplicar el algoritmo Floyd-Warshall al grafo y asociar a cada entrada el camino más corto desde a en el grafo. Si este algoritmo detecta un ciclo de longitud negativa, significa que las restricciones no son satisfacibles y, por lo tanto, que la zona está vacía.

Operaciones en zonas

Como se indica en la introducción, el principal interés de los DBM es que permiten implementar de forma fácil y eficiente operaciones en zonas.

Recordemos en primer lugar las operaciones que hemos considerado anteriormente:

A continuación se describen las operaciones que no se han considerado anteriormente. Las primeras operaciones que se describen a continuación tienen un significado geométrico claro. Las últimas corresponden a operaciones que son más naturales para las valoraciones de relojes .

Suma de zonas

La suma de Minkowski de dos zonas, definidas por dos DBM y , está definida por el DBM cuya entrada es . Nótese que, dado que es la operación «producto» del semianillo de restricciones, la operación sobre DBM no es en realidad una operación del módulo de DBM.

En particular, se deduce que, para trasladar una zona por una dirección , basta con sumar el DBM de al DBM de .

Proyección de un componente a un valor fijo

Sea una constante.

Dado un vector y un índice , la proyección del componente -ésimo de to es el vector . En el lenguaje del reloj, para , esto corresponde a reiniciar el -ésimo reloj.

La proyección del componente -ésimo de una zona a consiste simplemente en el conjunto de vectores de con su componente -ésimo a . Esto se implementa en DBM configurando los componentes a y los componentes a

Futuro y pasado de una zona

Llamemos al futuro zona y al pasado zona . Dado un punto , el futuro de se define como , y el pasado de se define como .

Los nombres futuro y pasado provienen de la noción de reloj . Si a un conjunto de relojes se les asignan los valores , , etc., entonces en su futuro, el conjunto de asignaciones que tendrán será el futuro de .

Dada una zona , el futuro de es la unión del futuro de cada uno de los puntos de la zona. La definición del pasado de una zona es similar. El futuro de una zona puede definirse como , y por lo tanto puede implementarse fácilmente como una suma de DBM. Sin embargo, hay un algoritmo aún más simple para aplicar a DBM. Basta con cambiar cada entrada a . De manera similar, el pasado de una zona puede calcularse estableciendo cada entrada a .

Véase también

Referencias

  1. ^ "Biblioteca UPPAAL DBM". GitHub . 16 de julio de 2021.
  2. ^ Dill, David L (1990). "Supuestos de temporización y verificación de sistemas concurrentes de estados finitos". Métodos de verificación automática para sistemas de estados finitos . Notas de clase en informática. Vol. 407. págs. 197–212. doi : 10.1007/3-540-52148-8_17 . ISBN. 978-3-540-52148-8.