Your SlideShare is downloading. ×
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y 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

Aplicaciones de los árboles y grafos

4,516

Published on

DEFINICION DE ARBOLES Y GRAFOS.

DEFINICION DE ARBOLES Y GRAFOS.

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,516
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
122
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. RECORRIDO DE GRAFOS:Recorrer un grafo significa tratar de alcanzar todos los nodos que estén relacionados conuno que llamaremos nodos de salida. Existen básicamente tres técnicas para recorrer ungrafo: el recorrido en anchura, el recorrido en profundidad y recorrido camino más corto.Así, para recorrer un grafo consiste en visitar todos los vértices alcanzables a partir de unodado. Hay tres formas.Recorrido en profundidadRecorrido en anchuraRecorrido camino mas cortoEl algoritmo de recorrido en anchurao BFS, explora todas las ramas o aristas delgrafo de manera que primero se visitan los nodos o vértices más cercanos a un nodoinicial. Para este algoritmo se utiliza Un contador y un vector de enteros para marcar losvértices ya visitados y almacenar el recorrido. El algoritmo BFS requiere también un vectorde cola auxiliar para gestionar los vértices no visitados. En muchos casos es necesarioejecutar este algoritmo empezando en los nodos más alejados del nodo escogido comonodo inicial.BÚSQUEDA ANCHURA (BEA)Se comienza en el (vértice con índice 1) y se marca como vértice activo, a diferencia con la BEPahora se visitan en orden creciente de índice todos los vecinos del vértice activo antes de pasar alsiguiente. Hasta que todos los vértices hayan sido visitados, en cada paso se van visitando enorden creciente de índice todos los vecinos del vértice activo. Cuando se han visitado todos losvecinos del vértice activo, se toma como nuevo vértice activo el primer vértice X visitado despuésdel actual vértice activo en el desarrollo del algoritmo.ALGORITMO BEA:Sea G = (V, A) un grafo conexo, V = V un conjunto de vértices, A un vector de arcosinicialmente vacío y P un vector auxiliar inicialmente vacío:Se introduce el vértice inicial en P y se elimina del conjunto.Mientras V no sea vacío repetir los puntos 3 y 4. En otro caso parar.Se toma el primer elemento de P como vértice activo.Si el vértice activo tiene algún vértice adyacente que se encuentre en V:Se toma el de menor índice.Se inserta en P como último elemento.Se elimina de V.Se inserta en A el arco que le une con el vértice activo.Si el vértice activo no tiene adyacentes se elimina de P.El algoritmo de recorrido en profundidad o DFS, explora las ramas o aristas del grafode manera que primero se visitan los nodos o vértices adyacentes a los visitados másrecientemente. De esta forma se va "profundizando" en el grafo, es decir,alejándose progresivamente del nodo inicial [2].
  • 2. Búsqueda en profundidad (BEP)Se comienza en (vértice con índice 1) que se marcacomo vértice activo. Hasta que todos los vértices hayan sido visitados, en cada paso seavanza al vecino con el menor índice siempre que se pueda, pasando este a ser el vérticeactivo. Cuando todos los vecinos al vértice activo hayan sido visitados, se retrocede alvértice x desde el que se alcanzó el vértice activo y se prosigue siendo ahora X el vérticeactivo.ALGORITMO BEP:Sea G = (V, A) un grafo conexo, V = V un conjunto de vértice, Aun vector de arcos inicialmentevacío y P un vector auxiliar inicialmente vacío:Se introduce el vértice inicial en P y se elimina del conjunto V.Mientras V no sea vacío repetir los puntos 3 y 4. En otro caso parar.Se toma el último elemento de P como vértice activo.Si el vértice activo tiene algún vértice adyacente que se encuentre en V:Se toma el de menor índice.Se inserta en P como último elemento.Se elimina de V.Se inserta en A el arco que le une con el vértice activo.Si el vértice activo no tiene adyacentes se elimina deCaminos más cortosconsiste en encontrar un camino entre dos vértices (o nodos) detal manera que la suma de los pesos de las aristas que lo constituyen es mínima. Losalgoritmos se usa para encontrar una secuencia óptima de opciones para llegar a un ciertoestado final o para establecer límites más bajos en el tiempo, necesario para alcanzar unestado dadoEstos se aplican para encontrar direcciones de forma automática entre localizacionesfísicas, tales como direcciones en mapas callejeros.El problema es también conocido como el problema de los caminos más cortos entre dosnodos, para diferenciarlo de la siguiente generalización:El problema de los caminos más cortos entre todos los pares de vértices, el cual tenemosque encontrar los caminos más cortos entre cada par de vértices (v , v) en el grafo.retraso, y con frecuencia se compara con el problema de los caminos más anchos.
  • 3. APLICACIONES DE LOS ÁRBOLESLos árboles representan las estructuras no lineales y dinámicas de datos más importantes enComputación. Dinámicas porque las estructuras de árbol pueden cambiar durante la ejecución deun programa. No lineales, puesto que a cada elemento del árbol pueden seguirle varioselementos.La definición de árbol es la siguiente: es una estructura jerárquica aplicada sobre una colección deElementos u objetos llamados nodos; uno de los cuales es conocido como raíz. Además se creauna relación o parentesco entre los nodos dando lugar a términos como padre, hijo, hermano,antecesor, sucesor, ancestro, etc. Los árboles tienen una gran variedad de aplicaciones. Porejemplo, se pueden utilizar para representar fórmulas matemáticas, para organizaradecuadamente la información, para construir un árbol genealógico, en la toma de decisiones,para el análisis de circuitos eléctricos y para numerar los capítulos y secciones de un libro.A los árboles ordenados de grado dos se les conocen como árboles binarios ya que cada nodo delárbol no tendrá más de dos descendientes directos. Las aplicaciones de los árboles binarios sonmuy variadas ya que se les puede utilizar para representar una estructura en la cual es posibletomar decisiones con dos opciones en distintos puntos.A continuación podremos observar un caso típico del uso de árboles.
  • 4. Ejemplo de un árbolCaracterísticas y propiedades de los árboles.Las siguientes son las características y propiedades más importantes de los árboles en general:a) Todo árbol que no es vacío, tiene un único nodo raíz.b) Un nodo X es descendiente directo de un nodo Y, si el nodo X es apuntado por el nodo Y. enEste caso es común utilizar la expresión X es hijo de Y.c) Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y. en es caso esComún utilizar la expresión X es padre de Y.d) Se dice que todos los nodos que son descendientes directos (hijos) de un mismo nodo (padre),Son hermanos.
  • 5. e) Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de terminal u hoja.f) Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de interior.g) Grado es el número de descendientes directos de un determinado nodo. Grado del árbol es elMáximo grado de todos los nodos del árbol, es decir, el grado más alto entre todos los nodos.h) Nivel es el número de arcos que deben ser recorridos para llegar a un determinado nodo. PorDefinición la raíz tiene nivel 1. i) Altura del árbol es el máximo número de niveles de todos los nodos del árbol.
  • 6. APLICACIÓN DE LOS GRAFOSCONCEPTO GRAFOSUn grafo, G, es un par ordenado de V y A, donde V es el conjunto de vértices o nodos del grafo y AEs un conjunto de pares de vértices, a estos también se les llama arcos o ejes del grafo. Un vérticePuede tener 0 o más aristas, pero toda arista debe unir exactamente a dos vértices. Los grafosRepresentan conjuntos de objetos que no tienen restricción de relación entre ellos. Un grafopuedeRepresentar varias cosas de la realidad cotidiana, tales como mapas de carreteras, vías férreas,Circuitos eléctricos, etc.AristasSon las líneas con las que se unen las aristas de un grafo y con la que se construyen tambiénCaminos. Si la arista carece de dirección se denota indistintamente {a, b} o {b, a}, siendo a y b losVértices que une. Si {a ,b} es una arista, a los vértices a y b se les llama sus extremos.• Aristas Adyacentes: Se dice que dos aristas son adyacentes si convergen en el mismo vértice.• Aristas Paralelas: Se dice que dos aristas son paralelas si vértice inicial y el final son el mismo.• Aristas Cíclicas: Arista que parte de un vértice para entrar en el mismo.• Cruce: Son dos aristas que cruzan en un punto.VérticesSon los puntos o nodos con los que esta conformado un grafo. Llamaremos grado de un vértice alNúmero de aristas de las que es extremo. Se dice que un vértice es `par o `impar según lo sea suGrado.• Vértices Adyacentes: si tenemos un par de vértices de un grafo (U, V) y si tenemos un arista queLos une, entonces U y V son vértices adyacentes y se dice que U es el vértice inicial y V elVértice adyacente.
  • 7. • Vértice Aislado: Es un vértice de grado cero.• Vértice Terminal: Es un vértice de grado 1.La mayor parte de los problemas de la teoría de grafo pueden ser aplicados a:1. Problemas de Existencia• El problema de los siete puentes de Königsberg: Existe una trayectoria cerrada que cruce cadauno de los siete puentes exactamente una vez?• El problema del Caballo de Ajedrez: Existe una secuencia de los movimientos del caballo talque visite cada cuadrado de un tablero de ajedrez exactamente una vez y regresando a laposición de partida?• El problema de los Cuatro Colores: Puede colorearse todo mapa con cuatro colores de modo quelos países vecinos tengan colores diferentes?2. Problemas de Construcción• Determinar si un grafo dado es euleriano y construir un camino euleriano (algoritmo de Fleury).3. Problemas de Enumeración• Grafos etiquetados.• Diágrafos etiquetados.• Árboles etiquetados.4. Problemas de Optimización• Problema de encontrar el camino mínimo entre dos vértices en dígrafo pesado.• Problema del viajante de comercio
  • 8. Otra operación importante en el árbol es el recorrido el mismo. El recorrido se puede realizar detres formas diferentes:• Pre orden: Primero el nodo raíz, luego el subárbol izquierdo y a continuación el subárbolderecho.• In orden: Primero el subárbol izquierdo, luego la raíz y a continuación el subárbol derecho.• Postorden: Primero el subárbol izquierdo, luego el subárbol derecho y a continuación la raíz.
  • 9. Redes (teorema de flujo máximo, teorema deflujo mínimo, pareos y redes de Petri) Definición: Una Red de Transporte es una gráfica dirigida, simple,con pesos y que debe cumplir las siguientes:· Poseer una fuente o vértice fijo que no tiene aristas de entrada.· Poseer un sumidero o vértice fijo que no tiene arista de salida· El peso Cij de la arista dirigida de i a j llamado capacidad de “ij” es un numero nonegativo.Una red de transporte es una gráfica dirigida, simple con pesos que satisface:a) Un vértice fijo, designado como el origen o fuente, no tiene aristas de entrada.b) Un vértice, designado como destino o sumidero, no tiene aristas salientes.c) El peso Cij de la arista dirigida (i, j) llamada capacidad de (i, j) es un numero nonegativo.Flujo máximo En una red G, el flujo máximo es un flujo máximo. Generalmente existen varios flujoscon el mismo valor máximo. Para encontrar el flujo máximo consideraremos un flujoinicial en cada arista igual a cero, después se determina un camino específico de la fuenteal sumidero y se incrementa el flujo.Si una arista esta dirigida hacia la fuente decimos que esta arista esta dirigida en formaimpropia, en caso contrario esta dirigida en forma propia.Si se determina un camino P de la fuente al sumidero en donde cada arista de P estaorientada en forma propia y el flujo en cada arista es menor que la capacidad de la arista,es posible aumentar el valor de flujo.Es posible incrementar el flujo en ciertos caminos de la fuente al sumidero que tenga
  • 10. aristas orientadas en forma impropia y propia. Sea P un camino de “a” a “z” y sea “x” unvértice en P que no sea “a” ni ”z” Ambas aristas están orientadas en forma propia, en este caso, si incrementamos el flujo en ", el flujo en la entrada en x seguirá siendo igual al flujo de salida de x. Si incrementamos el flujo en e2 en ", debemos disminuir el flujo en e1 en " de modo que el flujo de entrada en x siga siendo igual al flujo de salida en x. Es análogo en el caso b Disminuimos el flujo en ambas aristas en ". En cada caso las asignaciones resultantes de las aristas dan como resultado un flujo.Para realizar estas alteraciones debemos tener un flujo menor que la capacidad en unaarista orientada en forma propia y un flujo distinto de cero en una arista orientada enforma impropia.Teorema 2:Sea P un camino de “a” a ”z” en una red G tal que: Para cada arista (i,j) de P, orientada en forma propia.Fij<Cij Para cada arista (i,j) de P, orientada en forma impropia0 <FijSe defineFij =Si no existieran caminos que concuerden con el teorema 2, el flujo es máximo,entonces se considera el algoritmo: Iniciar con un flujo Buscar un camino que satisfaga con las condiciones del teorema 2 Si no existe el camino el flujo es máximo. Se incrementa el flujo en ", y se regresa a línea 2.A dicho algoritmo se le llama Algoritmo etiquetado.Ejemplo del Flujo Máximo.-
  • 11. Redes de Petri Una red de Petri es un grafo dirigido bipartito, con un estado inicial, llamado marcacióninicial. Los dos componentes principales de la red de Petri son los sitios (también conocidoscomo estados) y las transiciones. Gráficamente, los sitios son dibujados como círculos y lastransiciones como barras o rectángulos. Las aristas del grafo son conocidas como arcos. Estostienen un peso específico, el cual es indicado por un número entero positivo, y van de sitio atransición y viceversa. Por simplicidad, el peso de los arcos no se indica cuando éste es igual a 1.Un arco que esté etiquetado con k puede ser interpretado como k arcos paralelos.Ejemplo de una Red de PetriEs una grafica dirigida G = (V, E) donde V = P U T y P "T = Ø, cualquier arista e en E es incidente enun miembro de P y un miembro de T, el conjunto P es el conjunto de lugares y el conjunto T es enconjunto de Transiciones.Un marcado de una Red de Petri asigna a cada lugar un entero no negativo, una red de Petri conun marcado es una Red de Petri Marcada (o simplemente una Red de Petri).Con un marcado se asigna al valor no negativo n al lugar p, decimos que existen n elementos en p,mediante los elementos a representar son los puntos.
  • 12. Los lugares representan condiciones, las transiciones representan eventos, y la presencia de almenos un elemento en un lugar (condición) indica que tal condición se cumple.

×