Un grafo es un conjunto, no vacío, de objetos llamados vértices (o nodos) y una selección de pares de vértices, llamados aristas que pueden ser orientados o no.

. Mapa de Königsberg en la época de Leonhard Euler. que muestra dónde se encontraban los siete puentes (en verde claro) y las ramas del río (en celeste).La teoría de grafos tiene su origen en el problema de los siete puentes de Königsberg resuelto por Leonhard Euler.

Leonhard Euler (1707 .1783) .

Más tarde.  La enumeración de isómeros de hidrocarburos.  Etc. otros problemas influyeron en el desarrollo de la teoría de grafos como:  El estudio de las redes eléctricas. .

y consta de vértices y de aristas que reúnen algunos de ellos.Dibujar un grafo para resolver un problema es un reflejo muy común. . que no precisa conocimientos matemáticos. Un grafo se parece a la figura siguiente.

Estos cambios se llaman: . la posición de los vértices tampoco. sólo se queda lo esencial del dibujo: la forma de las aristas no son relevantes. y se puede variar para obtener un grafo más claro. y hasta sus nombres se pueden cambiar.En la teoría de los grafos. sólo importan sus extremidades (o cabos).

.Un conjunto de vértices y de aristas de forma tal que cada arista se asocia a un par de vértices.

que “a” y “b” son incidentes en “e”. Si “G” es un grafo con vértices “V” y aristas “E”. que es incidente en “a” y “b” y viceversa. se dice. Y por lo tanto que “a” y “b” son vértices adyacentes en “e”. entonces .Una arista “e” en un grafo asociada a vértices “a” y “b”.

2). 3. b. (1. 4). (2. (4. 2. (5. (5. (3. 4). 5). i } Aristas G = { (1. 2). 1)} Grafo . h. 3). 5). e. 3). 4. 5} Vértices E = {a. g. f. (2. (1.a h f e g b d i c V = {1. c. d.

.

Ejemplo: las aristas a2 y a3 están asociadas al mismo par de vértices. Es decir: a2 = (V1.). ejemplo: a6 = (v5. v5). Lazo: Es una arista incidente en un sólo vértice. V3). V3) y a3 = (V1. Aristas paralelas Aristas paralelas. Cuando dos o más aristas están asociadas con el mismo par de vértices. .

Vértice aislado: El vértice que no es incidente en alguna arista .

Grado o valencia de un vértice “v”: Es el número de aristas incidentes en “v”. V1 3 V2 3 V3 5 V4 1 V5 3 .

Subgrafos: Parte de un grafo. algunos subgrafos de este grafo serían los siguientes: .

.

Grafo dirigido. tal que cada arista se asocia a un par ordenado de vértices. Llamado también dígrafo tienen un conjunto de vértices V (nodos) y un conjunto de aristas E (arcos o lados). De modo que para cualquier par de nodos existe al menos un camino que los une . Ejemplo: Grafo no dirigido. Tienen un conjunto de aristas E (arcos o lados). tal que cada arista se asocia a un par no ordenado de vértices.

. Una etiqueta puede ser un nombre. ponderado ó etiquetado Un grafo es pesado cuando sus aristas contienen datos (etiquetas). También a este grafo se le denomina red de actividades.Grafo pesado. y el número asociado al arco se le denomina factor de peso. costo ó un valor de cualquier tipo de dato.

F. C. D. Por ejemplo de la ciudad A a la ciudad H hay 10 kilómetros de distancia.Si A. . B. G. E . H (los vértices ) fueran ciudades. entonces los números serían ponderaciones que podrían indicar los kilómetros que existen de una ciudad a otra o tal vez lo que cuesta un pasaje de una ciudad a otra.

.Grafo simple: Es un grafo que no tiene lazos ni aristas paralelas.

.Grafos Isomorfos: Dos grafos son isomorfos cuando existe una correspondencia biunívoca (uno a uno). entre sus vértices de tal forma que dos de estos quedan unidos por una arista en común.

Grafo nulo: Se dice que un grafo es nulo cuando los vértices que lo componen no están conectados. . esto es. que son vértices aislados.

Grafo regular. Aquel con el mismo grado en todos los vértices. Si ese grado es k lo llamaremos k-regular.

Grafo bipartito: Es aquel con cuyos vértices pueden formarse dos conjuntos disjuntos de Un grafo G es bipartito si puede expresarse como modo que no haya adyacencias entre vértices pertenecientes al mismo conjunto.
(es decir, sus vértices son la unión de dos grupos de vértices), bajo las siguientes condiciones:

V1 y V2 son disjuntos y no vacíos. Cada arista de A une un vértice de V1 con uno de V2. No existen aristas uniendo dos elementos de V1; análogamente para V2.

Grafo completo: Aquel con una arista entre cada par de vértices. Es decir desde cualquier vértice podemos encontrar un camino hacia otro vértice con solo recorrer una arista.

el icosaedro. el octaedro. el cubo.Grafos Platónicos: Son los Grafos formados por los vértices y aristas de sólidos regulares (Sólidos Platónicos). . el dodecaedro. como el tetraedro.. etc.

Un grafo se puede definir como conexo si cualquier vértice V pertenece al conjunto de vértices y es alcanzable por algún otro.Grafos conexos. .

un vértice y llevan a otro vértice Aquí tenemos que un camino que va de: La longitud de este camino seria 2 “A” a “E” seria (a. e) . d.Longitud Camino: Es deun camino: conjunto Es el de número vértices deyarcos aristas o aristas que parten en ese de camino.

f.Ciclo Camino simple: simple: Es un Es camino cuando simple todos sus de longitud vértices.e.d.a) seria el camino de “A” a “B”= (a.f. vértice.d.b) . por lo excepto menos de taluno vezque el primero empieza yy el termina último.e. Un Unejemplo ejemplode seria esto (a. en son el mismo distintos.c.

Llamaremos camino euleriano a un camino que contiene a todas las aristas del grafo. Teorema Sea G un grafo conexo G es euleriano ⇔ Todos los vértices de G tienen grado par. apareciendo cada una exactamente una vez. .

.Grafo cíclico: Se dice que un grafo es cíclico cuando contiene por lo menos un ciclo. Un ciclo hamiltoniano tiene además que recorrer todos los vértices exactamente una vez (excepto el vértice del que parte y al cual llega).

Ciclo Hamiltoniano Ciclo Euleriano .

.Grafo acíclico: Se dice que un grafo es acíclico cuando no contiene ciclos.

es el número de arcos o aristas que empiezan en v.Grado de salida. Grado de entrada. El grado de salida de un nodo v de un grafo g. es el número de aristas que terminan en v. a b c d e 2 a 2 3 b 3 3 c 3 2 d 2 2 e 2 . El grado de entrada de un nodo v de un grafo g.

.

num2 Es el seguimiento de pasos al realizar alguna tarea.INICIO num1. r r= num1 + num2 FIN .

. y otra si es falsa. Esta alternativa se realiza con la sentencia IF-THEN-ELSE.Dado que una condición produce un valor verdadero o falso. se necesita una sentencia de control que ejecute determinada sentencia si la condición es verdadera .

Aquí las palabras do y while sirven también como delimitadores de bloque. .La acción de do-while es repetir una serie de instrucciones hasta que se cumpla una determinada condición.

La sentencia de selección múltiple se utiliza para ejecutar distintas sentencias en función de los distintos valores que pueda tomar una expresión. .

.Los algoritmos de búsqueda desempañan un trabajo importante en la teoría de grafos particularmente esta ligada a la programación de objetos. Básicamente estos términos se aplican en áreas estratégicas en las matemáticas y desempeñan un juego muy importante tanto en los grafos como en los árboles.

Su manera de funcionar se basa en ir expandiendo cada una de los nodos que va localizando. . Cuando ya no quedan más nodos por visitar en este camino. de manera recursiva. de tal manera que comienza el mismo proceso con cada uno de los hermanos del nodo ya procesado. recorriendo todos los nodos de un camino concreto. regresa hacia atrás.Un recorrido en profundidad es un algoritmo que permite recorrer todos los nodos de un grafo o árbol de manera ordenada. pero no uniforme.

se vuelve atrás en busca de caminos alternativos. Cuando ya no puede avanzarse más sobre el camino elegido.Recorrido en profundidad: el recorrido en profundidad trata de buscar los caminos que parten desde el nodo de salida hasta que ya no es posible avanzar más. que no se estudiaron previamente. .

Intuitivamente. que expande y examina todos los nodos de un árbol sistemáticamente para buscar una solución. BEA es un algoritmo de búsqueda sin información. se comienza en la raíz (eligiendo algún nodo como elemento raíz en el caso de un grafo) y se exploran todos los vecinos de este nodo. . y así hasta que se recorra todo el árbol. Búsqueda en anchura es un algoritmo para recorrer o buscar elementos en un grafo (usado frecuentemente sobre árboles).En Ciencias de la computación. Formalmente. A continuación para cada uno de los vecinos se exploran sus respectivos vecinos adyacentes.

. en niveles. a partir de un nodo dado. después los que están a dos arcos de distancia. y así sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida. es decir.Recorrido en anchura: El recorrido en anchura supone recorrer el grafo. primero los que están a una distancia de un arco del nodo de salida.

.

D B C D E F NODOS TERMINALES U HOJAS NODOS TERMINALES U SON SON HIJOS DE A L HOJAS K HERMANOS G H I J M .C.RAIZ PRINCIPAL A PADRE DE B.

A P R L O O F N U G N I D T I U D D A = D 4 = 5 B C D E F NODOS G H INTERNOS K L I J PROFUNDIDAD LONGITUD ES EL ES EL NUMERO NUMERO DE DE ARISTAS NODOS NODOS RECORRIDOS RECORRIDAS EN EL CAMINO DEL INTERNOS PRIMER AL ULTIMO NODO M .

o viceversa.Un árbol binario es uno con raíz en el cual cada vértice tiene un hijo a la derecha o un hijo a la izquierda. o bien ningún hijo .

o bien ningún hijo. .Se dice que un árbol binario es completo si: Cada vértice tiene un hijo a la derecha y uno a la izquierda.

. entonces T tiene i + 1 vértices terminales y 2i + 1 vértices en total.Teorema: Si T es un árbol binario completo con i vértices internos.

Es un árbol binario T donde se han asociado datos a los vértices. Estos datos se ingresaran de modo que: El primer dato formara la raíz principal El siguiente dato se analizara si es que la raiz se ubicara hacia el lado izquierdo. sino lo es (es mayor) al lado derecho. . El siguiente dato se analizara con la siguiente raiz de modo que cada raiz puede tener como maximo dos hijos.

38.90.3.81.29. .5.88.46.27.92.33.69.15.50.De los siguientes datos ordenar en un árbol binario: 55.29.75.

Hay tres maneras de recorrer un árbol: en preorden. posorden. Cada una de ellas tiene una secuencia distinta para analizar el árbol como se puede ver a continuación: . orden.

PREORDEN Visitar la raíz. Recorrido el subarbol izquierdo Recorrido el subarbol derecho .

ORDEN Recorrer el subarbol izquierdo Visitar la raiz. Recorrer el subarbol derecho .

Recorrer el subarbol derecho .POSORDEN Recorrer el subarbol izquierdo. . Examinar la raíz.

.

También nos ayuda a maximizar este flujo de manera eficiente de forma tal que se aprovechen al máximo los recursos. creando nuevas vías o eliminando algunas antiguas. etc. . el cual tiene muchas aplicaciones. una red informática. por ejemplo el flujo vial en una ciudad.La maximización de flujos es un problema típico de la Investigación de Operaciones. El Modelo de Redes es un método o secuencia el cual nos ayuda a tomar una decisión acertada que podría ser mejorar o dar mayor aprovechamiento a los flujos a vías donde que tengan mas capacidad. una red de aguas negras.

Una Red de Transporte es una grafica dirigida. simple. Este es un ejemplo de una red que parte de un punto a que es un Muelle y llega a un punto z que es una refinería. . •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 no negativo. con pesos y que debe cumplir las siguientes características: •Poseer una fuente o vértice fijo que no tiene aristas de entrada.

Fij ≤ Cij .A 7 3 C S 6 E 4 B 8 •Poseer una fuente o vértice fijo que no tiene aristas de entrada. Sea “G” una red y sea “Cij” la capacidad de la arista dirigida (ij) se •Poseer un sumidero o vértice fijo que no tiene arista de salida dice que un flujo F en G asigna a cada arista dirigida (ij) un numero •El peso Cij de la arista dirigida de i a j llamado capacidad de “ij” no negativo Fij tal que debe cumplir: es un numero no negativo.

Donde un nodo fuente produce o introduce en la red cierta cantidad de algún tipo de material. el problema de flujo máximo se enuncia como: ¿cuál es la tasa a la cual se puede transportar el material desde el nodo fuente al nodo sumidero. De igual modo que en redes eléctricas la suma de flujos entrantes a un nodo. sin violar las restricciones de capacidad?. por tanto. excepto para el nodo fuente y el nodo sumidero.Se puede considerar un grafo como una red de flujo. debe ser igual a la suma de los salientes (principio de conservación de energía). Por tanto. Cada arco. . puede considerarse como un conducto que tiene cierta capacidad de flujo. y un nodo sumidero lo consume.

2 •La capacidad residual es la capacidad adicional de flujo que un arco puede llevar cf (u.v) = c(u.v) . el flujo máximo que fluye de la fuente al destino es igual a la capacidad del corte mínimo que separa a la fuente del destino. 3 .Este algoritmo depende de tres conceptos principales: 1 •Un camino de aumento.f(u. es una trayectoria desde el nodo fuente s al nodo sumidero t que puede conducir más flujo.v) •Teorema de Ford-Fulkerson (1962): En cualquier red.

v) f(u. 5 4 2 5 3 8 3 3 4 2 . llevar cf (u. el flujo máximo que fluye de la •Un camino de aumento.v) = c(u.2 13 •Teorema de Ford-Fulkerson (1962): En cualquier red.v) destino. es •La capacidad residual esuna la capacidad fuente al destino es a la capacidad del trayectoria desde el igual nodo fuente s al nodo adicional de flujo que un arco puede corte mínimo que separa a la fuente sumidero t que puede conducir más del flujo.

.La representación gráfica de una PN es importante porque al observar el modelo del sistema en forma gráfica y observar como cambia de un estado a otro puede mantener la atención y dar una perspectiva más clara a quién esté analizando el problema.