Académique Documents
Professionnel Documents
Culture Documents
Se utiliza para representar circuitos, redes, etc. Los grafos son muy
utilizados en computación, ya que permiten resolver problemas muy
complejos.
Terminología de grafos:
Vértice : Nodo.
Enlace : Conexión entre dos vértices (nodos).
Adyacencia : Se dice que dos vértices son adyacentes si entre ellos hay un
enlace directo.
Vecindad : Conjunto de vértices adyacentes a otro.
Camino : Conjunto de vértices que hay que recorrer para llegar desde un nodo
origen hasta un nodo destino.
Grafo conectado : Aquél que tiene camino directo entre todos los nodos.
Grafo dirigido : Aquél cuyos enlaces son unidireccionales e indican hacia donde
están dirigidos.
Gafo con pesos : Aquél cuyos enlaces tienen asociado un valor. En general en
este tipo de grafos no suele tener sentido que un nodo se apunte a sí mismo
porque el coste de este enlace sería nulo.
Grafos aplicados en la
informática.
En estructura de datos.
Matriz de adyacencias: se asocia cada fila y cada columna a cada nodo del
grafo, siendo los elementos de la matriz la relación entre los mismos, tomando
los valores de 1 si existe la arista y 0 en caso contrario.
Lista de adyacencias: se asocia a cada nodo del grafo una lista que
contenga todos aquellos nodos que sean adyacentes a él.
Búsqueda en profundidad.
Se implementa de forma recursiva, aunque también puede realizarse con una pila.
Se utiliza un array val para almacenar el orden en que fueron explorados los
vértices. Para ello se incrementa una variable global id (inicializada a 0) cada vez
que se visita un nuevo vértice y se almacena id en la entrada del
array val correspondiente al vértice que se está explorando.
Búsqueda en amplitud o anchura
La diferencia fundamental respecto a la búsqueda en profundidad es el cambio de
estructura de datos: una cola en lugar de una pila. En esta implementación, la
función del array val y la variable id es la misma que en el método anterior.
El ejemplo aplicado en un grupo de Facebook , donde el nodo raíz o principal seria el creador del
grupo y los demás miembros del grupo serían los nodos que complementan el grafo , el grafo
podría ser no dirigido y también se podría decir que es un grafo completo ya que todos los
miembros están unidos , ya que cualquier miembro puede dar un comentario y ser retroalimentado.
Uso de Grafos en Circuitos
Las gráficas se utilizan al diseñar circuitos integrados impresos en chips de silicón, que son
usados en dispositivos electrónicos —ésta es una de las aplicaciones más importantes de
lo que conocemos como gráficas planas— que deben ser diseñados de tal modo que
las porciones conductoras no se crucen entre sí.
Uso de Grafos en Mapas digitales
Neo4j usa grafos para representar datos y las relaciones entre ellos.
Dentro de estas representaciones gráficas, tenemos varios tipos de grafos:
- Grafos no dirigidos: los nodos y las relaciones son intercambiables, su relación
se puede interpretar en cualquier sentido. Las relaciones de amistad en la red
social Facebook, por ejemplo, son de este tipo.
- Grafos con peso: en este tipo de gráficas las relaciones entre nodos tienen
algún tipo de valoración numérica. Eso permite luego hacer operaciones.
- Grafos con etiquetas: estos grafos llevan incorporadas etiquetas que pueden
definir los distintos vértices y también las relaciones entre ellos. En Facebook
podríamos tener nodos definidos por términos como ‘amigo’ o ‘compañero de
trabajo’ y la relaciones como ‘amigo de’ o ‘socio de’.
- Grafos de propiedad: es un grafo con peso, con etiquetas y donde podemos
asignar propiedades tanto a nodos como relaciones (por ejemplo, cuestiones
como nombre, edad, país de residencia, nacimiento). Es el más complejo.
Conclusiones
El uso de los grafos es muy cotidiano y en la informática aun mas, solo que no estamos
acostumbrados a verlo así, sin embargo si analizamos cada sistema, aplicación, paginas,
etc. Que usamos podremos darnos cuenta de como se relacionan las situaciones y el uso
e interconexiones que podrían representar el uso de grafos.
Tan simple como pensar en Facebook;
Tu perfil