Usuario:David Casas Torres/Taller

Grafos Observables

editar
 
Ejemplo de grafo observable.

La idea de un grafo observable es un grafo dirigido y coloreado donde un agente se desplaza de vértice en vértice sobre las aristas (respetando la dirección de las aristas) y que solo es capaz de almacenar la secuencia de los colores de las aristas (o los vértices) en orden, pero a pesar de ello, luego de una cantidad T finita de aristas (o vértices) el agente sabe exactamente el vértice en el que está.

Definiciones previas

editar

A continuación se presentaran algunas definiciones técnicas que permitirán dar una definición formal de lo que son los grafos observables y parcialmente observables.
Sea un grafo dirigido con aristas etiquetadas  , sea   un conjunto finito, a los elementos de   les decimos sin distinción letras, etiquetas o colores que tendrán las aristas o los vértices según se especifique.

Llamamos palabra a   una sucesión finita de letras. Denotamos   el conjunto de todas las palabras que se pueden formar con letras del conjunto  . Decimos que   es la sub-palabra   y por último   es la longitud o número de letras que tiene la palabra  .
Un camino   en   es permitido por una palabra   de   si la arista   del camino está etiquetada por  .

 
Ejemplo de grafo coloreado y caminos permitidos por una serie de colores.

En el ejemplo de la derecha si el color rojo se representa por la letra   y el verde por   tenemos que el camino   está permitido por la palabra   y que no existe ningún camino permitido por la palabra  .

Sea   un subconjunto de vértices y   una palabra del conjunto  . Definimos   como el conjunto de vértices para los cuales existe una camino permitido por   desde algún vértice de  . En otras palabras es el conjunto de nodos a los que podemos llegar si empezando por uno (nodo) de   seguimos un camino con la palabra  .

Por lo tanto tendríamos que   como todos los vértices alcanzables en el grafo permitidos por la palabra  .

Un vértice de un grafo   es asintóticamente alcanzable si puede ser alcanzado por un camino de longitud arbitraria.

Definición de grafos observables

editar

Un grafo dirigido con aristas etiquetadas  , y sus etiquetas en   es observable si existe un entero   tal que para toda  , donde  , se tiene que  .

 
Ejemplo de grafo parcialmente observable.

El grafo se dice parcialmente observable si en las mismas condiciones anteriores existe un   tal que  .

En otras palabras es observable si para toda palabra suficientemente larga, o recorrido suficientemente largo, podemos determinar con exactitud en que nodo del grafo estará al final de tal recorrido. Y es parcialmente observable si podemos determinar con exactitud uno o más nodos que conforman el camino.

 
Con las secuencias ARR y RAR sabremos el lugar en dónde el agente se encuentra

Analicemos otro ejemplo (ver imagen ) que nos muestra como de una secuencia de colores podemos saber exactamente el lugar en donde se encuentra el agente. Si nos dan la secuencia   entonces no hay otra opción para el agente que estar en   o igualmente si nos dan   el agente no tiene otra opción que estar en  . Por otro lado podemos tener una secuencia de colores emitida por el agente que camina sobre el mismo grafo en dónde no es posible saber el lugar en dónde se encuentra el agente por ejemplo consideremos la secuencia   analizando el grafo podremos caer en cuenta que el agente puede estar ubicado en   pero también en  .

Verificación de Observabilidad

editar

Teorema

editar

Un grafo   de aristas etiquetadas es observable si y solo si:

  • No existe una sucesión de caracteres   perteneciente a dos ciclos diferentes
  • Si no existe un vértice asintóticamente alcanzable del grafo   del cual salgan dos aristas con el mismo carácter.

Demostración

editar
 

→ Se probará la primera implicación por contradicción. Asumamos que   es un grafo observable, sea   una sucesión de caracteres que pertenece a dos ciclos diferentes y sea   un vértice asintóticamente alcanzable del cual salgan dos aristas con el mismo carácter. Existe un entero  , tal que es posible encontrar un camino de medida   que termina en el vértice  .

 

Ahora bien dado que del grafo   salen dos aristas con el mismo carácter   y se considera que dicho camino pertenece a la sucesión de caracteres  , entonces se obtiene una secuencia arbitraria de caracteres  .


Consideremos el conjunto  , recordando que del vértice   salen dos aristas con el mismo carácter, se obtiene que  .
y esto contradice que sea observable.

 

← Sea el entero   de tal forma que todo camino de medida mayor que   tiene el ultimo vértice asintóticamente alcanzable, sea la sucesión de caracteres   y considere dos caminos pertenecientes a  . La intensión es ver que estos caminos se intersectan entre   y   donde   es el número de vértices asintóticamente alcanzables. Esto sucede pues si se supone lo contrario, es decir que estos dos caminos no se intersectan durante los últimos   pasos.

 

Lo que va a ocurrir es que ambos caminos van a pasar por cada uno de los demás vértices que faltan por alcanzar, hasta que finalmente se van a acabar los vértices y por el principio del palomar van a comenzar a repetir vértices. Sin embargo esto implica que existen dos ciclos con la misma sucesión de caracteres   y esto contradice la hipótesis del teorema.

Corolario

editar

En un grafo observable, son suficientes   observaciones para localizar un agente.

Demostración

editar

Si no fuera así implicaría que existe una sucesión de caracteres de tamaño   tal que hay dos caminos pertenecientes a esta y que terminan en diferentes vértices.

Es decir hay   pares de vértices en los cuales ambos caminos siguen siendo diferentes y usando el mismo argumento del teorema anterior, por el principio del palomar esto implica que el grafo no es observable. Por lo tanto se debe tener la afirmación anterior.


Diseñar grafos observables es NP-completo

editar

Teorema

editar

Dados   un grafo y   un entero positivo , el problema de hacer un grafo   de   observable con una coloración por vértices de   Colores es NP-completo.

Ilustración

editar

Tomemos un grafo   y su conjunto de aristas   y su conjunto de vértices   podemos suponer una enumeración de   como   y una de   como   ahora construiremos un grafo   con un nuevo conjunto de aristas   y también de vértices   de tal forma que   es 3-Coloreable si y solamente si   es Observable.

La razón por la cual el problema del diseño de grafos observables es un problema NP-completo es porque se reduce el problema principal al problema del 3-coloreo de grafos que ya es NP-completo en un tiempo polinomial. Comencemos por la construcción de  

Paso 1

 
Primer paso de la construcción

Este paso consiste en que dado un grafo escogemos una coloración por nodos de tal forma que dos nodos conectados con la misma arista de   no tengan la misma coloración. Luego por cada   consideremos un   y por cada   consideremos un  , además si   entonces   y los nuevos vértices los colorearemos todos de uno de los colores. En la figura de la derecha esta representado a mano derecha el grafo   y a la izquierda se ve como se va formando el grafo   y Coloreamos los nuevos vértices de azul. Notemos que en esta construcción se esta haciendo cuidando que de un vértice no salgan aristas a dos vértices con las mismas coloraciones lo cual llevaría a la posibilidad de que la condición de ser observable no se tenga.

Paso 2

 
Segundo paso de la contrucción

En este segundo paso lo que haremos es por cada   consideraremos un   en   estos los colorearemos de un color distinto al color seleccionado para los  , además haremos que   para todo   y   para   estén en  . en la segunda imagen de la derecha está ilustrado este paso y usa como el color para los nuevos vértices el verde.

Paso 3

 
Tercer paso de la construcción

En este añadimos vértices de una forma tal que nos permita determinar la posición del agente. Para esto por cada uno de los   añadimos dos vértices etiquetados con el color distinto al que utilizamos en los pasos anteriores llamemos   a ambos vértices a   le añadimos las aristas   y  . Notemos que esta es una manera de identificar de forma certera la posición en donde está ubicado el agente.

Esta construcción nos permite establecer el resultado deseado, en efecto si el grafo   es 3-Coloreable entonces por la construcción anterior cuando el agente reciba una sucesión que termina con   (siguiendo las etiquetas dadas en el ejemplo ilustrativo) el agente sabrá que al recibir la   ha pasado por   luego de esto puede recibir solo azul o verde, en el caso en que salga azul entonces estará en   y si recibe verde sabrá que está dirigiéndose hacia algún  , en algún momento se acabará esa secuencia de verdes y vendrá un azul, que dependiendo de la cantidad de verdes anteriores que hayan en la secuencia sabremos cual es, el único problema sería que existiera la posibilidad de que el   estuviera conectado a dos vértices de colores iguales, ya que en ese caso el agente no podría identificar el vértice en el que está, pero por hipótesis el grafo   es 3-coloreable y por al construcción no es posible que se dé ese caso. así que el grafo   es observable. y el hecho de que   sea observable obliga a que   sea 3-coloreable por el mismo argumento.

Diseñar grafos parcialmente observables es NP-completo

editar

Teorema

editar

El problema de determinar para un grafo dado   y un entero  , si   puede ser parcialmente observable coloreando sus aristas con   colores es NP-Completo.

La idea de la demostración es mostrar el problema como una reducción en tiempo polinomial del problema del Triángulo monocromático que se sabe es NP-completo. Para eso se partirá de un grafo arbitrario no dirigido   y se creara   que podrá ser coloreado con dos colores de tal forma que sea parcialmente observable si y solo si se puede colorear   de tal forma que no exista un triángulo monocromático.

Demostración

editar

Se sabe que se puede decidir en tiempo polinomial si un grafo dirigido y coloreado es parcialmente observable por tanto el problema es P.

Sea   un grafo no dirigido. Primero ordenamos sus aristas de cualquier manera  , por cada arista en   en el grafo   creamos una arista dirigida "real"   que tendrá el mismo color que la arista   en  .

 
Grafo que se usa para ilustrar la demostración.

Ahora considere todos los triángulos o 3-cliques   en   y ordenelos arbitrariamente  , por cada triángulo en   creamos en   un nodo   del cual salen aristas dirigidas a cada uno de los nodos iniciales de las aristas reales que representan sus componentes. e.g. el nodo que corresponde al triángulo   tiene una arista dirigida al primer nodo de  , una a al primero de   y una al de  .

 
Parte del grafo generado.

Después en   creamos un árbol binario con los nodos   como sus hojas. Este árbol tendrá  , el número de triángulos en el grafo y hojas del árbol.
Este no es el grafo terminado, pero vamos a probar que existe una forma de 2-colorear las aristas del grafo hasta ahora generado tal que todos los caminos desde la raíz hasta los últimos nodos de las aristas reales tienen una secuencia de colores diferente si y solo si el grafo   puede ser coloreado con dos colores de tal forma que cualquier triángulo tiene tiene dos aristas con colores diferentes, llamamos a esta propiedad ser triángulo coloreable.

Supongamos que   no puede ser triángulo coloreado. Sin importar que color se le asigne a cada arista en   siempre tendrá un triángulo monocromático. Para un coloreo en especial llamemos éste triángulo  . Del nodo en   que corresponde a   salen tres aristas hacia las aristas reales, sin importar que colores se le asignen a estas aristas salientes siempre habrán dos con el mismo color que llegarán a aristas reales del triángulo   que tienen el mismo color. Por tanto existen por lo menos dos caminos diferentes desde la raíz del árbol hasta los nodos terminales que tienen la misma secuencia de colores probando así por contra reciproca que si existe un 2-coloreo que distingue diferentes rutas,   puede ser triángulo coloreado.

Ahora supongamos que   puede ser triángulo coloreado. Coloreamos el árbol binario de tal forma que desde la raíz hasta las hojas cada camino tenga una secuencia de colores diferente. A las aristas reales, como se había dicho antes se colorean de la misma forma que en el grafo   y por último las aristas que conectan los nodos-triángulos con las aristas reales como habíamos mencionado antes sin importar como se asignen los colores siempre habrán dos con el mismo color, las aristas con el mismo color serán aquellas que van a aristas reales con colores diferentes (que siempre existen por la hipótesis). Así se ha coloreado lo que llevamos de   de tal forma que dos caminos diferentes siempre tengan secuencias de colores diferentes.

Ahora completamos  . Del árbol antes creado generamos   copias, todas conectadas a las aristas reales por las hojas de la misma forma que el primer árbol. De cada uno de los nodos finales de las aristas reales salen tres aristas hacia tres nodos cada uno de estos nodos que hacen parte de un grafo bipartito completo   cada trío de nodos representa un nivel, de estos hacemos   niveles. Finalmente cada uno de los nodos del último nivel se les conecta con las raíces de los árboles creados anteriormente.

 
Grafo con apenas una copia de las cinco que se deben generar.

Ahora vamos a probar que   puede ser triángulo coloreado si y solo si   puede ser 2-coloreado en sus aristas de tal forma que sea parcialmente observable.
Si   es un grafo triángulo coloreable. Coloreamos   de la siguiente manera: Las estructuras de árbol, las aristas que salen de los nodos y las aristas reales las coloreamos como se había hecho anteriormente.

Las que quedan se colorean de la siguiente forma: Un color   para los que salen de los nodos finales de las aristas reales y los que entran en las raices de los árboles. Para las demás, las aristas que conforman los niveles bipartitos, se colorean del color   que queda.

 
Grafo finalmente generado.

Si en un recorrido se reportan   aristas del color   y luego una de color   sabemos que estamos en una raíz de una árbol pero no en cuál, igual si se sigue un camino y hasta una arista real, se sabrá exactamente cuál es, por eso el grafo   es parcialmente observable.

Si   no es triángulo coloreable para cualquier coloreo de   existe un triángulo monocromático digamos  . Si consideremos en cada uno de los árboles los caminos que van desde la raíz hasta el nodo que representa   cada camino representa una secuencia de colores como hay a lo más   de tales secuencias y   árboles por principio del palomar habrá un secuencia que se repita en dos caminos diferentes lo que permite concluir que si completamos los ciclos pasa que existen dos ciclos diferentes con la misma secuencia de colores y hace que   no sea parcialmente observable.