Your SlideShare is downloading. ×
Grafos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Grafos

2,153
views

Published on


0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,153
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
78
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Integrantes:Artemio Sequera C.I. 25.571.367 Informatica (Nocturno) Enero 2012
  • 2. GrafosEn la figura, V = { a, b, c, d, e, f }, y A = { ab, ac, ae, bc, bd, df, ef }.Un grafo es una pareja de conjuntos G = (V,A), donde V es el conjunto de vértices, y A es el conjuntode aristas, este último es un conjunto de pares de la forma (u,v) tal que Para simplificar,notaremos la arista (a,b) como ab.En teoría de grafos, sólo queda lo esencial del dibujo: la forma de las aristas no son relevantes, sóloimporta a qué vértices están unidas. La posición de los vértices tampoco importa, y se puede variarpara obtener un dibujo más claro.Muchas redes de uso cotidiano pueden ser modeladas con un grafo: una red de carreteras que conectaciudades, una red eléctrica o la red de drenaje de una ciudad.
  • 3. Representación de grafosLista de incidencia - Las aristas son representadas con un vector de pares (ordenados, si el grafo esdirigido), donde cada par representa una de las aristas.Lista de adyacencia - Cada vértice tiene una lista de vértices los cuales son adyacentes a él. Estocausa redundancia en un grafo no dirigido (ya que A existe en la lista de adyacencia de B y viceversa),pero las búsquedas son más rápidas, al costo de almacenamiento extra.En esta estructura de datos la idea es asociar a cada vértice i del grafo una lista que contenga todosaquellos vértices j que sean adyacentes a él. De esta forma sólo reservará memoria para los arcosadyacentes a i y no para todos los posibles arcos que pudieran tener como origen i. El grafo, por tanto,se representa por medio de un vector de n componentes (si |V|=n) donde cada componente va a seruna lista de adyacencia correspondiente a cada uno de los vértices del grafo. Cada elemento de lalista consta de un campo indicando el vértice adyacente. En caso de que el grafo sea etiquetado,habrá que añadir un segundo campo para mostrar el valor de la etiqueta.
  • 4. Estructuras matriciales:•Matriz de incidencia - El grafo está representado por una matriz de A (aristas) por V (vértices), donde[arista, vértice] contiene la información de la arista (1 - conectado, 0 - no conectado)•Matriz de adyacencia - El grafo está representado por una matriz cuadrada M de tamaño n2, donde nes el número de vértices. Si hay una arista entre un vértice x y un vértice y, entonces el elemento mx,yes 1, de lo contrario, es 0.Las representaciones de grafos más habituales están basadas en matrices de adyacencia y listas deadyacencia. En este ejercicio se pretende representar distintos grafos utilizando tanto matrices comolistas de adyacencia.
  • 5. Grafo EulerianoUn grafo euleriano G es aleatoriamente trazable desde un vértice v si cualquier recorrido sin aristasrepetidas que empieza en v puede prolongarse hasta obtener un recorrido euleriano cerrado.− Comprobar que el grafo de la figura es aleatoriamente trazable desde el vértice central, pero no loes desde ninguno de los restantes vértices.− Dar un ejemplo de un grafo euleriano que no sea aleatoriamente trazable desde ninguno de susvértices.− Dar un ejemplo de grafo euleriano que sea aleatoriamente trazable desde todos sus vértices.− Demostrar que el grafo euleriano G es aleatoriamente trazable desde v si y sólo si v pertenece atodos los ciclos de G Grafo hamiltonianoEs un camino que pasa por cada vértice exactamente una vez. Un grafo que contiene un caminohamiltoniano se denomina un ciclo hamiltoniano o circuito hamiltoniano si es un ciclo que pasa porcada vértice exactamente una vez (excepto el vértice del que parte y al cual llega). Un grafo quecontiene un ciclo hamiltoniano se dice grafo hamiltoniano.Estos conceptos se pueden extender para los grafos dirigidos.
  • 6. ArbolesEn teoría de grafos, un árbol es un grafo en el que cualesquiera dos vértices están conectados porexactamente un camino. Un bosque es una unión disjunta de árboles. Un árbol a veces recibe elnombre de árbol libre.Un árbol es un grafo simple unidireccional G que satisface alguna de las siguientes condicionesequivalentes:- G es conexo y no tiene ciclos simples.- G no tiene ciclos simples y, si se añade alguna arista se forma un ciclo simple.- G es conexo y si se le quita alguna arista deja de ser conexo.- G es conexo y el grafo completo de 3 vértices K3 no es un menor de G.- Dos vértices cualquiera de G están conectados por un único camino simple.Si G tiene muchos vértices, n, entonces las definiciones anteriores son también equivalentes acualquiera de las siguientes condiciones:- G es conexo y tiene n − 1 aristas.- G no tiene aristas simples y tiene n − 1 aristas.- La cantidad de hojas de un árbol siempre es mayor o igual a la mitad de la totalidad de los nodos.
  • 7. Un grafo unidireccional simple G es un bosque si no tiene ciclos simples.Un árbol dirigido es un grafo dirigido que sería un árbol si no se consideraran las direcciones de lasaristas. Algunos autores restringen la frase al caso en el que todos las aristas se dirigen a un vérticeparticular, o todas sus direcciones parten de un vértice particular.Un árbol recibe el nombre de árbol con raíz si cada vértice ha sido designado raíz, en cuyo caso lasaristas tienen una orientación natural hacia o desde la raíz. Los árboles con raíz, a menudo conestructuras adicionales como orden de los vecinos de cada vértice, son una estructura clave eninformática; véase árbol (programación).
  • 8. AplicacionesGracias a la teoría de grafos se pueden resolver diversos problemas como por ejemplo la síntesis decircuitos secuenciales, contadores o sistemas de apertura. Se utiliza para diferentes áreas porejemplo, Dibujo computacional, en toda las áreas de Ingeniería.Los grafos se utilizan también para modelar trayectos como el de una línea de autobús a través de lascalles de una ciudad, en el que podemos obtener caminos óptimos para el trayecto aplicando diversosalgoritmos como puede ser el algoritmo de Floyd.Para la administración de proyectos, utilizamos técnicas como PERT en las que se modelan losmismos utilizando grafos y optimizando los tiempos para concretar los mismos.La teoría de grafos también ha servido de inspiración para las ciencias sociales, en especial paradesarrollar un concepto no metafórico de red social que sustituye los nodos por los actores sociales yverifica la posición, centralidad e importancia de cada actor dentro de la red. Esta medida permitecuantificar y abstraer relaciones complejas, de manera que la estructura social puede representarsegráficamente. Por ejemplo, una red social puede representar la estructura de poder dentro de unasociedad al identificar los vínculos (aristas), su dirección e intensidad y da idea de la manera en que elpoder se transmite y a quiénes.Los grafos son importantes en el estudio de la biología y hábitat. El vértice representa un hábitat y lasaristas (o "edges" en inglés) representa los senderos de los animales o las migraciónes. Con estainformación, los científicos pueden entender cómo esto puede cambiar o afectar a las especies en suhábitat.