You are on page 1of 86
8.1 Introduccién a los grafos Grafos brisicas las introdujo el gran matemético suizo Leonhard Euler en el siglo xvi. Euler utilize los gratos para resolver el fumoso problema de los puentes de Kénigsberg, que estudiare- ios en este capitulo, Los grafos se emplean para resolver problemas de diversas dreas, Pueden utilizarse, por ejem plo, para determinar si se puede o no implementar un circuito sobre una placa de una sola capa, Podemos diferenciar dos compuestos quiiicos que tengan la misma formula molecular, pero dis. ‘inva estructura por medio de grafos. También se pueden usar los grafos para estudiar la estruct 1a de la Red de Internet. Poderos determinar si dos ordenadores estin conectados o no por un en ace empleande modelos de grafos para redes informaticas. Podemos utilizar grafos ponderados (esto és, grafos a cada una de cuyas aristas sé Tes asigna in peso) para resolver problemas como ef de hallar el camino més corto entre dos ciudad en una red de transpories. También se pueden tit lizar Tos grafos para programar exmenes ¥ para asignar canales a as emisoras de television I a teorfa de grafos es una disciplina antigua con muchas aplicaciones moxiernas. Sus ideas Los grafos son estructuras discretas que constan de vértices y de aristas que coneclan entre sf esos vertices, Hay varios tipos distintos de grafos, que se diferencian entre sf por el tipo yc aristas que pueden conectar cada par de vértices. Los problemas que se pueden resolver con tée- nicas de la teoria de grafos aparecen en précticamente cualquier disciplina, Veremos ejemplos de emo uailizar los grafos como modelos en diversas dreas. Por ejemplo, veremos cémo se usan los zgrafos para representar la competicin de especies distntas en un misino nicho ecolégico, como cemplear grafos para représentar quién influye sobre quién en una organizacién y cémo usar grafos ppara representar los resultados de un tomico deportivo. Mas adelante veremos cémo utilizar los gra- fos para resolver ottos muchos tipos de problemas, como el de calcular el nimero de combina- clones diferentes de-vuelos entre dos ciudades de una red aérea, ef de determinar si es posible o no recorrer todas las calles de una ciudad sin pasar dos veves por la misma calle y el de hallar el nd- mero de colores que se necesitan para colorear las regiones de un mapa, TIPOS DE GRAFOS Vamos a presentar los diferentes tipos de grafos mostrafido Ia forma en que se puede utilizar cada uno de ellos para modelar una red informatica. Supongamos que una red consta de orde- nadores y de lineas telef@nicas que conectan esos ordenadores, Podemos representar cada or- denador mediante un punto y cada linea telefénica mediante un segmento, tal y como se mues- traen la Figura t n a red de la Figura | hay ato sumo una tinea telef@nica entre cada dos ordenadores, cada linea opera en ambas direcciones, y ningiin ordenador tiene una linea telefnica que lo conecte consigo mismo, Por tanto, es red se puede modelar usando un grafo simple, quie consta de vér- tices que representan a los ordenadores y de aristas no dirigidas que represcntan a las Lineas te- lefnicas. Cada arista conecta dos vértices distintos y no hay dos aristas que conecten un mismo par de vertices 503 504 Materia dscrtay sus aplicaciones DEFINICION 1 DEFINICION 2 Dex ee Neva York San Prancisen Gis \ Denver Los Angeles Figura 1. Una red informética. Un grafo simple G= (VE) eonsia de V, un conjunto no vaio de vertices, y de E, un conjunio CES ees A estos pares se les lama avisias.. Cuando hay mucho trafico de informacién, puede haber lineas telefénicas miiltiples entre los or- denadores de la red, como se muestra en la Figura 2, Los grafos simples no bastan para modelar cesta situacin, En lugar de grafos simples, emplearemos multigrafos, que constan de vértices ¥ de aristas no dirigidas entre esos vértices, pero admitiendo la existencia de aristas miiltiples entre pa- res de vertices. Todo grafo simple es tn multigrafo. Sin embargo, no todos los multigrafos son gra- fos simples, puesto que en un multigrafo puede haber dos © més aristas conectando un mismo par de vertices. ‘No podemos usar simplemente un par de vértices para especificar la arista de un grafo si hay aristas multiples, Esto hace que la definicién formal de multigrafo sea un poco mis complicada, Un mutigrafo G=(,£) consta de un conjanto V de vertices, un conjunto Ede asta y una funcidn de Hen {i ¥) ve Vou v1-Se dice que saris, ye, son arses miles oparaeassifle))= Ke El lector deberia observar que las aristas multiples en un multigrafo estén asociadas a un mis- mo par de vértices, No obstante, diremos que {1 v) es una arisia del grafo G = (V, £) si hay all ‘menos una atista ¢ con f(e) = {1}. No haremos distinciones entre la arista ¢ y el conjunto (1, ¥} asociado a no ser que la identidad de alguna de las aristas miiltiples en concreto sea impor tante. Una red informatica puede contener una linea telefénica que conecte un ordenador consigo mismo (a efectos de diagndstico, quiza), como se ilustra en la Figura 3. No podemos usar mulli- _grafos para representar estas redes, ya que no se admiten bucles (esto es, aristas que conectan un vértice consigo mismo) en un multigrafo. En lugar de multigrafos, utilizaremos pseudografos, que son mids generales que los multigrafos, ya que una arista de un pseudografo puede conectar un vér- tive consigo mismo. A fin de definir formalmente los pseudografos, necesitamos asociar aristas a conjuntos que — un solo verte. ; Desrt_Nueva York ee Figura 2. Una red informética con lineas miltiples. DEFINICION 3 DEFINICION 4 ICION 5 Grafos 505 Dest Oricigo Nueva York San Francisco poe Denver ashington Los Angeles Figura 3. Una red infotmética con lineas de diagnostic. Un pseudografo G = (VE) consta de un Conjunto V de vértices, un conjunto F de aristas y una funcidufde Een {{u, v} Ju, ve V). ‘Una arista ¢ es un bucle, 0 fazo, si fle) = {u, ul = led we Vo ie a ae Puede que las lineas telefnicas de una red informatica no operen en las dos direcciones, Por ejem- plo, en la Figura 4, el ordenador que esta en Nueva York slo puede recibir datos de otros orde- nadores, pero no puede enviar datos. Otras lineas telefnicas que s{ funcionan en ambas direc- clones se representan por medio de pares de aristas en direcciones opuestas Utilizamos grafos dirigidos (que ya hemos estudiado en cl Capitulo 7) para modelar redes de este tipo. Las aristas de un grafo ditigido son pares ordenadlos. Se admiten los bucles, pares erde- nnados con sus dos elementos iguales, pero no se admiten aristas multiples en la misma direccién ‘entre dos vertices, Recoremos la defini Un grafo dirigido (V, 2) consta de un conjunto V de vérices y de un conjunto £ de aristas, ‘que son pares ordenados de elementos de V. Utilizamos una flecha apuntando desde « hacia v para indicar Ia direccién de ta arista (u,v) Finalmente, puede haber lineas miltiples en la red informatica, de modo que haya varias If nneas unidireccionales desde cada nodo en direccién al ordenador de Nueva York y quizé més de tuna linea de vuelta a cada nodo desde Nueva York, como se muestra en la Figura 5. Utilizaremos ‘multigrafos dirigides, que pueden tener aristas dirigidas miltiples desde un vértice a un segundo vértice (que, eventualmente, puede coincidir con el primero), para representar este tipo de redes. Presentamos a continuacicn la definicién formal de multigrafo dirigido, ‘Un multigrafodirigido G = (V,£) consta de un conjunto Vde vertices, un conjunto F de ais- tas y una funcin fde E en (1, v)|u, ve V), Se dice que las arstas¢, ye, son aristas milt= ples sifle,) =fle). * Deteit evs \e- Los Angeles Figura 4. Una red informética con lineas telefénicas unidireccionales. 506 Matcmitia discretay sus aplicaciones atces enlaces PLOT ces EJEMPLO 2 inaces Chicago Sm Nuevs York Son Francisco Washington Los Angeles Figura 5. Una red informtica con tineas unidireccionales mites, El lector deberia obscrvar que las aristas dirigidas méltiples estén asociadas a un mismo par de vér- tices. No obstante, diremos que (1t,v) ¢s una arista de G = (V’, £) siempre que haya al menos wna atista e con f(e) = (u,¥), No haremos distinciones entre la arstae y el par ondenado (wv) ano ser que Ta identidad de alguna de las aristas maitiples en particular sca importante. La Tabla | resume la terminologia que se emplea para los diferentes tipos de grafos. Util zaremos la palabra grafo para describir grafos con aristas dirigidas o no dirigidas, con o sin bucles ¥yaristas multiples. Emplearemos los términos grafo no dirigido o pseudografo para indicar gra ‘sno dirigidos que pueden tener aristas miltiples y bucles, Siempre usaremos el adjetivo dirigido al referimos a grafos cuyas arstas estén asociadas a pares ordenados. Debido a que el interés por la teorfa de grafos es relativamente reciente, y a que tiene apli caciones en disciplinas muy diversas, en la teoria de grafos se emplean muchas terminologias dis- tintas, Cada vez. que encuentre en sus lecturas alguno de los términos del parrafo anterior, et lec- tor harfa bien en cerciorarse del sentido que se le da exactamente, MODELOS CON GRAFOS, Los grafos se emplean en una gran variedad de modelos. Presentamos aqui unos pocos, escogidos de diversas dreas. Otros se irdn presentando en secciones posteriores, tanto de este capitulo como. de los siguientes. Grafos de solapamiento de nichos en Ecologia Los grafos se emplean en muchos modelos que tienen que ver con las interacciones entre especies animales distintas. Por ejemplo, la competicién entre especies cn un ecosistema puede representarse mediante un grafo de solapamiento de cchos. Cada especie se representa por un vértice. Una arista no dirigida conecta dos vértices si dos especies representadas por esos vértices compiten entre sf (esto es, si algunas de las fuentes de alimento de las que se nutren son las mismas), El grafo de la Figura 6 representa el ecosistema de tun bosque. Vernos en este grafo que las atlas y los mapaches compiten entre si, mientras que los ‘euervos y las musaraftas no To hacen, < Grafos de conocidos Podemos usar modclos de grafos para representa relaciones entre perso- nas. Por ejemplo, podemos usar un grafo para representar el hecho de que dos personas se co- nozcan, Cada pgrsona de un grupo concreto se representa mediante un vértice. Se utiliza una aris- ‘tno dirigida pra conectar dos personas cuando esas dos personas se conocen. En la Figura 7 see ‘muestra un peqetio grafo de conocidos. El grafo que corresponde a toda la poblacién mundial tie- ne ins de 6 miB millones de vértices y, probablemente, ;mas ce un billn de aristas! Seguiremos analizando estos grafos en la SecciGn 8.4. < Tabla 1, Terminologia en teoria de gratos Tipos Aristas {Se admiten aristas miliples | ¢Se adimiven bucles? Grafo simple No dirigidas No No Multigrato No dirigidas Si No Pseudossato No dirigida? Si St Grafo dirigide « Dirigidas No St Maltigrafo dirigido Disigidas Si si Mosarana Gratos 507 Budo Kamlesh Coen hing Psjao carpnter Kis shaguira Figura 6. Un grafo de solapamiento de nichos. Figura 7. Un grafo de conoeidos. EJEMPLO 3 ines EJEMPLO 4 EJEMPLO 5 aces EJEMPLO 6 alas Grafos de influencias Se ha observado en estudios del comportamiento de grupos que ciertas personas pueden influir en la forma en que piensan otras personas. Puede usarse un grafo diri- sido, llamado grafo de influencias, para representar este comportamiento, Cada persona de! gra- Do se representa por un vértice, Hay una arista drigida del vértice a al vértice b si la persona re- presentada por el vértice a influye sobre la persona representada por el vértice b. En la Figura 8 ‘se muestra un ejemplo de grafo de influencias para las personas de un grupo. Deborah puede in- fur sobre Brian, Fred y Linda, pero nadie puede influir en ella. Yvonne y Brian se influyen mu- tuamente < El grafo de Hollywood El grafo de Hollywood representa a los actores como vertices y conecta dos vértices silos actores representaclos por dichos vértices han trabajado juntos en alguna pelicula, Segiin la Internet Movie Database, en noviembre de 2001 el grafo de Hollywood tenia 574.724 vei tices, que representaban a actores que habfan aparecido en 292.609 peliculas, y tenia més de 16 mi- Hones de aristas, Hablaremos de ciertos aspectos del grafo de Hollywood en la Seccion 8.4. Torneos de todos contra todos Un torneo en el que cada equipo se enfrenta exactamente una vez a cada uno de los restantes se Haina torneo de todos contra todos. Estos tomneos se pueden re- presentar usando grafos dirigidos en los que cada equipo se representa mediante un vértice. Notese que (a, b) es una arista si el equipo a vence al equipo b. En la Figura 9 se muestra un grafo de este tipo. Vemos que el Equipo 1 ha salido invicto del tomeo, a diferencia del Equipo 3, que no ha ven- ‘ido a ningén otro equipo. < Grafos de colaboracién Los llamados grafos de colaboracién sirven para modelar la coauto- ria de articulos académicos. En un grafo de colaboraci6n, los vértices representan personas (res- tringidas, quiz, a una cierta comunidad cientfica) y ume arista conecta a dos personas si éstas han escrito conjuntamente un articulo, Se ha estimado que el grafo de colaboracién de las personas que colaboran en articulos de investigacién matemidtica tiene mas de 337.000 vértices y 496.000 aristas. Veremos este grafo con mayor detalle en la Seccién 8.4. < Equipo Equipo 1 2 Linde Brin Eanipy ipo © 3 = hip ” Hatipn Deborah” Fed Yvonne Seer Figura 8 Un grafo de influencias, Figura 9. Un modelo de un tomeo de todos contra todos si Matematica discretay sus aplicaciones 732.555.9876 782.555.1001 4 rsss.484a 25255-1284, 2585-0060 752-555-0011 Oe IE 132-535.6666 732.955.6606 @) » 2 s55.4448 Figura 10. Un grafo de tlamadas. EJEMPLO 7 EJEMPLO 8 es Grafos de llamadas Los grafos se pueden utilizar para representar las llamadas telefénicas he- Chas en una red, por ejemplo en una red telef nica de larga distancia, En particular, puede usarse ‘un multigeafo dirigido para representar lamadas: cada vértice representa un niimero de teléfono y cada arista representa una llamada, La arista que representa una llamada sale del nimero de telé- fono desde el que se hace la Hamada y Wega al niimero de teléfono que la recibe, La Figura 10(a) muestra un pequeiio grafo de lamadas telefnicas que representa siete ni- eros de teléfono. Este grafo muestra, por ejemplo, que se han hecho tres llamadas telefénicas desde el 732-555-1234 al 732-555-9876 y dos en el sentido opuesto, pero que no se ha hecho lla- mada alguna del 732-555-4444 a ninguno de los otros seis ntimeros, salvo al 732-555-0011 Cuando s6lo nos importa si ha habido o no alguna Hamada entre dos ntimeros, empleamos un gra {fo no dirigido tal que una arista conecta dos miimeros de teléfono si se ha hecho alguna Hamada en- tre dichos nimeros. Esta versién del grafo de Hamadas se muestra en la Figura 104). < Los grafos de Ilamadas que representan la actividad telefénica real pueden ser gigantescos. Por ejemplo, un grafo de Hamadas estudiado en AT&T que representaba las Hamadas hechas en un periodo de 20 dias tenfa alrededor de 290 millones de vértices y 4 mil millones de aristas. Habla- emos mis acerca de los grafos de Hamadas en la Seccién 8.4. El grafo dela Red La Red de Internet (en inglés, World Wide Web) se puede representar por medio de un grafo dirigido en el que cada pigina web esta representada por un vértice y en el que ‘una arista comienza en la pagina a y termina en la pagina b si hay un enlace en la pagina a que conduce a la pagina b, Como cada segundo se crean paginas web nuevas y otras desaparecen, cl sgrafo de la Red se encuentra en estado de cambio perpetuo. El grafo de la Red tiene actualmente ms de mil millones de vértices y decenas de miles de millones de aristas. Hay muchas personas estudiando las propiedades de! grafo de la Red para entender mejor la naturaleza de la Red de Tn- {crnet, Explicaremos en el Capitulo 9 emo utilizan los buscadores el grafo de la Red para crear in- dices de paginas web. < Figura 11, Un grafo de precedencia. Grafos $09 EJEMPLO 9 Grafos de precedencia y procesamiento concurrente Los programas informéticos pueden eje cutarse més ripidamente si ciertas sentencias se ejecutan simuiténeamente, Es importante no ejecutar sentencias que requieran el resultado de sentencias atin no ejecutadas, La dependencia de sentencias con respecto a senteneias previas se puede representar por medio de un grafo dirigido, Cada sentencia se representa por un vértice, y hay una arista de un vértice a un segundo vértice si la sentencia representada por el segundo vértice no puede ejecutarse hasta que la sentencia repre- sentada por el primero se ha ejecutado, A este tipo de grafo se le ama grafo de precedencia, En Ja Figura 11 se muestra un programa informitico junto con su grafo. Por ejemplo, el grafo nos dice ue la senteneia $, no se puede ejecutar hasta que S,, S, y S, hayan sido ejecutada < Problemas 1, Dibuja modelos de grafos, especificando el tipo de grafo «que utilizas, para representar un sistema de rutas areas en el que cada dia hay cuatro vuelos de Boston a Ne- wark, dos vuelos de Newark a Boston, tres vuelos de Newark a Miami, dos yuelos de Miami a Newark, un vuelo de Newark a Detroit, dos vuelos de Detroit a Ne- wwark, tres vuelos de Newark a Washington, dos vuclos dde Washington a Newark y un vuelo de Washington a Miami, de modo que a) Hay una arista conectando cada par de vertices que representan ciudades para las que hay alin vuelo de la una a fa otra (en cualquiera de Tos dos senti- dos) Hay una arista conectando ds ciudades por cada vue Jo que opere entre fas dos ciudades (en cualquiera de Jos dos sentidos). ©) Hay una arista conectando dos ciudades por cada velo que opere entre las dos ciudades (en cualquie= rr de los dos sentidos) mas un bucle que representa luna excursién turistiea que despega y aterriza en Miami 4) Hay una arista que sale de cada vértice asociado a tuna ciudad de fa que despega alain vuelo y que leg al vértice correspondiente a la ciudad en que aterriza 9, el vuelo, Hay una arista por cada vuelo, que sale del vértice {que representa a ta ciudad en que se inicia el vuelo y llega al vértice que representa a Ia ciudad en que ‘teriza Qué tipo de +: se puede utilizar para representar un vj sistema de autogistas entre grandes ciudades si a) Hay una arta entre los vértices que representan a dos ciudad si hay una antopista que las conecta? >) Hay una arista entre los vértices que representan & dos ciudades por cada autopista que las conecte? 10, Para cada grafv no dirigido de los Problemas 3-9 que no sea grafo simple, halla un conjunto de aristas al que si se eliminan esas aristas el gro se convierte en simple. |. Fl graf de interseceion de una coleccisin de conjuntos ©) Hay uns arista entre los vénices que representan a Ay Ayo A, e8 el grafo que tiene un vértice por cada con- dos ciudades por cada autopista que las eaneete y hay junto y que'tiene una arista entre fos vertices que repre- tun buele en el vértice que representa @ una ciudad si sentan a dos conjuntos si esos dos conjuntos tienen inter- hhay una autopista que rodea a la ciudad? seccién no vacia, Construye el grafo de interseccign de las siguientes colecciones de conjuntos: En os Problemas 39, determina sie gafo que se muestra es tun graf simple, un muligrafo (y no un grafo simple), un a4, Peudografo (no ul mulirafo). un graf dngidoo un ml gro dirgido (y no un graf dri), 2D 1B 4. 16. v0. 18, w Matemiticadisereta y sus aplicaciones ~4,-3-2,-1, 0}, ~2,-1,0, 1,2, 4 6,-4,-2,0,2,4, 3.1.13, 5, 30,361, A= Iale=I], Ay Utiliza el grafo de solspamiento de nichos de Ia Figa a6 para determinar las especies que compiten con los. halcones, Construye un grafo de solapamiento de nichos para seis ‘especies de pajaros si el zorzal compite con cl petirrojo y con el arrendajo, el petimrojo compite también con el sin sonte, el sinsonte compite también con el arendajo y el ‘repador compite con el psjaro carpintero, Dibuja un grafo que represente el que Tom y Patricia, ‘Tom y Hope, Tom y Sandy. Tom y Amy, Tom y Marika, Jelf y Patricia, Jeff y Mary, Patricia y Hope, Amy y Hope yy Amy y Marika se conocen, pero que ningtin otro par de las personas enumeradas se conoce. . Podemos emplear un grafo para representar el hecho de que clos personas estuvieran vivas al mismo tiempo. Di- buja un grafo de este tipo que represente si cada dos ma- temiticos o informsticos cuyas bingrafias se incluyen en los cuatro primeros capftulos de este libro y que mutieron antes de 1900 eran o no contemporineos (diremos que {dos personas estuvieron vivas al mismo tiempo si hay al- satin afio en que ambas personas estuvieron vivas). {Quign puede infuir en Fred y a quign puede influir Fred cen cl grafo de influencias de! Ejemplo 3? Construye um grafo de influencias para la junta directiva de una empresa sl presidente puede influir en el director e investigacién y desarrollo, en el director de marketing y nel director de operaciones; el director de investigacién y desarrollo puede influir en el director de operaciones; el director de marketing puede influir en el director de ope- raciones, y nadie puede influir en el director financiero ni tampoco ser influido por él 2A que otros equipos venci6 el Equipo 4 y qué equipos Yencieron al Equipo 4 en el tomeo de todos contra todos representado por el grafo de la Figura 9? En un tomeo de todos contra todos, los Tigers veneieron a Jos Blue Jays, los Tigers vencieron a los Cardinals, los Ti- ers vencieron a los Orioles, los Blue Jays veneieron a los Caninals los Blue Jays vencieron a Tos Orioles tos Car= dinals vencicron alos Orioles, Representa estos resultados ‘usando un grafo dirigido, 20, Dibuja el grafo de lamadas para los mimeros de telétono {555.001 1, 535-1221, 555-1333, 555-B8R8, 555-2222, 555, (0091 y 555-1200 si hubo tres Hamadas det 555-0011 al 555-8888 y dos del 555-8888 al 555-0011, dos lamadas del 555-2322 al 555.0091, dos amadas del 535-1221 sada uno de los dems ndmeros y una Hamada del 555- 1333 a cada uno de los niimeros siguientes: 555-001 555-1221 y 555-1200, 21, Explica cémo se pueden utilizar dos grafos de Hamadas, sno con fas Hamadas hechas durante el mes de enero y el ‘otro con las hechas durante el mes de febrero, para deter= ‘minar e nuevo niimecto de telefono de las personas que hi ‘yan cambiado de nimero, 22, a) Explica o6mo se pueden utilizar Tos grafos para repre- sent los mensajes de correo electronio en una red ) Describe um grafo que represente los mensajes de correo electrénico enviados en una red a fo largo de tuna semana concreta 23. Como se puede uizar un grafo que represente los men sajes de coreo electnico enviados en una red para en- contrat personas que hayan cambiado recienlemente su direecin principal de correo electrénica? 24, ,Cémo se puede utilizar un grafo que represente los men- sajes de correo electrdnico enviados en una red para en- contrarlistas de correo electrénico que se emplean pera, ‘enviar cl mismo mensaje a muchas direeciones de correo electrénico distntas? 25, Deseribe un grafo que represente matrimonios. ;Tiene este grafo alguna propiedad especial? 26. {Qué sentencias tienen que ejecutarse antes de ejecutar ‘Sen el programa del Ejempto 9? (emplea el grafo de pre- cedencia de la Figura 11), 27. Construye un grafo de precedencia para el siguiente pro= ‘srama: c e is s 5. 5, S: §. Deseribe una estructura discreta basada en un graf que se ‘pueda utilizar para representarruas aéreas y sus horatios de wuelo. (Indicacién: Dota de estructura a un grafo dirigi). Describe una estructura disereta basada en un grafo que se pueda utilizar para epresentar relaciones entre pares dividuos de un grupo suponiendo que cada individuo puc- de serle simpstico, antipstico o indiferente a cada uno de los dems individuos y que las relaciones pueden no ser reeprocas (Undicactén: Dota de estructura aun grafo di- ido, Trata por separado las aristas con direcciones opues: tas entre vérlices que representen a dos inelividuos). tia! ‘| | Grafos S11 (B.2 Terminologia en teoria de grafos lace DEFINICION 1 DEFINICION 2 EJEMPLO 1 TROREMA 1 INTRODUCCION Introcucimos en esta seccién parte del vocabulario basico de Ia teoria de grafos. Utilizaremos este vocabulario para resolver muchos tipos distintos de problemas. Uno de ellos trata de determinar si tun grafo se puede dibujar o no en el plano de manera que sus aristas no se corten. Otro proble- ma es el de decidir si hay alguna in entre los vértices de dos grafos que determine una correspondencia bi enire las aristas de los grafos, También introduciremos varias familias importantes de grafos que se usan con frecuencia en ejemplos y modelos. TERMINOLOGIA BASICA ‘Veamos en primer lugar la terminologfa que describe los vertices y las aristas de los grafos no digs. adyacentes (0 vecinos) en G si idente con los vértices u re los vertices u y v son exaremos Para seguirfe la pista a cusintas aristas son incidentes con un vértice, introducimos la siguiente de- El grado de un vértice de un grafo no dirigide es cl nimero de aristas incidents con él, ex- ceptuando los bucles, cada uno de los cuales penne e con dos aes al grado del vérti- ce. Bl grado del vertice v ieee ape) {.Cudles son tos grados de los vértices de los grafos G y H que se muestran en la Figura 1? Solucién: En G, (a 5(b) = 5le) = 6, Ke) (€) = Bf) = 4, Bd) = 1, Ble) = 3 y Bg) = 0. En H, Ha) = 4. A los vértices de grado cero se les lama aislados, Claramente, un vér cente a ningiin vértice. El vértice g del grafo G del Ejemplo 1 es un vértice aislado. Se dice que un vértice es colgante, o que es una hoja, si, ¥ s6lo si, tiene grado uno. Por tanto, una hoja es adyacente ‘ exactamente un vértice distinto de ella, El vértice d del grafo G del Ejemplo | es una hoja Qué obtenemos cuando sumamos tos grados de todos los vértices de un grafo G = (VE)? Cada arista confribuye con dos unidades a la suma de los grados de los vértices, ya que cada aris- twes incidente chn dos vertices (posiblemente iguales). Esto significa que la suma de los grados de> los vértices es q doble del ntimero de aristas. Enunciamos este resultado en el Teorema 1, al que también se conoce como teorema de Los apretones de manos, debido a la analogia entre los dos ex- tremos que tiene cada arista y las dos manos que se estrechan cuando dos personas se saludan. EL TEOREMA | ios A RETONES PEMA NOS Sea G = (V, E) un grafo no dirigido ‘one asta. Entonces, ’ 10 incluso cuando hay aristas miiltiples y bucles en el grafo), (Nétese que dio e TEOREMA 2 DEFINICION 3 DEFINICION 4 Matemtica dsercta y ss aplicaciones © ” Figura 1. Los gratos no dirigidos G y 11 ¢Cuotas aristas hay en un grafo con diez vértives, cada tno de los cuales tiene grado seis? Solucién: Como la suma de los grados de los vertices ¢s 6 10 = 60, se sigue que 2¢ = 60. Por tan- 10, €= 30. < EI Teorema I nos dice que la sua de los grados de los vértices de un grafo no dirigido es un ‘mdmero par, Este hecho tiene muchas consecuencias, una de las cuales se da en el Teorema 2. Todo gra no diigido tiene un nimero par de vrtices de grado impar. Demostracién: Scan V, y V, e1 conjunto de vértces de grado par y el conjunto de vértices de grax «do impar, respectivamente, de un grafo no dizigido G = (V, E). Entonces, 2e= Yaar Pood Ya} a ‘Com (1) ¢s par si v€ V,,el primer sumaando del término de la derecha de la ultima igualdad es pa. Ademas, la suma de los dos sumanddos de dicho término es par, puesto que esa suma es 2e. Por tanto, el segundo sumando es también par. Como todos los términos que se suman en ese segun- ddo sumando son impares, tiene que haber un nimero par de ellos. Por tanto, hay un nimero par de vértices de grado impar. dl La terminologia para grafos dirigidos refleja el hecho de que a las aristas de un grafo dirigi ddo se les asigna un sentido. Situ, ») @8 una arsta del grafo disigido G, se dive que a es adyucente a vy que ves adyacente desde u. A) vértice u se le Nama vértice inicial de (a, v) y a vy se le llama vértice final o ter- ‘minal de (u, v). Los vértices inicial y final de un bucle coinciden, ‘Como las aristas de un grafo dirigido son pares ordenados, podemos refinar la definicién de gra: do de un vértice a fin de reflejar el mimero de aristas que tienen a ese vértice como vértice inicial ‘© como vértice Final. En un grafo dirigido, el grado de enirada de un vértice v, denotado por 8-(s),es el nlimero de aistas que tienen a v como vértice final. El grado de salida de un vértice v, denotado por 80), es el mimero de aristas que tienen a » como vértice inicial (néitese que up bucle con- fribuye con una unidad tanto al grado de entrada como al grado de safida del vértice comres- pondiente). ‘ Gatos Figura 2. Fl grafo dirigido 6. Halla los erados de entrada y de saa de cada vértice del graf dirigido G que se muestra en la Figura 2, (a) =2, 8b) =2, 510) = 2.5% . 51d) = 2, 5(e)=3 SY) Solucin: Los grados de entrada de G s e=3ySi=0. Los grados de salida son: 8°(a) = 4, 3°(b) = 1, 5c) Como cada arista tiene un vértice inicial y un vértice final, la suma de los grados de entrada y la suma de los grados de salida de todos los vértices del grafo dirigido coinciden, Ambas sumas son iguales al nimero de aristas que tiene el grafo. Enunciamos este resultado como Teorema 3, TEOREMA 3 Sea G=(V, £) un grafo dirigido. Entonces, © Poms Zorw le. —— Hay muchas propiedades de un grafo dirigido que no dependen de la direccidn de sus aristas. En consecuencia, a veces conviene ignorar esas direcciones. Al grafo no dirigido que resulta de ig. orar las direeciones de las aristas se le Hama grafo no dirigido subyacente. Un grafo dirigido y su grafo no dirigido subyacente tienen ef mismo mimero de aristas, FAMILIAS DISTINGUIDAS DE GRAFOS SIMPLES Introduciremos a continuacién varias clases de grafos simples. Estos grafos se usan con frecuen- cia como ejemplos y aparecen en muchas aplicaciones, EJEMPLO 4 Grafos completos El grafo completo de m vértices, que se denota por K,, es el grafo simple que ccontiene exactamente una arista entre cada par de vértices distintos. En la Figura 3 se muestran los prafos K, para n = 1, 2,3, 4,5, 6. < EJEMPLOS Cielos El ciclo C,,n = 3, consta de n vértices V4... ¥,y a ¥ Wy }- Bn la Figura 4 se mugstran los ciclos C,, CC. EJEMPLO 6 Ruedas Obtenemos la rueda W¥, cuando aitadimos un vértce adicional al ciclo C., para n= 3, cconeetamos este nuevo vértice cbn cada uno de los n vértices de C, mediante una niteva 4a Figura 5 se muestran tas ruedas WW, W.,y W, A Aaa i \ pe es YY Figura 3. Los grafos K, par Ln 36, S14 Matomstica discretay sus aplicaciones EJEMPLO7 nace DEFINICION 5 AS Figura 4, Los cielosC., C,. Cy Cy AK W Figura §. Las ruedasW,,W,,W,y & n-Cubos _El cubo r-dimensional, 0 n-eubo, lenotado por Q,. es el grafo cuyos vértices repre sentan las 2" cadenas de bits de longitud n. Dos vértices son adyacentes si, y s6lo si, las eudenas de bits alas que representan differen exactamente en un bit. En la Figura 6 se muestran los grafos Q,, Q, y Q,, Notese que se puede construir el (n+ 1)-cubo Q,,, a partir del n-cubo Q,, haciendo dos co- pias de Q,, anteponiendo wn 0 a cada una de las etiquetis de los vértices de una de las copias de @,, anteponiendo un 1 en la otra copia y afiadiendo aristas que conecten dos vértices cuyas «quetas se diferencien tnicamente en el primer bit. En la Figura 6, Q, se construye a partir de Q, co- Yocando dos copias de Q, como las caras superior e inferior de Q,, afadiendo un 0 al principio de I etiqueta de cada vértice de la cara inferior y atadiendo un | al principio de la etiqueta de cada vértice de la cara superior. < GRAFOS BIPARTITOS Hay ocasiones en que un grafo tiene la propiedad de que su conjunto de vértices se puede dividir «en dos subconjuntos disjuntos tales que cada arista conecta un vértice de uno de esos subconjun- tos con un vértice del otro subconjunto. Por ejemplo, consideremos el grafo que representa ma {rimonios entre Is personas de un pueblo, En él, cada persona se representa mediante un vértice y cada matrimonio se representa mediante una arista. Ademés, cada arista conecta un véitice del sub- ‘conjunto de vértices que representan a los hombres con un vértice del subconjunto de vértices que representan a las mujeres del pueblo. Esto nos lleva a la Definicion 5. Se dice que um grafo simple G es bipartito si su conjunto de vértices V se puede dividir en dos conjuntos disjuntos V, y V, tales que cada arista del grafo conccta un véitice de V, con un vér- tice eV, (de marta qn no haya sngun rst gue conte cate vvérices de V, ni tampoco dos vértices eV) uo ay | 109 by] ey jo % oo a EJEMPLO 9 EJEMPLO 10 EJEMPLO IL Grafos 51S PNT | ie fe i - oe 6 ® Figura’. ElcicloC,eshipanio, Fgura 8. Los graf no dgidos @y ‘Veremos en el Ejemplo 8 que C, s bipartito y en el Ejemplo 9 que K, no es bipartto, C, ¢s bipartito, como se muestra en Ja Figura 7, ya que su conjunto de vértices puede dividirse en dos conjuntos, V, = (1, v5, v6} ¥ V,= [> My, YY eada arista de C, conecta un vértice de V, con un vértice de V, < K, no es bipartto, Para verlo, nétese que si partimos el conjunto de vértices de K, en dos conjun- tos disjumtos, uno de los dos conjuntos debe contener dos vértices. Si el grafo fuese bipartito, esos dos vertices no podrian estar conectados por ninguna arista, pero en K, cada vértice esté conecta- do con cualquier otro vértice por medio de una arista, < {Son bipartitos los grafos G y H que se muestran en la Figura 8? Solucidn: El grafo G es bipartito, puesto que su conjunto de vértices es la unién de dos conjuntos disjumtos, {a, ,d} y {c, ef. $}. y cada arista conecta un véntice de uno de estos subconjuntos con tun vértce del otro subconjunto (ndtese que para que G sea bipartito no es necesario que cada vér- tive de (a, b,d sea adyacente a un vértice de {c, ¢,f. 8). Por ejemplo, b y g no son adyacentes). El grafo H1 no es bipartito, ya que su conjunto de vértices no se puede dividir en dos sub- conjuntos de modo que las aristas no conecten ningtin par de vértices de un mismo subconjunto (el lector deberia comprobarlo considerando los vértives @, by f\. < Un grafo es bipartito si y solo si, se pueden colorear los vértices del grafo con dos colores de ‘modo que ningtin par de vértices adyacentes sean del mismo color. Estudiaremos el coloreado de srafos en la Seccin 8.8. También un grafo es bipartito si, y s6lo si, es imposible comenzar en un ‘értice y regresar a ese mismo venice después de recorrer un niimero impat de arstas distinas, Pre- isaremios mis estas nociones en la Seccién 8.4 cuando hablemos de caminos y cireuitos en grafos. Grafos bipartitos completos El grafo bipartito completo K,, , es cl gralo cuyo conjunto de vér- tices esté formado por dos subconjuntos con ma y n vértices, respectivamente, y hay una arista entre dos vértices si y s6lo si, un vértice esté en el primer subconjunto y el otro vértice esté en el segun- «do subconjunto. En la Figura 9 se muestra los grafos bipartitos completos K, , Ky Ky .¥Kyy PA | LER 4 Figura 9. Algunos grafos completos biparitos. ‘516 Matemitica discret y sus aplicaciones EJEMPLO 12 EJEMPLO 13 ALGUNAS APLICACIONES DE TIPOS ESPECIALES DE GRAFOS. ‘Vamos a ver cémo se utilizan algunos tipos especiales de grafos en modelos para la comunicacién de datos y el procesamiento en paraleo. Redes de drea local Los ordenadores que hay en un mismo edificio, al igual que los periféricos, como impresoras o trazadores graficos, se pueden conectar entre si por medio de una red de drea local. Algunas de estas redes se basan en una topologia en estrella, en la que todos los disposit vos estin conectaclos aun dispositive central de control. Puede representarse una red de area local usando un grafo bipartito completo K, ,,.como se muestra en la Figura 10(a). Los mensajes se en- van de maquina a miiquina @ través del dispositivo central de control ‘Otras redes de drea local se basan en una tepologia en anilto, en la que cada dispositive se co necta con exactamente otros dos. Las reds de drea local con topologia en anillo se repesentan ut- Jizando cielos C,, como se muestra en la Figura 10(b). Los mensajes se envian de méquina a m- uina siguiendo el ciclo hasta que se alcanza el dispositive que debe recibir el mensaje. Finalmente, algunas redes de drea local emplean un hibrido de ambas topologias. Los men sajes se pueden enviar a lo largo del anillo 0 a través de un dispositivo central, Bsta redundancia hhace que la red sea mas fiable. Las redes de dea local con este tipo de redundancia se pueden re- pPresentar por medio de ruedas W,. como se muestra en la Figura 10(c) < Redes de interconexién para el cdlculo en paralelo Hasta hace poco, los ordenadores ejecu- ‘aban los programas realizando las operaciones tna a una. En consecuencia, los algoritmos que re- solvfan los problemas estaba disefiados para llevar a cabo un solo paso cada vez. Este tipo de al _goritmos son Jo que se conoce como algoritmos secueneiates (casi todos los algoritmos descritos ‘en este libro son secueneiales). Sin embargo, muchos problemas cuya resolucién es computacio- rnalmente muy costosa, como la simulacién climatolégica, el tratamiento de imagenes en medici- nay el criptoanélisis, no pueden resolverse en un perfodo razonable de tiempo por medio de ope- rrciones secuenciales, ni siquiera utilizando un superordenador. Ademis, hay un limite fisico para la velocidad a la que un ordenador puede realizar las operaciones basicas, de modo que siempre hhabré problemas que no se puedan resolver en un periodo razonable de tiempo mediate opera- ciones secuenciales EL procesamiento en paralelo, que utiliza ordenadores construidos con muchos procesado- res distintos, cada uno con su propia memoria, ayuda a superar las Limitaciones de los ordenadores secuenciales. Pueden disefiarse algoritmos en paralelo para resolver problemas con rapidez usando un ordenador con miiltiples procesadores. Estos algoritmos dividen un problema en varios subproblemas que se pueden resolver al mismo tiempo. En un algoritmo en paralelo, la ejecucién del algoritmo es controkada por un tinico flujo de instrucciones, que envia subproblemas a los dis tintos procesadores y dirige los datos de entrada y de salida de estos subproblemas al procesador apropiado. Cuando se procesa en paralclo puede que tn procesadlor necesite como dato de entrada la si lida de otro procesador. Por tanto, estos procesadores tienen que estar interconectados. Podemos utilizar un tipo adecuado de grafo para representar la red de interconexidn de los propesadores de uun ordenador con procesadores miiliples, A comtinuacién, vamos a describir los tipos mas fre- ‘cuentes de redes de interconexién para procesadores en paralelo, El tipo de red de ifterconexion mS er = @ © ° Figura 10. ‘Topologias en estrella, en anillo e hibrida para rodes de direa local Grates 517 P10.0) 0) 0.29 40,3) AOR iio Figura LL. Una disposicidn lineal con Figura 12. Una red de malla con seis procesadores 16 procesadores, {que se use para implementar un algoritmo en paralelo concreto depende de las necesidades de in- tercambio de datos entre los procesadores, la velocidad deseada y, por supuesto, del hardware dis- ponible. La red de interconexién de procesadores més sencilla, pero también la més costosa, incluye tun enlace bidireccional entre cada par de procesadores. Esta red se puede representar por medio de .,el grafo completo de n vértices, donde 1 es el nimero de procesadores. Sin embargo, este tipo de red de interconexién presenta serios problemas debido al gran ntimero de conexiones que re quiere. En la préetica, el néimero de conexiones directas con un procesador es limitado, de modo que si hay gran mimero de procesadores, cada uno de ellos no puede conectarse directamente con todos los dems, Por ejemplo, si hay 64 procesadores, harian falta C(64, 2) = 2.016 conexiones y cada procesador tendria que estar directamente conectado con otros 63. Por otra parte, quizd 1a manera més sencilla de conectar entre sf n procesadores es utilizar lo «que se conoce como una disposieién lineal (en inglés, linear array). Cada procesador P, que no sea PnP, esté conectado con sus vecinos P., y P., mediante un enlace bidireccional P, esta co- nectado s6lo con P, y P, lo esta solo con P._,. En la Figura 11 se muestra la disposicién lineal con procesadores, La ventaja de una disposicién lineal es que cada procesador tiene a lo sumo dos cconexiones directas con otros procesadores. La desventaja es que a veces hace falta emplear un gran niimero de enlaces intermedios, Tamados saltos, para que los procesadores compartan la in- forma La red de malla o disposicién bidimensional (en inglés, mesh nerwork) es una red de inter- ‘conexi6n que se emplea a menuclo. En esta red, el mémero de procesadores es un cuadrado perfecto, digamos 1 = n#. Los n procesadores se etiquetan como Pl, j),0sism-~-1,0 a a Ba i ae eae i cet es 40. 2 boa ‘ e hey 5 41. El grafo complementario G de un grafo simple G tiene los mismos vertices que G. Dos vértices son adyacentes en G si, y solo si,no son adyacentes en G, Halla los si atten grafos ok Ok, of aa 42. SiG es un grafo simple con 15 aristas yG tiene 13 aris tas, ceusintos véntices tiene G? 43. Sicl grafo simple G tiene v vertices y e aristas, geusintas arisas tiene G? #44. Demuestra que si G es un grafo bipantito simple con ¥ Vértices y e aristas, entonces ¢ 5 1/4, 45. Demuestra que si G es un grafo simple con 1 vértices, centonces la uni6n de G y G es K,, Gratos 821 46, Describe un algoritmo para decir siun grat es 0 no bi |. Dibuja fared de malta para conectar en paralelo nueve partito, procesadores El reeiproco de un grafo diigide G = (VE), que se denota G cl grafo drigido (V, F) tal que a, ve Fsiy 60 si, (v, we E. En una variante de una red de malla, para conectar entre sin= mi procesadores, el procesador PU, j)esté conec- 47. Dibuja cl recfproco de cada uno de los gras de los Pro- tado con los cuatro procesadores P(( + 1) mod mj), blemas 7-9 de Ia Seccin 8.1 Pi, + 1) mod m), de modo que las conexiones rodean los bordes de la malla. Dibuja esta variamte de la red de 48. Demuestra que (G)"= G para todo grafo dirigido G. malla para 16 procesadores, 49. Demucsira que el grafo G coincide con su propio rei 53. emuestra que se F £ muestra que se puede comunicar eala par de procesa- proco si, y sdlo si, la relacién asociada a G (véase ta does cna rc Me tialla GO A = ne pioeatadoe cant Seceién 7.3) es simstriea, zanlo OW) Om) saltos entre procesadores conects ‘50, Extiende la definicion de reeiproco de un grafo dirigido a Sas eects Ja nocién de reefproco de un multigrafo drigido. 83 Representaci6n de grafos ¢ isomorfismo de grafos INTRODUCCION Hay muchas maneras tiles de representar los grafos. Como veremos a Jo largo de este capitulo, al trabajar con un grafo conviene tener la posibilidad de elegir su representacign mis conveniente. En esta seecién veremos céimo representar grafos de varias maneras distintas, A veces, dos grafos tienen exactamente la misma forma, en el sentido de que hay una bi- yeeci6n entre sus conjuntos de vértices que preserva las aristas. En tal caso, decimos que los dos zrafos son isomorfos, El determinar si dos grafos son isomorfos o no cs un problema importante en la teoria de grafos que estudiaremos en esta seccidn, REPRESENTACION DE GRAFOS Una forma de representar grafos sin aristas maltiples es enumerar todas las arstas del grafo. Otra forma de representar grafos sin aristas multiples ¢s utilizar listas de adyaceneia, que especifican Jos vértices que son adyacentes a cada uno de los vértices del grafo. EJEMPLO 1 Utiliza listas de adyacencia para describir el grafo simple de la Figura 1 Solucién: La Tabla | lista los vértices que son adyacentes a cada uno de los vértices del grafo. EJEMPLO 2 Representa el grafo dirigido de la Figura 2 enumerando todos los vértices que son véhtices finales de las aristas que salen de cada uno de los vértives del grafo, lucién: La Tabla 2 representa el grafo dirigido que se muestra en la Figura 2 < MATRICES DE ADYACENCIA Ejecutar algoritmos para grafos utilizando la representacién de los grafos por medio de listas de aristas, 0 por medio de listas de adyacencia, puede ser complicado si el grafo tiene muchas aristas. Para simplificar los cilculos, conviene representar los grafos por medio de matrices. Presentaremos dds tipos de matrices que se utilizan con frecuencia para representar grafos. Uno se basa en la ad- yyacencia de vértices y el otro se basa en la incidencia entre vértices y aristas [522 Matematica discret y sus aplicaciones EJEMPLO 3 e a Figura 3. Un grafo simple 2 B e 1 ‘ 7 Figura 1. Un grafo simple Figura 2, Un gro dri, Tabla 4, Una lista de arstas para Tabla 2. Una lista de arises para un grafo simple. un graf di ; Vértces Vértce Verices Vérices | adyacertes tnicial Jinales a doe a bode > a > bd ¢ ade ¢ ace a ce Joa ¢ aed e bod Supongamos que G = (V, Z) es un grafo simple con [V| = n. Supongamos que los vertices de G se enumeran de manera arbitraria como ¥,,v,,.., . La matriz de adyacencia A (0 A,)) de G con respecto a este listado de los vértices es la matriz booleana n x n que tiene un 1 en la posicién (Gj), si v,y v,son adyacentes, y tiene un O en la posicidn (i), sy, y ¥,no son adyacentes. En otras palabras, i su matriz de adyacencia es A = |a, J, entonces f Si (¥j.¥,} ¢5 una arista de G, 0 en caso contratio. Notese que la matriz de adyacencia de un grafo depende del orden elegido para los vértices. Por tanto, hay nl matrices de adyacencia distintas para un grafo de n vertices, puesto que hay n! or denaciones distintas de los n vertices. La matriz de adyacencia de un grafo simple es simétrica, esto es, a, = a, puesto que ambos clementos son 1, si vy v, son adyacentes, y ambos son 0 en caso contrario. Ademas, como un gra- fo simple no contiene bucles, cada elemento a, es 0 para i= 1, 2.3,...1 Notese que si hay relativamente pocas aristas en el grafo, la matriz de adyaceneia es una ma- ttia poco densa, esto es, unia matriz con pocos elementos no nulos. Hay técnicas especiales para re- presentar estas matrices, asi como para realizar célculos con ellas. También hay ocasiones en que puede ser mas eficiente trabajar con listas de aristas a la hora de representar y de trabajar con este tipo de grafos. Utiliza una matriz de adyacencia para representar el grafo que se muestra en Ja Figura 3. Solucién: Ordenamos los vénices de la forma a,b, ¢, d. La matriz que representa a este grafo es 6. ita 1010 1100 1000 EJEMPLO 4 : e Figura 4. Un grafo con la matriz de ad- yacencia dada EJEMPLO 5 2D Figura 5. Un pscudograto, Grafos 523 Dibuja un grafo con matriz de adyacencia 011 07 Loo. 1001 oO 110) con respecto a la ordenacién de vértices a, b, ¢, d. Solucién: En la Figura 4 se muestra un grafo con esta matriz de adyacencia, < Las matrices de adyacencia pueden usarse también para representar grafos no dirigidos con ‘bucles y con aristas mitiples. Un bucle en el vértice a, se representa por medio de un | en la po- sicin (i, de la matriz de adyacencia. Cuando hay aristas mitiples, la matriz de adyacencia deja de ser booleana, ya que el elemento en la posicién (i,j) de esta matriz es igual al nimero de aris- tas asociadas con {a,, a,}. Todos los grafos no dirigidos, incluyendo multigrafos y pseudografos, tienen matrices de adyacencia simétricas Utitiza una matriz de adyacencia para representar el pseudografo que se muestra en la Figura 5. Solucion: La matriz de adyacencia con respecto al orden a, b, c, des 0 2 < 0 301 ond 2 tee Hemos empleado matrices booleanas en el Capitulo 7 para representar grafos dirigidos. La matriz de un grafo dirigido G = (V, E) tiene un 1 en su posicin (i, j) si hay una arista de va siendo ¥,, 13.» ¥, un listado arbitrario de los vertices del grafo dirigido. En otras palabras, si A {a, Jes la matriz de adyacencia del grafo dirigido con respecto a esta ordenacign de los vertices, en- tonces f si fy,,v,) es una arista de G, (0. en caso contrario, La matriz de adyaceneia de un grafo dirigido no tiene por que ser simeétrica, ya que puede no haber una arista de a, aa, cuando hay una arista de a a, Las matrices de adyacencia se pueden emplear también para representar multigrafos dirigidos. De nuevo, estas matrices ya no son booleanas si hay aristas mltiples en el mismo sentido conec- tando dos vértices. En la matriz.de adyacencia de un multigrafo dirigido, a, es igual al nimero de atistas asociadas con (v, v) MATRICES DE INCIDENCIA Otra representacién de grafos que se usa con frecuencia es la que emplea matrices de incidencia, Sea G = (V, £) un grafo no dirigido. Supongamos que ¥,,¥,,... v, Son los VETHCRS Y €,. ey, as €, Jas aristas de G. Entonces, la matriz de incidencia con respecto a este ordenamiento de Vy de E cs la matriz. M = [mm] de-n x m dada por i la arista ¢, es incidente eon v,, . fi ‘en caso contrario. S24 Matemétca discretay sus aplicaciones EJEMPLO 6 Representa por medio de una maitriz de incidencia el grafo que se muestra en la Figura 6, 4 % 3» Solucidn: La matsiz de incidencia es Ky SLA 4 Her eye U5 | i > yl 10000 | YO Joo 1104 | Figraé Ungnfo (0 00011 | no irigido. vfl 01000 =| y[o 10110 =| Las matrices de incidencia pueden usarse tambign para representar aristas multiples y bucles, Las aristas multiples se representan en la matriz de incidencia mediante columnas con todos sus elementos idénticos, puesto que dichas aristas son incidentes con el mismo par de vértices. Los bu- cles se representan por medio de una columna con un tinico elemento igual a 1, que corresponde al vértice con el que es incidente el bucle, EJEMPLO 7 Representa cl pseucografo que se muestra en la Figura 7 usando una matriz de incidencia, Solucién: La matriz de incidencia para este grafo es © en 5 ey ey ey yey wf 1100009 Figura 7. Un pseu- Me edt AO n0 dograto, yJo0 011000 wJo0000011 vjo0001100 ISOMORFISMO DE GRAFOS A menudo queremos saber si es posible o no dibujar dos prafos de la misma forma. En la quimica, por ejemplo, se utlizan los grafos para representar compuestos. Diferentes compuestos pueden te- ner la misma formula molecular, pero distinta estructura. Estos compuestos se representaran por medio de grafos que no se puedan dibujar de la misma manera. Pueden utilizarse fos grafos que re- presentan compuestos ya conocidos para determinar si un compuesto supuestamente nuevo ya ha sido estudiado antes 0 no, Disponemos de una terminologia muy dtl para los grafos que tienen 1a misma estructura. DEFINICION I Los grafos simples G, = (V,, E,) y G, = (V,» E,) son isomorfos si hay una funcién biyectiva Fae V, en V, con la propiedad de que, para cada par de vértices u,v V,. iy v son adya- centes en G, si, y solo si, F(u) y fv) son adyacentes en G,. Se dice que esta fineion f es un isomorfismo”. : En otras palabras, cuando dos grafos simples son isomorfos, hay una funcién biyectiva entre los vértices de los dos grafos que preserva la relacion de adyacencia. El isomortismo de grafos simples es una relaci6n de equivalencia (dejamos el comprobarlo como Problema 45 al final de esta see cién). {La palabra isomorfsmo proviene dela races griepas ios, que significa igual, y mors, que significa forma EJEMPLO 8 [es swe Safe os Figura 8. Los agrafos Gy H. Kates EJEMPLO 9 lc EJEMPLO 10 Grafos 525 Demuestra que los grafos G = (V, £) y H = (WV, ) que se muestran en la Figura 8 son isomorfos. Solucién: La funcién fcon f(t) = vj.f(u,) =v, flu) =» Y fC) =v, e5 una funcién biyectiva en- tre Vy W. Para ver que esta funciGn preserva la adyacencta, nétese que los pares adyaces SOM HY ly tH, ¥ My ty Y My ¥ Uy ¥ My ¥ Ca tno de tos pares fu,) =, y flu) Flu) = vy ft) =v, ¥ Hu) = vy Flus) =v, ¥ flay) = ¥, son adyacentes en. A menudo es dificil determinar si dos grafos simples son o no isomorfos. Hay 1! posibles bi- xyeeciones entre los conjuntos de vértices de dos grafos simples de n véstices. Comprobar cada unia de estas funciones para ver si preserva o no las adyacencias es un método poco practico cuando n es grande. Sin embargo, con frecuencia podemos demostrar que dos grafos no son isomorfos de- ‘mostrando que no comparten alguna propiedad que dos grafos isomorfos deberfan tener en co- mitin, A tales propiedades se les llama invariantes bajo isomorfismo de grafos simples. Por ‘ejemplo, dos grafas simples isomorfos tienen que tener el mismo niimero de vértices, puesto que hay una biyecci6n entre los conjuntos de vértices de los grafos. Dos grafos isomorfos deben te- net también ef mismo niimero de aristas, ya que la biyeccion entre los vértices establece una apli- cacién biyectiva entre las arisias. Ademés, los grados de los vértices de dos grafos simples iso- ‘morfos tienen que coincidir. Esto es, un vértice v de grado g en G tiene que corresponder a un vértice f(v) de grado g en 11, ya que un vértice w de G es adyacemte a v si, y s6lo si, (0) ¥ f(w) son adyacentes en #2 Demuestra que los grafos que se muestran en la Figura 9 no son isomorfos. Solucién: Tanto G como H tienen cinco vertices y seis aristas. Sin embargo, H tiene un vértice de «grado uno, ms coneretamente el vErtice e, mientras que G no tiene vértices de grado uno, Se sigue que G y 11 no son isomorfos. « El nimero de vértices, el mimero de aristas y los grados de las aristas son invariantes bajo isomorfismo, Si cualquiera de estas cantidades toma valores distintos en dos grafos simples, dichos grafos no pueden ser isomorlos. Sin embargo, el que esos invariantes coincidan no quiere decir que esos dos grafos sean necesariamente isomorfos. En la actualidad, no se conoce ningun conjunto de invariantes que pueda usarse para determinar si dos grafos simples son o no isomorfos, ra 10 son 0 no isomorios, Determina silos grafos que se muestran en Ia Fi Solucién: Ambos grafos G y H tienen ocho vertices y diez aristas. Ambos tienen también cuatro ‘vértives de grado dos y cuatro de grado tres. Como todos estos invariantes coinciden, podemos pensar que estos grafos son isomortos. Sin embargo, G y H no son isomortos. Para verlo, nétese que como S(a) = 2 en G, a deberia comresponder a uno de los vértices , 1,x'0 y de H, ya que éstos son los vértices de grado dos de H. ‘Sin embargo, cada uno de estos cuatro vertices de Hf es adyacente a otto vértice de grado dos de H, lL ’ Jo que noes cierto para a en el grato G : a . a ' | e 4 G 4" ’ 2 Figura 9. Los grafos G y H. Figura 10. Los grafos G y #. {$26 Matematica diseretay sus aplicaciones Oita forma de ver que Gy H no son isomorfos es observar que los subgrafos de G y de H for: mados por sus vértices de grado tres y por las aristas que los conectan deberian ser isomorfos si los dos grafos fueran isomorfos (el lector deberfa comprobar esto). Sin embargo, estos suberafos no son isomorfos, como se ve en la Figura 11 Para demostrar que una funcién f del conjunto de vérties del grafo G en el conjunto de vér- tices de H es un isomorfismo, tenemos que demostrar que f preserva la adyaceneia, Una manera apropiada de hacerlo es usando matrices de adyacencia. En particular, para demostrar que jes un isomorfismo, podemos demostrar que la matriz.de adyacencia de G coincide con la matriz de ad- yacencia de H si etiquetamos las filas y columnas, de tal forma que se correspondan con las imi- genes por fde los vértices de G que son etiquetas de esas filas y columnas de la mattiz de adya- cencia de G. Este proceso se ilustra en el Ejemplo 11 EJEMPLO 11 Determina silos grafos G y H que se muestran en la Figura 12 son o no isomorfos, of Solucién: Tanto G como H tienen seis vértices y siete aristas. Ambos tienen cuatro vértices de gra- do dos y dos vertices de grado tres. También es facil ver que los subgrafos de G y de H formados por los vertices de grado dos y por las aristas que los conectan son isomorfos (como el lector puc- x de comprobar). Como G y H tienen estos invariantes en comiin, es razonable tratar de encontrar un isomorfismo f. Vamos a definir una funcién f y después determinaremos si es un isomorfismo 0 no. ; Como 8(u,)= 2 y 4, no es adyacenie a ningtin otro vértice de grado dos, la imagen de u, tiene {que ser bien v, o bien y, los tinicos vertices de grado dos en Af que no son adyacentes a ningtin ww _0¥0 vértice de grado dos. Asignamos, arbitrariamente, flu,) = v, [Si viéramos més adelante que esta eleecién no conduce a un isomorfismo, lo intentarfamos con flu,) = v,]. Como 1, es adya- + cente a n,, las posibles imagenes de u, son v, y v, Asignamos, arbitrariamente, flu) = v,. Si continuamos de esta manera, tomando como guia la adyacencia de vértices y los grados, asig- r nnamos fl) = v9 ft) = V5 Aug = ¥, y fly) = ¥,. Ya tenemos una funci6n biyectiva entre el con- ; junto de vértices de G y el conjunto de vértices de H, a saber: flu,) = v4, flu) = Vy Figura 11° Los Ru.) = ve fll,) = Vy flu) =, ¥ Au) = v,- Para ver si f preserva o no la adyacencia, examinamos Tee G2 “a maure de adyaconcia de vértices de grado tes y por las aristas que los conectan entre si Wy ty Wy Wy ls Me 0100 0 0 IL 0 1 0 1 0 0 1 1 0 0 1 0 0 ere om y la matriz de adyacencia de H con sus filas y columnas etiquetadas con las imagenes de los vér- tives correspondientes de G, Figura 12, Los grafos G y Ht. Grafos 527 Ye sy Y, vf0 10 10 0 oo1 100] 019 101 1 Como A, = A,» se sigue que f preserva la adyacencia, Concluimos que fes un isomortismo, de ‘modo que G y Hf son isomorfos. Nétese que si hubiese resultado no ser un isomorfismo, no ha. briamos establecido que G y H no son isomorfos, ya que podria haber alguna otra corresponden cia enire los vérices de G y de H que si fuese un isomorfismo. < Los mejores algoritmos conocidos para dleterminar si dos grafos son o no isomorios tienen. sles) complejidad exponencial (en el nimero de vértices de los grafos) en el peor caso. No obstante, se conocen algoritmos de complejidad polinémica en el caso promedio que resuelven el problema y ain hay esperanzas de hallar un algoritmo de complejidad polinémica en el peor caso para deter- Iminar si dos grafos son isomorfos o no. El mejor algoritmo en la prictica, lamado NAUTY, pue- de usarse para determinar en menos de un segundo de céleulo en un PC modemo si dos grafes con ‘menos de 100 véitices son o no isomorfos. El software de NAUTY se puede descargar de Internet para experimentar con él Problemas En fos Problems 1-4, utiliza una sta de adyacencia par e- 8, Representa el grafo del Problema 4 mediante una marie presenta el graf dela figura de adyacencia ba ‘ a 9. Representa cada uno de los siguientes grafos mediante una mattiz de adyacencia a) K, bk, OK, ac ow, 00 ts . En Jos Problemas 10-12, dibuja un grafo cuya matriz de adya- cencia ea que se da 3 cae 10 1 0; Woot | lou nr) \ oo riod a 1110 Mai. oy 5 Representa el grafo del Problems 1 mediante una maiz de adyacencia 010 6. Representa el grafo del Problema 2 mediante una matriz a de adyacencia tii 7. Representa el arafo del Problema 3 mediante una matriz En os Problemas 13-15, representa el gafo coresponione de adyacencia, usando uma matriz de adyacencia. 528 Matemsticadscretay sus aplicaciones Bg odes 1s. En fos Problemas 16-18, dlibuja un grafo no dirigido repre- sentado por la matriz de adyacencia correspondiente. 16-132) 304 2 4 o| Ue 3-0 20 30 lo 314 Loi) Bo130 4 12130 Eales! lo 3002 40123 En los Problemas 19-21, halla la matriz de adyacencia del ‘multigrafo dirigido correspondiente. wor, a m0), r , : N a | En los Problemas 22-24, dibuja cl prafo representado por la matriz de adyacencia correspondiente, Perio f oo 2 0 o} tte yf 25, ;£s cualquier matriz booleana cuadrada y siméttica con ceros en la diagonal ta matriz de adyacencia de alptin grafo simple? 26. Utilza una matriz de ineidencia para representar los gra fos de los Problemas 1 y 2 27, Utiliza una matriz de incidencia para representar los gra- fs de los Problemas 13-15. *28, ;Cusnto suman Jos elementos de una misma fila de la mmatriz de adyacencia de un grafo no dirigido? :Y los de un grafo dirigido? #29, ,Cuinto suman los elementos de una misma columna de la matriz de adyacencia de un grafo no dirigido? :Y Jos de un grafo dirigido? 30, {Cudnto suman los elementos de una misma fila de la ‘matriz de incidencia de un grafo no dirigido? 31. {Cusimio suman Jos elementos de una misma columna tbe la matriz de incidencia de un grafo no dirigido? +32, Halla Ja matriz de adyacencia para cada uno de estos alos. aK mC OW, HO, 00, 33, Halla fa matriz de incidencia para los grafos en les apar: tados (a)-(€) del Problema 32 En los Problemas 34-44, determina si el par de grafos corres- Pondiente es 0 no isomorfo. Construye un isomorfisme o pro: porciona un argumento rigureso que demuestre que no existe ningun, By Grafos 529 45. Demuestra que el isomorfismo de grafos simples es una relacién de equivalencia. 46. Supén que G y H son grafos simples isomorfos. De- muestra que sus grafos complementarios G@ y H son tamn- bign isomorfos. 47, Dada la matrz de adyacencia de un grato, describe I y lacolumna comrespondientes a un vértice aislado, 48. Dada la matriz de incidencia de un grafo, describe la fila correspondicnte a un vértice aislado. 49. Demuestra que los véntices de un graf bipartite con dos 19 mas vertices se pueden ordenar de tal manera que st matriz.de adyacencia tenga la forma oa Is «] donde fos cunt clemsntos gue spaecen son Wngues ectangulaes. Se dive que un grafo simple G es autocomplementario siGyG son isomorfos. 50, Demuestra que este grato es autocomplementaro, @ e 51, Halla un grafo simple autocomplementario con cinco vertices. ‘530 Matomdtica discret y sus aplicaciones +52. Demuestra que si Ges un grafo autocomplementario 62. 4, i simple con v vértices,entonces v= 0.0 I (mod 4), 153, ;Para qué nimeros enteros es C, autocomplementario? 54. ;Cufntos erafos simples no isomorfos hay con n vertices simes igual a ay 27 b) 3? ov é a , sCutos gros simples no isomertos tay con cinco © Vértices y res aristas? 56, Cuéntos grafos simples no isomorfos hay con seis ver tices y cuatro aristas? 51. {Son isomorfos los grafos simples cuyas matrices de ad- ¢ Leora eatin nena arcana abe yacencia son las siguientes? 5 = i 0 0 por 4 z oo if) © o : ridlioo Yo 1o oii 4 1ooiloot 2 ooo toon 4 % E rirofirig a 3 9 p11 Hp10t z 100 1}f1 009 s % ; 100 1ffo004 2 jo 1 1 of ft ot o| 3 ‘58, Determina si son isomorfos 6 no los grafos sin bucles cu- ey miter do nc ientasoa ri gtictaed 165, Demuestra que si G y HY son grafos ditigidos isomorfos, ‘entonces los reciprocos de G y de Hf (definidos en el ®7i oun tg predmbulo del Problema 47 de la Seccién 8.2) son tam- 11 ojford *66. ;Cuiintos grafos dirigidos simples no isomorfos hay con envious lead ae ooo 1 a1 001 0 oa? 67. :Cual es el producto de Ia matriz de incidencia de un 59. Extiende la definicién de isomorfismo de gratos simples _grafo no dirigido por su traspuesta? 4 grafos.no drigidos que contngan bucks y aistas mil- ggg ee : } {Cuinto espacio se requiere para almacenar un gral Simple de nvenics ya arses sand 0, Define cl isomorfismo de gras drgies 1) lists de acon? Eales Problemas 6164, determina el ar eomespondiente de 2) una matic de ayacencia? rato dirigs es o no isomorfo. (©) una matriz de incidencia? ‘Un contraejemplo para un supuesto test de isomortismo es he . : um par de rafos no omoros tal que eles es incapaa Se ro : demostrar que no Lo son. {\ 6, Halla un conrasjeplo para el est que examina la se Vv eee 8.4 Conexién DEFINICION 1 EJEMPLO 1 INTRODUCCION Hay muchos problemas que se pueden representar por medio dle caminos que se forman al ir re- Corriendo las aristas de un grafo. Por ejemplo, el problema de determinar si se puede enviar ono lun mensaje entre dos ordenadores usando enlaces intermedios puede estudiarse utilizando un mo. delo de grafos. Los problemas de planificar de forma eficiente las rutas de distribucign de correo, de recogida de basuras, los diagnsticos en redes de ordenadores y muchos otros pueden resolverce Utilizando modelos que involucran caminos definidos sobre grafos. CAMINOS De manera informal, un camino es una secuencia de aristas que comienza en un vértice del grato y recorre ciertas aristas del grafo siempre conectando pares de vértices adyacentes, En la Defini. ci6n I se da una definicién formal de los caminos, asi como cierta terminologia relacionada con ellos, ‘Sea 7 un entero no negative y sea G un gralo no dirigido. Un camino de longitud nde wav ‘08 G es una seevencia de n arstas a, a, .., d, de G tal que fla,) = Lay 41a) = ty 5), Ha) = (x, ,}. donde x, = wy x, = ¥. Siel grafo es simple, Jenotamos este camino pot st secuencia de vertices... ..., (ya que el enumerar estos vértices determina el camino de ‘forma dnica). El camino es un circuita si comienzay termina en el mismo vértice, esto 6s, si 4 »v.y tiene longitud mayor que cero. Se dice que el camino o cireuito pasa por los vénices Ai Np on, 0 ambign que recorre las aristas «, ,, .. 2, Un camino 0 circuit es simple si ‘no contiene la mistna arista més de una vez. Cuando no es necesariodistinguir entre aristas miiples, denotaremos el camino a. ay .-.4_, don de f(a) = {x,,,) para i= 1, 2,....m, por su secuencia de vertices «x, ., x, Esta notacion idem. tifica un camino mediante los vértices por los que pasa. Puede haber més de un camino que Pase por esa secuencia de vértices. Nétese que un camino de longitud cero consiste en un tinico vértice, En el grafo simple que se muestra en Ia Figura 1, a, dc, f, 8 un camino simple de longitud 4, ya que (4, dl. (dc). fe, f1 y Uf] son aristas. Sin embargo, de, c, a no es un camino, ya que lec} no es una arista. Nbtese que b,c, fe, b es un citcuito de longitud 4, ya que {b,c}, Le. fi. Ife) y {6b} son aristas, y este camino comienza y termina en b. El camino a, be, d, a, B, que tiene lon- gitud 5;no es simple, ya que contiene dos veces la arsta fa, b. < En el Capitulo 7 ya introdujimos los caminos y citcuitos en grafos drigidos. Ahora definimos minos en multigrafos dirigidos. MX Figura 1. Un grafo simple. [$32 Matematica dere y sus aplicaciones DEFINICION 2 EJEMPLO 2 atest EJEMPLO 3 lacs EJEMPLO4 once ‘igralo dirigido. Un camino de longitud n de wa yen Ges uma secuencia de aristas wy, dy... de G tal que fla,) = Gy. 4). fa) = Oh. 4). on f(A) t, »-¥)s donde x, = wy x, =v. Sino hay aristas multiples en el grafo dirigido, denotamos este camino por su secuencia de vértices x, x,....X,.Un camino de fongitud mayor que cero pe aeeeea Feaank cacao es toe eee eee is ¢s simple si no contiene la misma aristi-mas de una vez. ae ‘Sean n un entero no negativo y G un mul Notese que el vértice final de una arista de un camino es el vérticeinicial de la siguiente arista det camino. Cuando no es necesario distinguir entre aristas miiltiples, denotaremos el camino a,. a, a, donde f(a,) = (x, ,, x,) para i= 1, 2, ..., 2, por su secuencia de vértices x, x... %,- Esta notacién identifica un camino mediante los vértices por los que pasa. Puede haber mas de tun camino que pase por esa secuencia de vértices Los caminos representan informacién itil en muchos modelos de grafos, como se muestra en Jos Bjemplos del 2 al 4. Caminos en grafos de conocides En un grafo de conocides hay un camino entre dos personas siexiste una caclena de personas que las conecta, de manera que cada dos personas adyacentes en la cadena se conocen entre sf. Por ejemplo, en la Figura 7 de la Seccién 8.1 hay una cadena de seis personas que conecta a Kamini con Ching. Muchos sociélogos han conjeturado que casi cualquier par de personas del mundo estan conectadas entre si por una cadena corta de personas, que con- tiene quiza cinco personas 0 menos. Esto querrfa decir que casi cualquier par de vértices del gra- fiy de conocidos que contiene a todas las personas del mundo est conectado por un camino de lon. gitud menor 0 igual que cuatro. La obra de teatro Six Degrees of Separation, de John Guare, se basa en esta id < Caminos en grafos de colaboracién En wn grafo de colaboracidn, dos vértices « y b, que repre- sentan autores, estén conectados por un camino si hay una sucesi6n de autores comenzando por a y ferminando en b tal que los autores representados por los dos extremos de cata arista han escrito un articulo conjunto, En el grafo de colaboracién de todos los matemticos, el niimero de Erdés de un ‘matemitico m (que ya se defini en términos de relaciones en el Problema complementario 14 del Capitulo 7) es la longited det camino més corto entre my el vértice que representa al extraordina- riamente protifico matematico Paul Erdds (que murié en 1996). Esto es, el nimero de Erdés de un matemitico es la longitud de la cadena mas corta de matemiticos que comienza en Paul Erdos y termina en dicho matemético, donde cada par de matemiéticos adyacentes han publicado un ar- ticulo conjunto, En la Tabla I se muestra cusntos matematicos tienen un ntimero de Ends dado, segtin los datos de que disponta el Erd6s Number Project en noviembre de 2001 < Caminos en el grafo de Hollywood En el grafo de Hollywood (véase el Bjemplo 4 de la Sec cin 8.1), dos vértces a y b esti conectados si hay unta cadena de actores conectando a y b de modo que dos actores adyacentes en la cadena han actuado en la misma pelicula, En ef grafo de Hollywood, el miimero de Bacon de un actorc se define como la Jongitud del camino més corto que conecta ¢ con el conocido actor Kevin Bacon. A medida que st hacen nuevas peliculas incluyendo algunas en las que participa Kevin Bacon, el nimero de Bacon de fos actores puede variar. En la Tabla 2 se muestra cuan- {0s actores tienen un nimero de Bacon dado, segtin los datos de que disponia la pégina web Oracle of Bacon en noviembre de 2001 < CONEXION EN GRAFOS NO DIRIGIDOS {Cusindo tiene una red informatics ta propiedad de que dos ordenadores cualesquiera pueden ‘compartir informacién si pueden enviarse mensajes através de uno o mas ondenadores intermedios? Si se utiliza un grafo para representar esta red informitica, con los vértices representando ordena- lores y las atstas representando enlaces de comunicacién, la pregunta se convierte en la siguiente: {bajo qué condiciones existe siempre un camino entre dos vértices cualesquiera del grato? DEFINICION 3 EJEMPLO 5 TEOREMA I EJEMPLO 6 Grafos 533 ‘Tabla 1. Et nimeto de mateméti- Tabla 2. El mimeto de actores 0scon un mimero de Erd6s dado, con un nimero de Bacon dado Niimero Niimero Neimero Mimero deErdds | de personas deBacon | de personas 0 L o 1 502 1 1479 2 13 2 115.204 3 26.422 3 285.929 4 62.136 4 65.021 : 66.157 5 45: 6 32.280 6 7 10.431 7 8 3.214 8 9 953 9 10 262 10 "1 94 2 23 B 4 4 a 15 1 Se dice que un grafo no ditigido es conexo si hay un camino entre eala par de vértices dis- tintos del grato,. ig emai, Por tanto, cada dos ordenadores de la red pueden comunicarse entre sf si, y s6lo si, el prafo de esta red es conexo, El grafo G, de la Figura 2 es conexo, ya que para cada par de vértices distintos hay un camino en- tre ellos (el lector deberia comprobarlo). Sin embargo, el grafo G, de la Figura 2 no es conexo. Por ‘ejemplo, no hay ningiin camino en G, entre a y a. < Necesitaremos el siguiente teorema en el Capitulo 9, Hay un camino simple entre cada par de vérticesdistintos de un gro no dirigido conexo. Demostracién: Sean u y v dos vértices distintos del grafo no dirigido conexo G = (V, E). Como G es conexo, hay al menos un camino entte wy ¥. Seay Xp aX, CON, = uy x, =v, la Secuencia de Yérties de un camino de longitud minima, Este camino de minima longitud es simple. Para verlo, Supongumos que no es simple. Entonces,x,=-x, para algunos iy j con 0 s i 1) del grafo G = (V, Efes un circuito hamiltoniano sity. s..%, 4, es uh Camlind hamiltonisno, 846. Materia dscrtay ss aplicaciones EJEMPLOS lacs cia as [eo « | i » \ / ar eo / / Figura 8, El juego de «La vuelta al mundo» de Figura 9. Una soluciéa al juego de Hamilton «, también llamado «La vuclta al muro elrompe: caberas deserto en esta Sec e¢ un variants de ese jue. Haamiton se cas6 can su tercera nova en 1833, pero su matrimonio no funcio ya que su espos, cas invlida er Incapuz de hacerse cargo de los asuntos domnsticos. Hamion fue alcoho y visi rela ls Jos ultimas decadas 0° su vidi, Mur debido fa pota en 1865, dando montaias depapeles que contenian resultados sin publiear de ss in vestigaciones. Mezslados con ls papeles habia un gran mimeo de platos, muchos de ellos con los estos resecos de ch Jets que Hamilton mi habia toad, EJEMPLO 6 EJEMPLO7 Grofos 847 al beh i gic apace gaeinona ‘| Ky At tL, a Figura 10. Tres grafos simples veces Ja arista (a, ), peto G, contiene un camino hamiltoniano, que es a,b, c,d El graf G, no con- tiene ni un circuto hamiltoniano ni un camino hamniltoniano, ya que cualquier camino que pase por to- ddos los vértices tiene que contener mis de una ver a una de Ia aistas (a. ), (e,y Le, dl < {Hay alguna forma sencilla de determinar si un grafo contiene 0 no un camino o un cireuito hamiltoniano? A primers vista, parece que deberfa haber alguna manera sencilla de hacerlo, ya que hay una manera sencilla de responder la pregunta similar de si un grafo contiene o no un citcuito culeriano. Sorprendentemente, no se conocen condiciones necesasias y suficientes sencillas para la cexistencia de circuitos hamiltonianos, No obstante, se conocen muchos teoremas que dan condi- ciones suficientes para la existencia de circuitos hamiltonianos. También hay ciertas propiedades que se pueden utilizar para demostrar que un grafo no contiene ningin circuito hamiltoniano. Por ejemplo, un grafo con un vértice de grado uno no puede contener un circuito hamiltoniano, ya que en un circuito hamiltoniano cada vértice es incidente con dos aristas del circuit. dems, siun vértice del grafo tiene grado dos, entonces las dos aristas que son incidentes ‘con ese vértice tienen que formar parte de cualquier circuito hamiltoniano. También observamos que cuando se construye un circuito hamihtoniano y este circuito ha pasado por un vértice, pueden descartarse todas las aristas incidentes con ese vértice que no sean las dos usadas en el circ Ademas, un circuito hamiltoniano no puede contener un circuito més pequeiio dentro de él Demuestra que ninguno de los grafos que se muestran en la Figura 11 contiene un circuito ha- ‘miltoniano. Solucién: No hay ningiin circuito hamiltoniano en G, ya que G tiene un vértice de grado uno, que se, En cuanto a H, como los vertices a,b, d y ¢ son todos de grado dos, cualquier arista incidente con estos vértices tiene que formar parte de cualquier circuito hamiltoniano. Ahora es fel ver que ‘no puede existir ningtin circuito hamiltoniano en H, ya que cualquier circuito hamittoniano tendria ‘que contener cuatro aristas incidentes con c, lo que es imposible. < Demuestra que K, contiene un circuito hamiltoniano para todo n = 3. Solucién: Podemos formar un circuito hamilioniano en K, comenzando por cualquiera de sus ve tices. El eircuto se construyd vsitando los vértices en cuaiquier orden que clijamos siempre que el camino comience y termine fn el mismo vértice y que visite a cada uno de los vértices restantes exactamente una vez. Esto e4posible puesto que en K, hay aristas entre cada dos vértices, gee | poss Figura 11. Dos grafos que no Gontienen citcuitos hamiltonianos, [S48 Matemiica discret y sus aplicaciones TEOREMA 3 ‘TEOREMA 4 bees EJEMPLO 8, Aunque no se conocen condiciones necesarias y suficientes titles para la existencia de circu 10s hamiltonianos, se han encontrado bastantes condiciones suficientes, Nétese que cuamtas nds aris- tas tenga un grafo, mis probable es que exista algtin circuito hamiltoniano. Ademés, aid aristas {sin afadir vértices) a un grafo con un circuito hamiltoniano produce un grafo con el mismo circui- to hamiltoniano, Por tanto, a medida que ailadimos aristas a un grafo, especialmente si nos asegu- ramos de affair aristas todos los vertices, vamos haciendo mds y més probable que exista un cir- cuito hamiltoniano en ese grafo. Por ello, es de esperar que haya condiciones suficientes para a existencia de circuitos hamiltonianos que dependan de que el grado de los vértices sea suficiente- mente grande. Enunciamos a continuacién dos de las condiciones suficientes mas importantes, Es tas condiciones fueron descubiertas por Gabriel A. Dirac en 1952 y por Oystein Ore en 1960. TEOREMA DEDIRAC Sea un grafo simple con n vertices para = 3 tal gue todos los ver- tices de G tienen grado mayor o igual que n/2, Entonces, G contiene un circuito hamilioniano, ‘TEOREMA DE ORE _SeaG un grafo simple con n vertices para n = 3 tal gue 64) + 80) = n para cada par de vertices no adyacentes w y v-de G. Entonces, G contiene un cireuito hamil- toniano, 2 age se eS mneee La demostracisn del Teorema de Ore se esboza en el Problema 65 al final de esta secciéin, El TFeorema de Dirac se puede demostrar como corolario del Teorema de Ore, ya que las condiciones del Teorema de Dirac implican las condiciones del Teorema de Ore. Ambos teoremas, e! de Ore y el de Dirac, nos proporcionan condiciones suficientes para que un grafo simple contenga un circuito hamiltoniano, Sin embargo, estos teoremas no dan condi- ciones necesarias para la existencia de un circuito hamiltoniano. Por ejemplo, el grafo C, contie- ne un circuito hamiltoniano, pero no cumple las hip6tesis ni del Teorema de Ore ni del Teorema de Dirac, como el feetor puede comprobar. Los mejores algoritmos que se conocen para encontrar un circuito hamiltoniano en un grafo ‘0 determinar que tal circuito no existe tienen complejidad exponencial en el peor caso (en el ni- ‘mero de vértices del gralo). Es poco probable que exista un algoritmo con complejidad polinémica en el peor caso que resuelva este problema, ya que se ha demostrado que este problema es NP- completo (véase la Seccién 2.3). Por tanto, la existencia de ese algoritmo implicaria que muchos otros problemas que se cree que son intratables podrian resolverse utilizando algoritmos con complejiad polinémica en el peor caso Los caminos y circuitos hamiltonianos pueden emplearse para resolver problemas pricticos. Por ejemplo, muchas aplicaciones requieren encontrar un camino o circuito que visite cada uno de Jos cruces entre las calles de una citidad, cada wna de las intersecciones entre las tuberias de un sis- tema de conducciones 0 cada nodo de una red de comunicaciones exactamente una vez. Hallar un camino o circuito hamiltoniano en el modelo de grafos apropiado puede resolver este tipo de pro- blemas. El famoso problema del viajante pregunta cudl es la ruta mys corta que debe seyuir un ‘viajante para visitar un conjunto de ciudades. Este problema se redude al de hallar un circuito ha- miltoniano en un grafo completo de forma que el peso total de sus afistas sea tan peque'io como sea posible. Volveremos sobre esta cuestiOn en la Seccién 8.6. A continuacién deseribiremos una aplicacién menos obvia de los circuitos hamiltonianos a la codificacion, ‘Cédigos de Gray La posicién de una aguja giratoria se puede representar de manera digital. Una forma de hacerlo es dividir el efrculo en 2° arcos de Ia misma longitud y asignarle una cadena de bits de Tongitud n a cada arco, En la Figura 12 se muestran dos formas dlistintas de hacer esto ui lizando cadenas de bits de Hongitud tres. Puede determinarse la representacisin digital de la posicién de la aguja por medio de tt con: junto de n contactos. Cada contacto se usa para leer un bit de la représentacién digital de la posi- Cin, Esto se ilustra en la Figura 13 para las dos asignaciones de la Figura 12. Grafos S49 Figura 12. Conversidn a forma digital de la posicién de una aguja. Aquiel eer bites 1 — Agutt segundo bites 1 Aguicl err bites 1 Ae eit VP seid ie | Aesit pier ees gate tts AAguielpeimer its 1 quiet trcer bites 1 Agilelterer ites 1 ‘Aqutel segunds ites 1 Figura 13. La representacisn digital dela posicion de ta aguja Cuando la aguja esta cerca de la linea divisoria entre dos arcos, puede haber un error al leer «sa posicin, Esto puede dar lugar a un error grave a la hora de leer la cadena debits. Por ejemplo, cn el esquema de codificacién de la Figura 12(a), si se comete un pequeio error al determinar la posicion de ta aguja, se lee la cadena de bits 100 en Iugar de O11. jLos tres bits son incorrect ‘Para minimizar el efecto de un errar al determinar la posici6n de la aguja, debe hacerse la asig naciOn de las cadenas de bits « los J arcos de manera que dos cadenas de bits que correspondan a arcos adyacentes se diferencien en $n solo bit. Esta es exactamente la situacidn en el esquema de codificacion de la Figura 12(b). Un trror al determinar la posicin de la agua nos da la cadena de bits 010 en lugar de 011. Hay un solo bit incortecto, Un cédigo de Gray es un forma de etiquetar los arcos de la circunferencia de mosto que arcos ad ¥yacentes tengan etiquetas que difieran exactamente en un bit, La asignacién de Ia Figura 12 (b) es un C6digo de Gray. Puede hallarse un cédigo de Gray sin mas que enumerar todas las cadenas de bits de ongitud n de modo que cada cadena difiera exactamente en un bit de lx cadena que le precede y que la ‘ltima cadena difiera de a primera exactamente en una posicién, Podemos representar este problema ulizando el n-cubo Q,, Lo que necesitamos para resolver este problema es un citcuito hamiltoniano en @,, Estos circuitos humiltonianos pueden encontrarseficilmehte, Por ejemplo, en la Figura 14 se mucs. {ra un cieuito hamiltoniano en Q,. Lt secuencia de cadenas de bits que difieren exactamente en un bit producida por este circuito hamiltoniano es 000, 001,011, 010, 110, 111, 101, 100. [550 Matematica dscretay sus aplicaciones ow oo Figura 14. Uni ito hamiltoniano ea Q, Los cédigos de Gray deben su nombre a Frank Gray, quien ls invents en los aos cuarentaen ls Laboratorios AT&T Bell afin de minimizar el efecto de los errores en la transmisign de seals di Problemas En los Problemas 1-8, determina si el grafo correspondiente contiene 0 no un circuito euleriano, Construye uno en el caso de que exist. Sino existe ningin circuito euleriano, determina sil grafo contiene o no un camino euleriano y construye uno con el caso de que exista, 9. En Kaliningrado (el nombre ruso de la ciudad de Kinigs- berg) hay dos pucntesadicionalesalernis de los sete que habia en el siglo xvm, Estos nuevos puentes coucctan las, regiones B y C y las regiones B y D, respectivamente {Puesen cruzarse los nueve puentes de Kaliningrado exac lamente una vez y volver al punto de part’? 10, {Pueden cruzarse todos los puentes que se mueStran en es'e ‘mapa exactamente una ver y volver al punto de pati? 11. {Cuno se podrin pinta las Kineas que separan Jos eae rites de as calles de una ciudad sin pasar mis de una vex por cada calle? (supon que todas las calles son de \doble sentido), 412, Idea un procedimiento, similar al Algoritmo 1, para cconstruir caminos eulerianos en multigrafos, En los Problemas 13-15, determina si se puede o no trazar dibujo correspondiente con un Iipiz de manera continua sin levanta el lipiz del papel y sin repetir ningtin trazo, #16, Demuestra que un multigrafo diigido sin vértices ais lados contiene un eireuito euleriano si, y sélo erafo es débilmente conexo y los grados de entrada y de salida coinciden para cada uno de los vértices "17, Demuestra que un multigrafo dirigido sin vértices ais- lados conticne un camino euleriano, pero no un ci ceuito euleriano, si, y sélo si, el grafo es débilmente ‘conexo y los grados de entrada y de salida coinciden en cada tno de los vértives con dos dnicas excepeiones: tun vértice euyo grado de entrada es una wnidad mayor que cl de salida y otro cuyo grado de salida es una unidad mayor que el de entra, En los Problemas 18-23, determina si el grafo dirigido corres- DDondiente contiene 0 no un circuita euleriano. Construye uno ence caso de que cxista. Si no existe ningin eircuitoeuleriano, 1. (Undicacién: Demuéstralo por induc cién. Muestra cémo se puede obtener un cédigo de Gray de orden a partir de uno de orden ~ 1), (Bl algoritmo de Fleury para construir circuitos eu rianos comienza en un vértice arbitrario de un multigrato co- nexo y forma un circuitoeligiendo aristas sucesivamente. Una vyer.que sc ha elegido una arsta, ésta se elimina, Las aristas se eigen sucesivamente de manera que cada arista comienza don dd acaba la anterior y de modo que Ia aristaelegida no sea aris- ta de corte salvo que no haya otra alternativa, Una ronda de caballo es una secuencia de movi- ‘mientos vilidos del caballo de ajedtez que comientza en una de las casillas y visita cada casilla del tablero exace 50. Utiliza el algoritmo de Fleury para hallar un circuito eu tqmente una vez. Se dice que una ronda de caballo es cieliea Jeriano en el grato G de la Figura 5, sihay un movimiento valido que permite al caballo regresar de la tiltima casifla de la ronda a la casila donde comenz3, Podemos representar las rondas de caballo utilizand el pa. **52. Demucstra que el algoritmo de Fleury produce siempre fo que tiene un vértice por cada casilla del tablero con una tun circuito euleriano, arista conectando dos vértices siempre que el movimiento del caballo entre las dos casillasrepresentadas por esos vér- tices sea valde, "51. Expresa el algoritmo de Fleury en pseudoesdigo. #53. Da una variamte del algoritmo de Pleury que eonstruya ccaminos eulerianos, 3. Dibuja el grafo que representa los movimientos vss 54. Un mensaje de diagnéstico puede enviarse en una red MERE Merce informatica para comprabar el buen funeionamiento ide todos los enlaces y de todos los aparatos, {6 tipo 57. Dibuja el prafo que representa los movimientos vilidos de caminos deberia utilizarse para comprobar el fun- cde un caballo en un tablero 3% 4, JULIUS PETER CHRISTIAN PETERSEN (1839-1910) Julius Petersen nacio nl cia! danesa dle Soa, Sw pate Se dediaba a os tines, En 1854, ss palkeso posian permits pagar sus gastos de escolariza in, at yu eno tablet ‘com aprendi? en tienda de abastos de ut. Coando su ti alle, deja Petersen suficiente dinero para volver ala «scucla.Despuss de graduars,comenzs estos de ingeneraen la Escuela Politécnica de Copenhapuc, sno i a de decisis concerrarsc cn las matemsticas. Publi su primer libro de exo, un libro sobre logavtmos. cn 1838, Cuando se le cab ef dinero de la herencia, tvo que dar clases para mantonese. De 1859 a 1871, Petersen imparts clases en un restzioso nsituto de ensefianra secundaria de Copenhagve. Mientras lato, continu sus estudio, ingresand en a Uni versidad de Copenhague cn 1862. Se e436 con Laura Bertelsen en 1862; tuvieon te jos, ds non} wan Petersen obo un itso en matemicas en 1866 y, Finalmente, st dotorado ef 1871, ambos pr la Universidad de Coperinague, Tras ecb st dactorado, do clases en una academia poiténica militar fen 198) fue nombra profesor de la Universidad de Copenfague. Petersen era conocido en Dinamarta camo autor de una colecciin de libs de testo para Faees I ensefianza tanto secundaria como univesitaria. Uno de ss ios, Métads ytorias pare lareslacin de problem de onsrucciin geoméaria, se traujo a ocho idiomas. La vesininglesa ve reedits en 1960 y la version francesa se hate eritado muy recentemente, en 1990, mas de wn siglo despucs des fecha de publicacén original Petersen hizo contribuciones una gran variedad de seas, ineluyendo el algebra, el andlss, la eriptografia, a cometria, la mecénica, la economia matemtica yl teora de migpetes, Shs trabajos ms comocidos son os Jedi a 'wora de gras, ene ellos los relativ grates regulars, Potersen destciba por su claidad de expsicion, capaci pera resolver problemas, orginal, sentido del humor, vigor y también por las eases que imparia Un hecho imieresame seer cade Petersen esque prefera no eer los eseritos de otros matemiticos Et elev ca fiecuenca a redescubri resultados 8 demostrads por oo a yours con consecuenciasembarizosas. No obstant,jPetersen se enfadabn a meni cuando ‘tros matemiticos no lean ss exits! ‘Lampert de Petersen fie noticia de primera pigina en Copentague. Un prifico de la época le deserbié como el ‘ans Chistian Andersen de la cencia, un hijo del peo que wun enel mundo académieo S54 Matemiticadiserotay sus aplicaciones 58, 8) Dermuesa qu alana ronda de ebllo cn unt 8, Ls apaados se se role xh I demos blero m xe equivalents alarm cing he del Terema de Ore. Se un graosimple con ies millon en el rao gue representa fs mov 23 80) +8) pam cal ds vies wo sane, Ions vids deuncaallo em es ble, tes2e) de GB Fesea de Of sina ice esa on b) emesta gus hl uns ond een de caballo ‘iionesGeonene i tt hamilton. en un tablero m x es equivalente a hallar un cir- a) Demuestra que si G no contiene ningtin circuito ha. cuito hamiltoniano en el grafo correspondiente, riltoniano, entonces existe otro grafo fT cun los ox Dauagetinaccom anal aE = isms wétices qu G, que pus consis a Lees ame diendo aristas a G y tal que el afladir una sola arista, 60, Deroesta gue no hay ninguna ronda decbalo enon preuieaun ecu hamiltonian en. Undo, tablero 3% Ci: Atade sucsivamente en cata véxtie de G 61, ernest que no hay ninguna ronda caballo en un BS a Ha prodecc mae milno tet 'b) Demyestra que hay un camino hamiltoniano en H. 62, Demvesta que el rao que eresenta as movinints ©) Seay cain hai vals de un caballo cau tblerom 1 6 biario Imestia ue 8) + 14) =m ¥ ge hay alo samo param y mens posivos cuales, Biv, veces no hdyacses a, neluyento a pro : pio) 6, Demuestre que no hy nga onda de caballo ikea ae ai s ) Sea. el conned vem que preceden en enum ablero:m >» cuando my 0 Son ambos impares. ‘mino hamiltoniano a tos vértices adyacentes a y, ‘64, Demuesta que hay ua ona de caallo en un blero Demuesta qs conten Bt) veces gue ve § 8% 8, Indicacién; Puedes construir una ronda de cab No utilizando un método inventado por H, C, Warns- dorffen 1823: se comienza en cualquier casilla y a par- tir de ese momento se mueve siempre @ una casilla que esté conectada con el menor nimero posible de casillas ‘in por utilizar. Aunque este método no siempre pro- dduce una ronda de eabsllo, ilo hace con frecuencia). © Demuestra que 5 contiene un vértice v,adyacente a ¥. lo que implica que hay aristas que conectan v con v,,, ¥¥,€0n ¥, 4) Demucsira que el spariado(e) implica que v, Fey Mp hamiltonian en G. Concluye de esta Contradiceién que se cumple cl Teorema de Ore 8.6 Caminos de longitud minima INTRODUCCION ‘Muchos problemas se pueden representar utilizando grafos en Jos que se asigna un peso a cada una de las aristas. Consideremos, a moclo de ilustracién, la forma en que se representa el sistema de vue~ Jos de una Ifnea aérea. Construimos el modelo hisico representando las ciudades mediante vertices ¥ los vuelos mediante aristas, Los problemas relacionados con distancias pueden representarse asignindoles a las aristas las distancias entre ciudades. Los problemas relacionados con tiempos de ‘yuelo se pueden representar asignandoles a las aristas los tiempos de vuclo correspondientes, Los problemas relacionados con tarifas de vuclos pueden representarse asigndndoles costes a las aristas, En la Figura 1 se muestran tes asignaciones diferentes de pesos a las aristas de un grafo, represen. tando distancias, tiempos de vuelo y tarifas, respectivamente. Llamamos grafos ponderados a los grafos en los que se asigna un niémero a cada una de las Arista. Los grafos ponderados se uilizan para representar redes informeticas y pueden emplearse para estudiar los costes de comunicacién (como, por ejemplo, el coste mensual de alquilar una li ‘nea telefénica), los tiempos de respuesta de los orcenadores ola distancia entre ordenadores. En la Figura 2 se muestra tres formas de asignar pesos a las aristas del grafo de una ted informatica que orresponclen a distancias, tiempos de respuesta y costes. Hay diversos problemas relacionados con los grafos ponderados que aparecen con frecuencia Uno de ellos es ef de determinar un camino de longitu minima entre dos vértices de una red. Mis concretamente, definimos la longitud de un camino en un grafo ponderado como la suma de Ios Pesos de las aristas de ese camino (el lector deberta tener en cuenta que este uso de Ia palabra /ov situd es diferente del uso de longiurd para denotar el niimero de aristas de un camino en un grafo sin ponderar). La pregunta es: ;eudl es el camino més corto, esto es, el camino de longitud mi Grafos 585 pf Boston DISTANCILEN MLAS mn — Sof Ya = a. ge Sun Frmcnon 951g eg s0\ per a = ion son rmpospe vor. _—— Toso Pi es Nueva York San Francisco iia | go San Francisen ¢—— $89 — _—— o\ go hs Los Angeles: a Figura 1. Grafos ponderidos que representan el sistema de una linea aérea. ‘ma, entre dos vértices dados? (aunque ese camino puede no ser tinico, lo seguitemos Hlamando ef camino més corto a fin de simplificar la presentaciGn). Por ejemplo, en el sistema aéreo repre- sentado por el grafo ponderado de la Figura 1, zcusl es el camino més corto en distangia uérea en- tte Boston y Los Angeles? ;Qué combinacién de vuelos tiene el menor tiempo total dd Vuelo (esto es, el tiempo total en el aire sin contar el tiempo entre vuelo y vuelo) entre Boston y Lps Angeles? {Cuil es la tarifa mis barata entre esas dos citidades? En la red informatica de la Figurh 2, ccudl es el conjunto mas barato de lineas telefnicas entre todos los que conectan los ordenadores de San Francisco con los de Nueva York? {Qué eonjunto de Iineas telef6nicas proporciona una respues- ‘@ mis rapida al comunicarse entre San Francisco y Nueva York? ;Qué conjunto de lineas cubre menor distancia en total? Otro problema importante que involucta grafos ponderados pide determinar un circuito de ongitud total minima que visite exactamente una vez cada uno de los vértices de un grafo com- pleto. Este es el famoso problema del viajante, que pregunta cual es el orden en el que un viajan- te deberia visitar exactamente una vez cada una de las ciudades de su ruta de manera que la dis- tancia total recorrida sea minima, Volveremos sobre el problema del viajante ms adetante en esta misma seccion, Mates ‘ti a diseretay sus aplicaciones Distancia Roe hi Sogn oi ee Los fags ag Dats “TEMPO RESPURSTA = San Francisco, Sag ‘tse Nueva York va SE Los Anges Ny Daills ALQUILER (AL MES) Boson cchicagn sisoo San Francisoo _—— a5 a ‘Nucva York 81000 Denver a seh — Low, fasts e /, 7 Dalles Figura 2. Grafos ponderados que representan una ted informetica UN ALGORITMO PARA CALCULAR CAMINOS DE LONGITUD MINIMA Hay diferentes algoritmos para hallar un camino de longitud minima entre dos vértices de un grafo ponderado. Presentaremos un algoritmo descubierto por el matemetico holandés Edsger Dijkstra en 1959. La versi6n que describiremos resuelve este problema para grafos ponderados no dirigidos si todos los pesos son positivos. Este algoritmo puede adaptarse ficilmente para resolver proble- ‘mas de caminos de longitud minima en grafos ditigidos. Antes de presentar e] algoritmo formalmente, veremos un ejemplo a modo de motivacién. EDSGER WYBE DIIKSTRA (1930-2002) Esser Distr, ncido en Holanda, eomenz6 a programs endenadores en los primeras aos cincuenta mientras esta fisca trea en la Universidad de Leen, kin 1952, dndose cuema de que ‘estaba mis interesao por la programacin que por la fisca, complet rapidamene ss Heneiatura en fisca y comenz0 camera como programa, aunque por aque! entonces la programacign n0 era un profes reconccida com tl (en 1957, las autores de Amserdam se negaron a acepiar«programatior» conta profesinen a Tcecia de matrimonio de Dijkstra Sin embargo, cuando éste la cambi6 por stisico teorico», las autoridads fa aeptaron). Dijkstra ha sido una de las personas que con mas firmeza ha propuesto que se consiere a la programacién com> ta dsciplina cientfca Ta heebo contrbuciones fundamentals al rea de sisemas operaivos, incluyenda el problema de evita las concurreneias 0 puntos muertos; al tea de lenguajes de programaeicn, incluyendo la nocion de progr ‘macidn estrturada, yal rea de algesitmos. En 1972 se le eon el Premio Turing de la Assocation for Computing Machinery, uno de fos premios de mayor prestigio en el seca dela informstica. Dijkstra fue nombrado Burroughs Research Fellow en 1973 y gané una cétedra en informatica en la Universidad de Texas, en Austin, en 1984, Girafos $57 Figura 3. Un grafo ponderado simple. EJEMPLO I udl es Ia Jongitud del camino mas corto entre @ y 2 enel grafo ponderado de la Figura 3? Solucién: Aunque puede hallarse ficilmente el camino mas corto por simple inspecién, vamos a desarrollar algunas ideas que nos seran itiles para entender el algoritmo de Dijkstra, Resolveremos este problema hallando la longitud de un camino de longitud minima de wa cada uno de los ver. tices sucesivos hasta que Heguemos a 2 Los tinicos caminos que comienzan en a y no contienen més vértices que a antes de alcanzar el vértce final son a, b y a,c. Como las longitudes de a, b y a, d son 4 y 2, respectivamente. ses. gue que d es el vértice més cercano aa. Podemos hallar el siguiente vértice ms vercano examinando todos los caminos que pasan Solo pora y por d antes de alcanzar el vérice final. De entre éstos, el camino mis conto a b sigue siendo a, b, con longitud 4, y el camino més corto a e es a, d, ¢ con longitud 5. Por tanto, el si. guiente vértice mas cercano a a es b. Para hallar el tercer vertice més préximo a a, tenemos que examinar tinicamente aquellos cae ‘mines que pasan solo por a, dy b antes de alcanzar el vértice final. Hay un camino de longitud 7 ie, que es a,b,c, y un camino de longitud 6 a z, que es a d,e,z. Por tanto, zes el siguiente vér- tice més cercano a a, y la longitud de un camino de longitud minima az es 6 < EL Ejemplo 1 ilustra los prineipios generales que se utiizan en el algoritmo de Dijkstra. No- {ese que podriamos haber hallado el camino mis corto de aa z por pura inspeccidn. Sin embargo, | inspeceién no sirve ni para las personas ni para los ordenadores si el grafo tiene muchas arista, Consideremos ahora el problema general de determinar la longitud de un camino de longitud ‘minima entre a y z en un grafo ponderado simple no dirigido. El algoritmo de Dijkstra procede de terminando la longitud de un camino de longitud minima entre a y un primer vértice, la Yongitd de un camino de longitud minima entre @ y un segundo vértice, y ast sucesivamente, hasta deter- ‘minar Ia longitud de un camino de longitud minima entre a y 2, Bi! algoritmo acta realizando una serie de iteraciones. Se construye un conjunto distinguido de vertices al que se aftade un vértice en cata iteracion, Tambin se leva a cabo en cada iteracign un proceso de etiquetado, En este proceso, a cada vértice w se le pone una etiqueta que es la lon gilud de un camino cuya longitudes minima entre lade los caminos de a a w «ue slo pasan por vértices que ya estén en el conjunto distinguido. El vértice que se aiade al conjunto distinguide es cualquiera cuya etiqueta sea minima entre los vértices que ain no estan en el conjunto, ‘Veamos ahora con detalle el algoritmo de Dijkstra. Se comienza asignindole a a la etiqueta Oy a los demés vértices la etiqueta -, Utilizamos la notacién L,(a) = 0 y Ly(v) = «para estas et quetas antes de haber Hevado a cabo ninguna iteracion (el subindice 0 indica la iteracién «0.ési. ‘ma»), Estas etiquetas son Tas longitudes de los caminos mas cortos entre a y cada uno de los ver. tices, tomando el minimo entre aquellos caminos que slo contienen al vértice a (como todavia no existe ningtn camino entre a y un véricedistnto dea, la longitud del camino més corto entre ay cada vérice distinto de él es =). El algoritmo de Dijkstra prosigue formando un conjunto distingudo de vénices. Sea 8, ese Conjunto al cabo de k iteraciones del proceso de etiquetado. Comenzamos con S, = 0. El eonjunto 5, s¢ forma a partir dS, , afludiendo un vértice u cuya etiqueta sea minima entre los vertices que ‘no estin en S, Una vez aadid u a S,actualizamos las etiquetas de todos los vertices que noes. * in en S., de modo que L,(v), la etiqueta del vértie ven el paso k, es la longitud de un camino de [588 Maremicadscretay sus aplicaciones EJEMPLO 2 Jongitud minima entre a y v que slo contiene vértices de 5, (esto es, os vértices que ya estaban en el conjunto distinguido junto con u). Seay un vértice que no esté en S,. Para actualizar la etiqueta de v, observamos que L,(v) es ka Jongitud del camino més corto entre a'y v que sélo pasa por vértices de S,. La actualizacion se puc- de llevar a cabo de forma eficiente si hacemos uso de la siguiente observacion: el camino mais cor- to de aa v que solo pasa por vértices de S, es bien el camino mis corto entre a y v que s6lo pasa por vértices de 5, , (esto es, los vértices distinguidos exceptuando 1) o bien es el resultado de ails irle la arista (u,v) al camino més corto entre a y 1 obtenido en el paso k ~ 1. En otras palabras, La, v) = min{L, (a, ¥),L, (a1) + wee») Este proceso se repite afiadiendo vértces sucesivamente al conjunto distinguido hasta que se aifade el vértice 2, Cuando se afiade al conjunto distinguido, su etiqueta es la longitud del cami- no mas corto entre a y 2. Describimos el algoritmo de Dijkstra en el Algoritmo 1. Mis adelante de~ ‘mostraremos que este algoritmo es correcto. ALGORITMO 1 Algoritmo de Dijkstra procedure Dijkstra(G: grafo ponderado simple y conexo, con todos los pesos positivos) [G tiene vertices esos ws), donde wy, v)) for i:= lton =0 | {os valores iniciales de las etiquetas se asignan de modo que la etiqueta de « es 0 y todas las dems etiquetas son 2 S es el conjunto vaeto} while = ¢S begin w= vértice con L(u) minima entre los vértices que no estin en S S=SU (u) for todos los vértices v que no estén en S. if L(u) + ww, ») < LO) then L(0) = Lu) + wu, v) {esto afade a S un vértice con etiqueta minima y actualiza las etiquetas de los vértives «que no estin en S} ‘end (L(2) = longitud del camino mas corto entre a y 2) EL Ejemplo 2 ilustra cémo funciona el algoritmo de Dijkstra, Mas adelante demostraremos, que este algoritmo siempre procluce la longitud del camino més coro entre dos vértices de un gra- fo ponderado. De hecho, el algoritmo puede modificarse fcilmente para que, ademas de la lon- zgitud del camino ms corto, calcule el drbol de caminos minimos, esto es, el conjunto de caminos nds cortos entre un venice prefijado y el resto de los vertices del grafo, Utiliza el algoritmo de Dijkstra para hallar un camino de longitud minima entre los vérti del grafo ponderado de la Figura 4(a), Solucién: En la Figura 4 se muestran los pasos que sigue el algoritmo de Dijkstra para determinar un camino de longitud minima entre @ y 2. En cada iteraciGn del algoritmo los vértices del conjun- to S,aparecen encerrados en un cfrculo. En cada iteracién se indica un camino de longitud minima entre @ y cada uno de los vértices que sslo contiene vértices de S,. El algoritmo termina cuando se encierra en un cfrculo az, El camino de longitud minima de a a z que se obtiene es ac. b,d, e, 2, de Jongitud 13, < Observacién: Al aplicar el algoritmo de Dijkstra, suele ser ms conveniente mantener las etiquetas de los vértices en cada paso ulilizando una tabla en lugar de volver a dibujar el grafo en cada paso. Grates 589 b 30 # Wine ©2@ 30 Osoc @ °@ ©2@ © Wacha | © O30 Ose O20 Owacro ® Figura 4, Aplicacion del algoritmo de Dijkstra para hallar un camino de longitu minima de a a=. A continuzeién haremos uso de un argumento inductivo para demostrar que el algoritmo de Dijkstra produce la longitud del camino mas corto entre dos vértices a y 2 de un grafo ponderado conexo y no dirigido, Tomaremos como hipstesis de induecién la siguiente afirmaciGn: en la ite- racién k-ésima (i) Iaeetiqueta de cada vértice v que esté en S es la longitud del camino més corto entre ay dicho vértice, y (@ lactiqueta de cada vénice que no esté en 5 es la longitud del camino més corto entre « y dicho vértice que slo comtiene (exceptusndo al propio vértice) vértives de $. Cuando = 0, antes de Hevar a cabo ninguna iteraciGn, § = 0, por lo que la longitud del camino mais corto entre a y cualquier otro vértice es =. Por tanto, el caso base es verdadero. Supongamos que la hipotesis de induccién se cumple para la -ésima iteracién. Sea v el vér- tice que se afiade a $ en la (k + 1)-ésima iteracién, esto es, ves un vértice cuya etiqueta es minima entre las de los vértices que no estaban en S al concluir la k-ésima iteracién (en caso de empate, puede elegirse cualquiera de los vértices con etiqueta minima). De la hipstesis de induccidn se sigue que los vértices que estaban en $ antes de la iteracién (& + 1)-ésima llevan como etiqueta la longitud del camino mas corto desde el vértice a. Ademés, v 1, el ntimero cromético de Ces 3. Para verlo, elegimos un vérti- ce inicial, Para utilizar slo dos colores, tenemos que ir altemando los colores a medida que te orremos el grafo en el sentido cle las agujas del reloj. Sin embargo, el n-ésimo vértice al que le~ amos es adyacente a dos vértices de distinto color, a saber, el vértice (1 ~ I)-ésimo y el primer Vértice. Por tanto, tiene que emplearse un tercer color. < Los mejores algoritmos que se conocen para calcular el nimeto cromitico de un grafo tienen complejidad exponencial en el peor caso (en el niimero de véitices del grafo), Incluso el hallar una aproximacién del niimero cromitico de un grafo es un problema dificil. Se ha demostrado que si hubiera un algoritmo de complejidad potindmica en el peor caso que proporcionase una cota del ‘mimero cromtitico menor igual, en todos los casos, que el doble del niimero cromatico, entonces también existirfa un algoritmo de complejidad polinémica en el peor caso para calcular el niime- ro cromético, APLICACIONES DEL COLOREADO DE GRAFOS El coloreado de grafos tiene una gran vatiedad de aplicaciones en problemas relacionados con plac nificacién y asignacién (nétese que, puesto que no se conoce ningtin algoritmo eficiente para co- lorear grafos, estas aplicaciones no conducen, en general, algoritmos eficientes de planificacién ‘ode asignpcidn). Veremos a continuacién algunos ejemplos de estas aplicaciones. La primera apli ccaci6n tiege que ver con la planificacién de exsimenes finales. Programacién de exsimenes finales {Cémo se pueden programar los examenes finales de una Universidad de modo que ningiin estudiante tenga dos examenes al mismo tiempo? Solucién: Este problema de planificacién se puede resolver uilizando un modelo con grafos en el que los vértices representan las asignaturas y hay una arista entre dos vértices si hay un estudian- {e matriculado en las asignaturas representadas por dichos vértices. Cada segmento horario reser. vado para un examen final se representa mediante un color diferente. Una programacién de los cexdmenes correspond a una coforacién del grafo asociado, Por efemplo, supongamos que se quieren prozramar siete exmenes finales. Supongamos que Jas asignaturas se numeran del 1 al 7 y que las siguientes parejas de asignaturas tienen alumnos en Maremdtiea discret y sus aplicaciones Segment horarioAsignaturas T 16 SVere 4 Macin Figura, Fl grafo que representa la Figura 9. Cémo utilizar una coloracién para planificar los exémenes finales, planifica EJEMPLO 6 EMPLOT dn de los examenes finales, comin: 1y 2,1 y3, Ly 4, 1y7,2y3,2y4,2y5,2y7,3y4,3y6,3y7.4y 5,49 6,596.5 y7y 6y 7. En la Figura 8 se muestra el grafo asociado a este conjunto de asignaturas. Una pro- ‘gramacién consiste en una coloracién de este grafo. Como el mimero cromético de este grafo es 4 (el lector deberia comprobarlo), se necesitan Cuatro segmentos horarios. En la Figura 9 se muestra una coloracién del grafo con cuatro colores ¥ Ia programacién asociada, 4 A continvacién, consideramos una aplicacién a la asignacién de canales de televisidn, Asignacién de frecuencias En Norteamiérica, los canales de televisién del 2 al 13 se asignan de manera que no haya dos estaciones emisoras en un radio de 150 millas que puedan operar en el ‘mismo canal. {Cémo se puede modelar la asignacién de canales mediante la coloracién de gratos? Solucién= Construimos un grafo en el que cata vértice representa a una estacién, Dos vértices son adyacentes si las estaciones correspondientes distan menos de 150 millas. Una asignacién de ca. nales se corresponde con una coloracién del grafo, en la que cada color representa un canal dile- rente, < E] Ejemplo 7 muestra una aplicacién del coloreado de grafios a los compiladores. Almacenamiento en registros Una manera de acelerar la ejecucién de bucles en los compila- dores eficientes ¢s almacenar remporalmente fas variables que se uilizan con mayor frecueneia en registros del mictoprocesador en lugar de almacenarlas en la memoria ordinaria, Dado un bucle en concteto, gcusintos registros se necesitan? “ problema se puede analizar por medio de un mo- delo de coloreado de grafos, Para constnuir el modelo representamos cada variable del bucle mediante un vértice del grafo. Hay una arista entre dos vértices si las variables a las que repre sentan tienen que almacenarse simultdneamente en registros del microprocesador durante la eje- cucién del bucle. Por tanto, el nimero cromidtico del grafo nos da el mimero de registros que hacen falta, puesto que tendremos que asignar registros diferentes a las variables siempre que los verti ‘ees que representan a dichas variables sean adyacentes en el grafo, < Grafos. 579 Problemas En los Problemas 1-4, construye el grafo dual asociado al ‘mapa correspondiente. Determina después el nimero de colo- res que hace falta para colorear el mapa de manera que 00 hhaya dos regiones adyacentes del mismo color. is En los Problemas 5-11, halla el niimero erométice del grafo correspondiente, net oh & eee . a Em snl a : 7. 3 8 adi 5 e a eee . Deid % @ > - Decide, para los grafos de los Problemas 5-11, sise pue~ ‘de 0 no hacer que disminuya su mimero eromatico eli- ‘minando un solo vérice junto con todas las aristas inc dentes con 6 13. Qué grafos tienen niimero cromitico igual « 1? 14. {Cuil es el nimero minimo de colores que hacen fata ‘para colorear un mapa de Estados Unidos? No conside res como adyacentes estados que sélo se tocen en un Punto. Supén que Michigan esté formado por una sola regiGn. Considera los vértiees que representan a Alaska 1 Hawaii como vértices aislados, 15, (Cudl es el nero cromitico de W.2 16, Demuestra que un grafo simple que contenga un circu tocon un niimero impar de vértices no puede colorearse utilizando dos colores, 17. Planifica los exdmenes finales de las asignaturas Mat 115, Mat 116, Mat 185, Mat 195, Inf 101, Inf 102, InF 273 e Inf 473 utilizando cl menor numero posible de ‘segmentos horarios sino hay estudiantes matriculados a Ja vez en Mat 115 y en Inf 473, en Mat 116 y en Inf 473, fen Mat 195 y en Inf 101, en Mat 195 y en Inf 102, en S580 Matemitica discretay ss aplicaciones Mat 115 y en Mat 116, en Mat 115 y en Mat 185, en Mat 185 y en Mat 195 y sf que hay estudiantes matriculados a Ja vez.en cualquier otra combinacién de asignaturas, 18, ;Cudntos canals distintos se necesitan para seis ests- Cones emisoras situadas a las distancias que se mues- tran en la tabla si dos estaciones no pueden emitir por cel mismo canal cuando distan entre si menos de 150 millas? 1) aS eles Le 7 as [175 [200 [ 50 | 100 2 [8s [= [is [is [00 | 0 3_[1s [125 | — [00 | 200 | 250 4 [200 [7s | 100 [ — 210 | 220 5_| 50 [100 [300 [210 | — | i00 6 | 100 [is | 250 | 220 | 100 | — | 19, El departamento de mateméticas tiene seis comisiones que se reinen una ver al mes, ;Cusintas horas de rein Gistntas se necesitan para asegurar que a ningin miem- bro del departamento se le convoca para asistir a dos reuniones ul mismo tiempo si las comisiones son C, (Arias, Bure, Zarzo}, C,= {Bufuel, Lozano, Ruiz}, €,= (Arias, Ruiz, Zarzo),.C, = (Lozano, Ruiz, Zarvo} Arias, Bufuel) y C, * {Bufwuel, Ruiz, Zarzo}? 20. Un 700 quiere constnur habitats naturales en los que ex: hibir tos animales de que dispone. Por desgracia, algu- nos de los animales se comerian a otros si se les diese la ‘oportunidad, {Cémo utilizar un grafo para representar esta situaciGn? ;Como utilizar una coloracién del grafo para determinar el nimero de habitats diferentes que se necesitan y la distribucién de Jos animales en esos habitats? Una eoloracién de aristas de un grato es una asignacién de colores a las aristas de manera que a las aristas incddntes con lun mismo vértice se Jes asignan colores distintes. El ndimero ‘cromitico para aristas de un gralo es el nimero minimo de cofores que se deben utilizar en una coloracién de aristas del rafo. 21, Halla cl nimero cromético para aristas de cada uno de los grafos de los Problemas 5-11 22, Halla el nimero cromitico para aristas de 23. En un bucle de un programa informatico se emplean siete variables. Las variables y los pasos durante Jos ‘cuales aquélias debem almacenarse son: f: pasos del 1 al 6; 1¢ paso 2; v: pasos del 2 al 4; w: pasos 1,3 y 5: asos 1 y 6: y: pasos del 3 al 6, y 2: pasos 4 y 5. {Cusintos registros del microprocesador se necesitan para almacenar estas variables durante la ejecucién del bucle? 24. {Que se puede decir del nimero eromético de un grafo ‘que tiene como subgrafo a K, 25. Demuestra que todo grafo simple con nlimero crométi- 0 igual a 2es bipartito, 26, Demuestra que todo grafo bipartite conexo tiene nie ‘mero cromtico igual a 2. Fl siguiente algortmo se puede utilizar para colorear un gra- fo simple: en primer lugar, se hace una sta ys Ys nd Tos vertices del grafo en orden decreciente de grado, es deci, 8(y,) 2 B(r,) = .-= Hk). Asignamos el color Ia, y al si. guiemte vérice de a lista que no sea adyacente av, (es que hay alguno) y asi sucesivamente a cada vértice Ue la lista «que no sea adyacente a ningin vétie al que se haya asigna. ‘do el color 1, Después le asignamos el color 2 al primer v tice de la ita que tin no haya sido coloreado y asignamos sucesivamente el color 2 los vértices de la lista que estén atin por colorea y que no sean adycentes a vrtices alos que se haya asignado el color 2. Si qucdan vértces sin coloreat le ssignamos el color 3 al primer vérice de la lista que aun no haya sido coloreado y utilizamos el color 3 para colorear sucesivamente aquellos vértces de la isa que estin sin eo- Totear y que no son adyacentes a vértices los que se haya asignado el color 3, Este proveso continga hasta que se han coloread todos los vérties. 27. Construye una coloracién del grafo siguiente uilizando ‘este algoritme, a ’ : ' 4 : i "28, Describe este algoritme de coloracién utilizando pseu docsdigo. "29, Demuestra que la coloracin que preuee este algoritmo puede emplear més colores de los que son estrictamen- te necesarios pra colorear un grafo, Una coloracién k-tuple de un grafo G consiste en asignar a ca vérice de G unfeonjunto de & cotores diferentes de ma- nera que dos vices adyacentes no tengan ningin color en co- main. Denotamos por z,(G) al menor entero positivo 1 tal que G tiene ura coloraién K-tuple que utiliza n colores, Por ejem- Plo, 7,(C.) = 4. Para verlo, observamos que utilizando $610 cuatro colores podemos asignar dos colores a cada vérice de Cy, como se muestra en el dibujo, de manera que ninguna pa- reja de vertices adyacenes tenga un color en comin, Adem’, no se pucden utilizar menos de cuatro colores, porgve a ca tno de los vertices, y v, sole debenasignar fas colores y no Sc les puede asignar ih mismo color a os dos (para mis infor macién acerca de coloraciones &-tupes, véase [MiRO91). si [rojo az} verde, amarillo} [verde amarito) lo, seul) 30. Caleuta los valores a) 44K) Dy 1AK) v) “a Scan G y H Jos grafos de la Figura 3, Caleula a) 1G) by xn Grafos 581 one) 4) 1H) {Cuan vale ¥,(G) si entero positive? sun grafo bipartto y es un 33, Las freeuencias para los tefonos méviles se asignan Por zonas. A cada zona se le asigna un conjunto de fre- ‘evencias para que sean utlizadas por los teléfonos en ta zona, No se puede utilizar a misma frecuencia en zonas donde haya problemas de intrferencia. Explica cémo se puede utilizar una coloracién k-tuple para ssignar & fte- ‘ouencias a cada zona de una regién, #34. Demuestra que todo grafo plano se puede colorear ul lizando seis colores 0 menos. (Indicacién: Uiliza la induccidin sobre el mimero de vertices del grafo. Aplica 1 Corolatio 2 dle la Seccién 8.7 para obtener un vértice con 8(v) = 5. Considera el subgrato de G obtenido al climinar vy los vérticesineidemtes con él), 935. Demuestra que todo grafo plano se puede colorear uti- Jizando cinco colores o menos. (Indicacién: Uiliza la indicacién que se dio en el Problema 34), Términos clave y resultados ‘TERMINOS, arista no dirigida: una arista asociada al conjunto [1 v) donde 1 y x son vertices arista dirigida: una arista asociada al par ordenado (u, 6) ‘donde u y v son vértices, aristas multiples: aristas distinias concetando a los mismos vértices Dbucle o lazo: ua arsta que conecta un vertice consigo mismo rafo no dirigido: un conjunto de vértces junto con un con- junto de aristas no dirigidas que conectan a estos vértices entre sé {rafo simple: un grafo no dirigido sin bucles ni aistas mil ples ‘multigrafo: un grafo no dirigide que puede tener aristas mil tiples, pero no bucles pseudografo: un grafo no dirigido que puede tener arista mtiples y bucles rafo dirigido: un conjunto de vértices junto con un con} Junto de aristasdirigidas que conectan a estos vértices en tte si ‘ultigrafo dirigido: un grafo con aristas dirigidas que puede rigidas nltiples dos vertices son adyacemtes si hay una arista entre incidente: una arista es incidente con un vétice si el vértice es tun extremo de fa aista 80) (grado del vértice v de un grafo no di 10 de aristasincidentes con v 5 (9) (grado de entrada del vértice » de un grat dirigido)t el mimero de aristas que tienen a v como vértice final igido): el nvime- (©) (grado de salida del vértice » de un grafo dirigidoy: nimero de aristas que tienen ay como vértice iniciat srafo no dirigido subyacente a un grafo con aristas ditigi- das: el grafo no dirigido que se obtiene al ignorar las di- reeciones de las aristas K, (grafo completo de n vertices): el grafo no ditigido con n vertices tal que cada pareja de vértices esta conectada por una arsta af bipartito: un wrafo cuyo econjunto de vésties est divi. ‘ido en dos subconjuntos Vy V, tales que cada arsta del _grafo conecta un vértice de V, con un vértice de V, ,, , (grafo bipartito completo}: el grafo cuyo conjunto de ‘eértices esti cvidido en dos subconjuntos, con m y m ele- ‘mentos respectivamente, de manera que dos vertices son adyacentes si, y silo si, unoesté en el primer subeonjumto y el otro estéen el segundo , (ciclo de longitud n), 1 2 3: el grafo von n vértices ¥ wn YJ ALS | Vy [PUP or (My Yule Dy W, (rueda de tamano n), = 3: ci grafo gue se obtieat a pare tir de C, afadiendo un vértice y las aristas desde este vér tice a ls vértices onginales de C, @, (n-cubo), m 2 1: el grafo que tiene como vertices las 2 ca dena de bits de longitud 1 y en el que dos eadenas de bits estin conectadas por una arista si v s6lo i, dfieren exac- tamente en un bit vértie aislado: un vértie de grade coro hhoja: un vértce de grado uno grafo regular: un grafo en el que todos los vértices tenen el mismo grado" subgrafo de un grafo G = (V, ): un grafo (W, F) tal que W ¢€s subconjunto de V y F es subconjunto de E ‘582 Matematica discretay sus aplicaciones G,UG, anion de Gy WE) ¥G.= Wy ED amatriz de adyacencia: una matiz que representa aun grafo utlizando larelacdn de adyacencia entre vértices matriz de incidencia: una matriz que representa a un grafo utlizando la elacién de incideneia entre vertices y arstas _grafos simples isomorfos: los grafos simples G, = (V,.,)y G, = (Vs. 9 son isomorfos si hay una funcidn biyectiva de V, en V,tal que 70), f07,)] € E,si,y s6lo si (1,951 «© F, para cualesquieraclementos vy v, de V, invariant: uns propiedad que dos grafos deben curls, 0 no cumplir, ala ver. por el hecho de ser isomorfos ‘amino de wa » en un grafo no dirigide: una sucesion de E55 €OM e, ascciado a |x, x,,] para i= 0,1, 1 n,siendo x, = Uy 5, camino de wa y en un grafo con aristas dirigidas: una su- cesin de asta, CON ¢, asociado a (aa 1=0, 1, oa, siondo k= 'y x, = camino simple: un camino que Ho contiene ninguna arista mis de una v ) (Qué significa que una propiedad sea un invariante bajo isomorfismo de grafos simples? Da al menos ‘co ejemplos de estos invariant. Da un ejemplo de dos grafos tales que el ndmero de vyétices, el de aristas y los grados de los vertices coin- cidan, pero que los dos grafos no sean isomorfos. 4) ¢Se conoce algiin conjunto de invariantes que pueda utilizarse de manera eficiente para determinar si dos _grafos son o no isomorfos? ) 4) {Que significa que un grafo sea conexo? )_ {Qué son las componentes conenas ce un grafo? . a) Explica cémo se puede utilizar una mattiz de adya- ‘cencia para epresentar un grafo, b)_ {Cémo se pueden utilizar las matrices de adyacencia para determinar si una funcin del conjunto de vérti- ‘ces de un grafo G en el eonjunto de vénices de un gr fo H eso no un isomorfisma? ©) {Cémo se puede milizar la matriz de adyacencia de un rao para determinar el rtimero de caminos de longitud entre des vétces de un gato, sndo un entero positive? a) Define los conceptos de cireuito euleriano y de earni= no euleriano cn un grafo no dirigida, Describe el famoso problema de los puentes de Ki- nigsberg y explica edmo se puede reformular en té1- ‘minos de tn cieuito evleriano, 18, 16. rs 18, 19, 20. Girafos $83 ©) {Cémo se puede determinar si un grafo no ditigido contiene 0 no un camino euleriano”? 4) {Como se puede determinar si un grafo no ditigido contiene no un creuito euleriane? 8) Define el concepto de circuito hamiltoniano en un _grafo simple, bb) Enuncia algunas de las propiedaces de un grafo simple «que implican que el grafo no contiene ningtin circuito hhamiltoniano Da al menos dos ejemplas de problemas que se puedan re- solver hallanddo un camino de longitud minima en un gra fo ponderado, 4) Describe el algoritmo de Dijkstra para hallar un cami- no de longitud minima entre dos vérices en un grafo ponderado. }) Dibuja un grafo ponderado con al menos die? vértces ¥ veinte aristas, Utiliza el algoritmo de Dijkstra para hallar un camino de longitud minima entre los dos vertices que elias del graf, a) {Qué significa que un grafo sea plano? 1) Da un ejemplo de un grafo que no sea plano, a) (Cul es ta formula de Euler para grafos planos? 1b) {Como se puede utilizar la f6rmula de Euler para gra fos planos a fin de determinar si un grafo simple es 0 no un grafo plano? Enuncia el Teorema de Kuratowski sobre grafos planos y cxplica de qué forma caracteriza ese resultado los gratos panos a) Define el concepto de nimero cromitico de un rato. bb) {Cua es el nimero cromatico del grafo K, si es un entero positivo cualquiera? ©) {Cual es el niimero cromatico del grafo C, sin es un entero positivo cualquiera mayor que 2? cs el mimero cromitico del grafo K, sim, 1 son enteros positivos cualesquiera? Emuncia el teorema de los euatro colores. ;Hay grafos que no se puedan colorear con cuatto colores? . Explica cémo se puede utilizar la coloracién de grafs tla hhora de modelar problemas, Da al menos dos ejemplos Alifprentes, [584 Maremiticadisereta y sus aplicaciones Problemas complementarios 1. ;Cufintasaristas tiene un grafo $0-regular con 140 vér- tives? 2% {Custos su En los Problemas 3-5, determina si el correspondiente par de arafos es 0 no isomorto, fos no isomerfos distinos tiene oe EL grafo m>partto completo K, ene el conjunto de erie vido en m conju Con =, clemeton Ca uo, ds veins son adyacetes sl 366 pertencen, # subonjuntosdstntos dea partion, 6, Dibuja tos siguientes grafos ak, b) K, 9 Kaas #7, {Cuamlos vértices y eusintas aristas tiene el graf m- Partito completo kK, ? 8. a) Demuestra la veracidad o flsedad dela afirmacion de {que en todo grafo simple finito con al menos dos vér tices hay siempre dos véntices con el mismo grado. }) Haz lo mismo que en el apartado (a) para multigra- fs finitos, ‘Sea G = (VE) un grafo simple. El subgrafo inducido por un ssubconjunto WV del conjunto de vérices V es el erufo (W, F), siendo F el conjunto de las aristas de E cuyas dos extremos es- vin en W. 9. Se considera el grafo de la Figura 3 de la Seccién 84. Halla los subgrafos inducides por a) {a,b,c} b) lovee) © Ibetahb 10. Sea n un entero positive, Demuestra qug todo subgrato inducido por un subeonjunto no vacio del conjunto de vértices de X, es un grafo completo, Una etique de un grafo simple no dirieidots un subgrato ‘completo que no esta contenido en ning subgrafo completo ‘mas grande, En los Problems 11-13, determina todas las cli= ques del grafo correspondiente. sea ‘ F Un conjunto dominante de vérices de un grat simple es un Conjunto de vértices tal que cualquier otro vértice es adyacen- {ea algiin vértice de ese conjunto, A un conjunto dominante con el nimero minimo de vénices se e lama conjunto domi- ante minimo. En los Problems 14-16, halla un conjunto

You might also like