{"id":915,"date":"2026-03-17T08:15:01","date_gmt":"2026-03-17T07:15:01","guid":{"rendered":"https:\/\/clases.jesussoto.es\/?p=915"},"modified":"2026-03-27T13:20:57","modified_gmt":"2026-03-27T12:20:57","slug":"mad-teoria-de-grafos","status":"publish","type":"post","link":"https:\/\/clases.jesussoto.es\/?p=915","title":{"rendered":"MAD: Teor\u00eda de Grafos"},"content":{"rendered":"<p>Comenzamos con la teor\u00eda de grafos. Para adentrarnos en este tema, hablamos de dos ejemplos que nos ilustran perfectamente nuestro contenido:<\/p>\n<ul>\n<li><a href=\"http:\/\/es.wikipedia.org\/wiki\/Problema_de_los_puentes_de_K%C3%B6nigsberg\" target=\"_blank\" rel=\"noopener noreferrer\">El problema de los puentes de K\u00f6nigsberg<\/a><\/li>\n<li><a href=\"http:\/\/cifrasyteclas.com\/2014\/02\/26\/el-problema-matematico-que-nacio-en-un-campo-de-trabajo-de-la-segunda-guerra-mundial\/\" target=\"_blank\" rel=\"noopener noreferrer\">El problema matem\u00e1tico que naci\u00f3 en un campo de trabajo de la Segunda Guerra Mundial<\/a><\/li>\n<\/ul>\n<p>Para las diferentes definiciones que utilizaremos: grafos, digrafos y multigrafos y otras m\u00e1s, seguimos la bibliograf\u00eda recomendada.<\/p>\n<p><strong>Bibliograf\u00eda recomendada<\/strong><\/p>\n<ul>\n<li>Cap\u00edtulo 2 de N\u00fameros y Grafos, Juan de Burgos, ingebook<\/li>\n<li>Temas 7 y 9 de Matem\u00e1tica Discreta, F\u00e9lix Garc\u00eda, Edt. Thomson<\/li>\n<\/ul>\n<p>Tambi\u00e9n os recomiendo el visionado de este v\u00eddeo:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rtve.es\/alacarta\/videos\/universo-matematico\/paterna-universo-matematico-20100924-1905\/886229\/\">Euler: una superestrella<\/a><\/li>\n<\/ul>\n<hr \/>\n<h2>Grafo<\/h2>\n<blockquote><p>En matem\u00e1ticas y ciencias de la computaci\u00f3n, un grafo (del griego grafos: dibujo, imagen)\u200b es un conjunto de objetos llamados v\u00e9rtices o nodos unidos por enlaces llamados aristas o arcos, \\(G=(V,\\mathcal{E})\\), que permiten representar relaciones binarias entre elementos de un conjunto.\n<\/p><\/blockquote>\n<p>Nosotros trabajaremos con grafos donde \\(0&lt;|V|\\) y finito; sin embargo, el cardinal de \\(\\mathcal{E}\\) puede ser cero. Si \\(V=\\{v_1,\\ldots,v_2\\}\\) todo elemento de \\(e\\in \\mathcal{E}\\) es un par de elementos de \\(V\\); es decir \\(e=\\{v_i,v_j\\}\\) para \\(v_i,v_j\\in V\\). Al elemento \\(\\{v_i,v_j\\}\\in \\wp(V)\\) se le denomina par no ordenado; as\u00ed \\(\\mathcal{E}\\subseteq \\{x\\in {\\wp}(V):|x|=2\\}\\) es un conjunto de pares.<\/p>\n<p>Generalmente tratamos como grafo al conjunto anterior, pero si queremos ser precisos deber\u00edamos decir grafo no dirigido.<\/p>\n<p>Se llama <strong>orden<\/strong> del grafo \\(G=(V,\\mathcal{E})\\) a su n\u00famero de v\u00e9rtices, \\({\\displaystyle |V|}\\).<\/p>\n<p>El <strong>grado de un v\u00e9rtice<\/strong> en un grafo es el n\u00famero de aristas incidentes a \u00e9l. En un grafo dirigido, se puede distinguir entre grado de salida (\u00aboutdegree\u00bb, n\u00famero de arcos que salen del v\u00e9rtice) y grado de entrada (\u00abindegree\u00bb, n\u00famero de arcos que llegan al v\u00e9rtice); un v\u00e9rtice fuente es un v\u00e9rtice con grado de entrada cero, mientras que un sumidero es un v\u00e9rtice con grado de salida cero.<\/p>\n<p>Llamamos <strong>grado de un grafo<\/strong> a la suma de los grados de todos sus v\u00e9rtices.<\/p>\n<p>Un <strong>bucle <\/strong>es una arista que relaciona al mismo nodo; es decir, una arista donde el nodo inicial y el nodo final coinciden.<\/p>\n<blockquote><p><strong>Proposici\u00f3n:<\/strong> Dado un grafo \\(G:(V,\\mathcal{E})\\) \\[\\mathbf{gr}(G)=2|\\mathcal{E}|\\]<\/p><\/blockquote>\n<p><!-- ejemplo de utilizaci\u00f3n de grafos en html. Para esto necesitamos insertar una funci\u00f3n especial en functions.php --><\/p>\n<blockquote><p><strong>Ejercicio<\/strong>: Determinar el grado del grafo <\/p>\n<div id=\"miGrafo5Cytoscape\" style=\"width: 350px; height: 200px; margin-left: auto; margin-right: auto;\"><\/div>\n<p><!-- [grafo_cytoscape] esto es necesario para que se vean los grafos--><br \/>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n  const container = document.getElementById('miGrafo5Cytoscape');\n  if (container) {\n    const cy = cytoscape({\n      container: container,\n      elements: [\n          { data: { id: 'n1', label: '' } },\n          { data: { id: 'n2', label: '' } },\n          { data: { id: 'n3', label: '' } },\n          { data: { id: 'n4', label: '' } },\n          { data: { id: 'n5', label: '' } },\n          { data: { source: 'n1', target: 'n2', label: '' } },\n          { data: { source: 'n2', target: 'n3', label: '' } },\n          { data: { source: 'n2', target: 'n3', label: '' } },\n          { data: { source: 'n2', target: 'n5', label: '' } },\n          { data: { source: 'n4', target: 'n4', label: '' } }\n     ],\n      style: [\n          {\n            selector: 'node',\n            style: {\n              'background-color': '#000',\n              'label': 'data(label)',\n              'width': 15,  \/\/ Establece el ancho del nodo a 30 p\u00edxeles\n              'height': 15 \/\/ Establece la altura del nodo a 30 p\u00edxeles\n            }\n          },\n          {\n            selector: 'edge',\n            style: {\n              'width': 2,\n              'line-color': 'blue',\n              'label': 'data(label)',\n              'curve-style': 'bezier',\n              'target-arrow-shape': 'none' \/\/ triangle si es un grafo dirigido\n            }\n          }\n        ],\n        layout: {\n        name: 'grid'\n      },\n      zoomingEnabled: false \/\/ Deshabilita el zoom con la rueda del rat\u00f3n \n    });\n  } else {\n    console.error(\"No se encontr\u00f3 el contenedor con el ID 'miGrafo1Cytoscape'\");\n  }\n});\n<\/script>\n<\/p><\/blockquote>\n<p><script>\nfunction showHtmlDiv1d3e3() {\n  var htmlShow1d3e3 = document.getElementById(\"html-show1d3e3\");\n  if (htmlShow1d3e3.style.display === \"none\") {\n    htmlShow1d3e3.style.display = \"block\";\n  } else {\n    htmlShow1d3e3.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv1d3e3()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show1d3e3\" style=\"display: none;\">\n<p>\\(\\mathbf{gr}(G)=10\\)<\/p>\n<\/div>\n<hr \/>\n<p>Dos o m\u00e1s aristas son paralelas si relacionan el mismo par de v\u00e9rtices.<\/p>\n<p>Como hemos dicho, es habitual nombrar como grafo a un grafo no dirigido; sin embargo, s\u00ed explicitamos cuando es un grafo dirigido o digrafo. En este caso, \\({\\displaystyle \\mathcal{E}\\subseteq \\{(a,b)\\in V\\times V:a\\neq b\\}\\,}\\) es un conjunto de pares ordenados de elementos de \\({\\displaystyle V}\\). A los elementos de \\(\\mathcal{E}\\) los llamamos aristas. Dada una arista \\({\\displaystyle (a,b)}\\), \\({\\displaystyle a}\\) es su nodo inicial y \\({\\displaystyle b}\\) su nodo final.<\/p>\n<p>Se llama <strong>orden<\/strong> del grafo \\({\\displaystyle G}\\) a su n\u00famero de v\u00e9rtices, \\({\\displaystyle |V|}\\).<\/p>\n<p>El <strong>grado de un v\u00e9rtice<\/strong> o nodo \\({\\displaystyle v\\in V}\\) es igual al n\u00famero de aristas que lo tienen como extremo. Un grafo <strong>regular<\/strong> es un grafo en el que cada v\u00e9rtice tiene el mismo n\u00famero de vecinos, es decir, cada v\u00e9rtice tiene el mismo grado.<\/p>\n<p>Un <strong>bucle<\/strong> es una arista que relaciona al mismo nodo; es decir, una arista donde el nodo inicial y el nodo final coinciden.<\/p>\n<p>Si se quiere remarcar la inexistencia de m\u00faltiples aristas entre cada par de v\u00e9rtices (y en el caso no dirigido, excluir bucles) el grafo puede llamarse <strong>simple<\/strong>. Por otra parte, si se quiere asegurar la posibilidad de permitir m\u00faltiples aristas, el grafo puede llamarse <strong>multigrafo<\/strong>.<\/p>\n<h3>Propiedades<\/h3>\n<ul>\n<li><strong>Adyacencia<\/strong>: Dos aristas son adyacentes si tienen un v\u00e9rtice en com\u00fan, y dos v\u00e9rtices son adyacentes si una arista los une.<\/li>\n<li><strong>Incidencia<\/strong>: una rista es incidente a un v\u00e9rtice si esta lo une a otro.<\/li>\n<li><strong>Ponderaci\u00f3n<\/strong>: corresponde a una funci\u00f3n que a cada arista le asocia un valor (costo, peso, longitud, etc.), para aumentar la expresividad del modelo. Esto se usa mucho para problemas de optimizaci\u00f3n, como el del vendedor viajero o del camino m\u00e1s corto.<\/li>\n<li><strong>Etiquetado<\/strong>: distinci\u00f3n que se hace a los v\u00e9rtices y\/o aristas mediante una marca que los hace un\u00edvocamente distinguibles del resto.<\/li>\n<\/ul>\n<h3>Grafo completo<\/h3>\n<p>Un grafo completo es un grafo simple donde cada par de v\u00e9rtices est\u00e1 conectado por una arista.<\/p>\n<p>Un grafo completo de \\(n\\) v\u00e9rtices tiene \\({\\displaystyle n(n-1)\/2}\\) aristas, y se denota \\({\\displaystyle K_{n}}\\). Es un grafo regular con todos sus v\u00e9rtices de grado \\({\\displaystyle n-1}\\).<\/p>\n<blockquote><p><strong>Ejercicio:<\/strong> Dibujar \\({\\displaystyle K_{4}}\\)<\/p><\/blockquote>\n<hr \/>\n<h3>Grafos bipartitos<\/h3>\n<p>Un grafo bipartito es un grafo cuyos v\u00e9rtices se pueden separar en dos conjuntos disjuntos, de manera que las aristas no pueden relacionar v\u00e9rtices de un mismo conjunto.<\/p>\n<p>Veamos la definici\u00f3n formal:<\/p>\n<blockquote><p>\n<strong>Definici\u00f3n<\/strong>: Un grafo \\({\\displaystyle G=(N,\\mathcal{E})}\\) es bipartito si \\(N\\) se puede particionar en dos conjuntos \\(U\\) y \\(V\\), es decir, tal que \\({\\displaystyle U\\cup V=N}\\) y \\({\\displaystyle U\\cap V=\\emptyset }\\), de manera que las aristas s\u00f3lo pueden conectar v\u00e9rtices de un conjunto con v\u00e9rtices del otro; formalmente:<br \/>\n\\({\\displaystyle \\forall u_{1},u_{2}\\in U,\\forall v_{1},v_{2}\\in V}\\) no existe ninguna arista \\({\\displaystyle e=(u_{1},u_{2})}\\) ni \\({\\displaystyle e=(v_{1},v_{2})}\\).\n<\/p><\/blockquote>\n<p>Los grafos bipartitos suelen representarse gr\u00e1ficamente con dos columnas (o filas) de v\u00e9rtices y las aristas uniendo v\u00e9rtices de columnas (o filas) diferentes.<\/p>\n<p>Los dos conjuntos U y V pueden ser pensados como un coloreo del grafo con dos colores: si pintamos los v\u00e9rtices en U de azul y los v\u00e9rtices de V de verde, obtenemos un grafo de dos colores donde cada arista tiene un v\u00e9rtice azul y el otro verde. Por otro lado, si un grafo no tiene la propiedad de que se puede colorear con dos colores no es bipartito.<\/p>\n<p>Un grafo bipartito con la partici\u00f3n de los v\u00e9rtices en U y V suele denotarse G = (U, V, E). Si |U| =|V|, esto es, si los dos subconjuntos tienen la misma cantidad de elementos o cardinalidad, decimos que el grafo bipartito G es <strong>balanceado<\/strong>. Si todos los v\u00e9rtices del mismo lado de la bipartici\u00f3n tienen el mismo grado, entonces G es llamado grafo <strong>birregular<\/strong>.<\/p>\n<p>Una aplicaci\u00f3n la vemos en an\u00e1lisis de redes sociales; las redes di\u00e1dicas son redes bimodales que se pueden representar como grafos bipartitos. Sin embargo, tambi\u00e9n se pueden definir grafos bipartitos sobre redes unimodales. Redes di\u00e1dicas son redes bimodales en que los actores de un tipo se relacionan solo con los del otro tipo. Por ejemplo, una red de donaciones de empresas privadas a organizaciones sin fines de lucro.<\/p>\n<blockquote><p><strong>Ejercicio:<\/strong> Demuestra que un grafo $G$ es bipartito si y solo si no contiene ciclos de longitud impar.<\/p><\/blockquote>\n<p><script>\nfunction showHtmlDiv1b3() {\n  var htmlShow1b3 = document.getElementById(\"html-show1b3\");\n  if (htmlShow1b3.style.display === \"none\") {\n    htmlShow1b3.style.display = \"block\";\n  } else {\n    htmlShow1b3.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv1b3()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show1b3\" style=\"display: none;\">\nPara resolverlo, te sugiero seguir estos pasos:<\/p>\n<p>Implicaci\u00f3n Directa ($\\Rightarrow$): Sup\u00f3n que $G$ es bipartito con conjuntos de v\u00e9rtices $U$ y $W$. Si tomas un ciclo $v_1, v_2, \\dots, v_k, v_1$, observa c\u00f3mo deben alternarse los v\u00e9rtices entre $U$ y $W$. \u00bfQu\u00e9 ocurre con $k$? Si el v\u00e9rtice de partida, $v_1$, est\u00e1 en $U$, $v_k$ tiene que estar en $W$, puesto que es bipartito, y la longitud siempre ser\u00e1 par.<\/p>\n<p>Implicaci\u00f3n Inversa ($\\Leftarrow$): Sup\u00f3n que $G$ no tiene ciclos impares. Define una distancia $d(u, v)$ como el camino m\u00e1s corto entre dos v\u00e9rtices. Intenta construir los dos conjuntos de la partici\u00f3n bas\u00e1ndote en si la distancia desde un v\u00e9rtice fijo $r$ es par o impar. Esto siempre se puede hacer, pero hay que demostrar que no produce contradicciones.<\/p>\n<p>Una contradicci\u00f3n ser\u00eda que existiera una arista entre dos v\u00e9rtices con distancia al origen del mismo tipo (ambas pares o ambas impares). Supongamos que ocurre entre v\u00e9rtices \\(u\\) y \\(v\\); es decir, \\(d(u,v)=1\\), sus caminos m\u00ednimos al origen \\(r\\): \\(d(r,u)\\) y \\(d(r,v)\\) ambas pares. Entonces, un ciclo de \\(r\\) a \\(u\\) a \\(v\\) a \\(r\\) tendr\u00e1 longitud: \\[d(r,u)+d(r,v)+1=\\dot{2}+1\\]<br \/>\nEsto es impar y eso es una contradicci\u00f3n. Por tanto, no pueden ocurrir contradicciones y el m\u00e9todo nos dar\u00eda la partici\u00f3n del grafo.\n<\/p><\/div>\n<hr \/>\n<blockquote><p><strong>Ejercicio:<\/strong> Sea el grafo \\(G(V,\\mathcal{E})\\), donde  $V=\\{A, B, C, D, E, F\\}$ y $\\mathcal{E}=\\{(A,B), (B,C), (C,D), (D,E), (E,F), (F,A)\\}$. \u00bfEs un grafo bipartido?<\/p><\/blockquote>\n<p><script>\nfunction showHtmlDiv1b32() {\n  var htmlShow1b32 = document.getElementById(\"html-show1b32\");\n  if (htmlShow1b32.style.display === \"none\") {\n    htmlShow1b32.style.display = \"block\";\n  } else {\n    htmlShow1b32.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv1b32()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show1b32\" style=\"display: none;\">\nUtiliza el procedimiento anterior para dibujarlo.\n<\/div>\n<hr \/>\n<p>Un grafo bipartito <strong>completo<\/strong> es un grafo bipartito en el que todos los v\u00e9rtices de uno de los subconjuntos de la partici\u00f3n est\u00e1n conectados a todos los v\u00e9rtices del segundo subconjunto, y viceversa. El grafo completo bipartito con particiones de tama\u00f1o \\({\\displaystyle \\left|V_{1}\\right|=m}\\) y \\({\\displaystyle \\left|V_{2}\\right|=n,}\\) es denotado como \\({\\displaystyle K_{m,n}\\,}\\)<\/p>\n<blockquote><p><strong>Ejercicio:<\/strong> Dibujar \\({\\displaystyle K_{3,4}\\,}\\)<\/p><\/blockquote>\n<hr \/>\n<blockquote><p><strong>Ejercicio:<\/strong> \u00bfCu\u00e1ntas aristas tiene \\({\\displaystyle K_{m,n}\\,}\\)?<\/p><\/blockquote>\n<hr \/>\n<h2>Grafo de los divisores de un n\u00famero<\/h2>\n<p>Un ejercicio sencillo es dibujar un grafo que representa los divisores de un n\u00famero. Por ejemplo, consideremos el n\u00famero 12, sus divisores son [1,2,3,4,6,12]. Ahora establecemos las aristas dirigidas, considerando una arista de <em>v<\/em> a <em>u<\/em> si <em>v<\/em> divide a <em>u<\/em> y no hay un divisor intermedio.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Divisors_12.svg#\/media\/Archivo:Divisors_12.svg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/d\/d1\/Divisors_12.svg\" alt=\"Divisors 12.svg\" height=\"125\" width=\"335\"><\/a><br \/>De <a href=\"\/\/commons.wikimedia.org\/w\/index.php?title=User:KleinKlio&amp;action=edit&amp;redlink=1\" class=\"new\" title=\"User:KleinKlio (page does not exist)\">Klaus R\u00f6der<\/a> &#8211; <span class=\"int-own-work\" lang=\"es\">Trabajo propio<\/span>, <a href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\" title=\"Creative Commons Attribution-Share Alike 3.0\">CC BY-SA 3.0<\/a>, <a href=\"https:\/\/commons.wikimedia.org\/w\/index.php?curid=1329969\">Enlace.<\/a> Grafo que representa los divisores del n\u00famero 12. La distancia entre 1 y 6 es 2, por los caminos 1-2-6 o 1-3-6. La distancia entre 1 y 12 es 3.<\/p>\n<p>Para construir un grafo que represente los divisores de un n\u00famero \\( n \\), seguimos este procedimiento:<\/p>\n<ol>\n<li><strong>Nodos<\/strong>: Cada nodo representa un divisor de \\( n \\).<\/li>\n<li><strong>Aristas<\/strong>: Se dibuja una arista dirigida desde el nodo \\( a \\) al nodo \\( b \\) si \\( a \\) es divisor de \\( b \\) y no hay un divisor intermedio \\( c \\) tal que \\( a \\) divide a \\( c \\) y \\( c \\) divide a \\( b \\).<\/li>\n<\/ol>\n<p>En adelante, a estos grafos, los llamaremos <strong>grafos de divisibilidad<\/strong> de un n\u00famero.<\/p>\n<blockquote>\n<p><strong>Ejercicio<\/strong>: Construir el grafo de divisibilidad del n\u00famero 24.<\/strong>\n<\/p>\n<\/blockquote>\n<p><script>\nfunction showHtmlDiv1d3e() {\n  var htmlShow1d3e = document.getElementById(\"html-show1d3e\");\n  if (htmlShow1d3e.style.display === \"none\") {\n    htmlShow1d3e.style.display = \"block\";\n  } else {\n    htmlShow1d3e.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv1d3e()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show1d3e\" style=\"display: none;\">\n<p><img decoding=\"async\" src=\"https:\/\/uploads.jesussoto.es\/grafos\/grafoDivis24.png\" width=\"398\" style=\"max-width:90%;\" loading=\"lazy\" alt=\" (Graphics) \" class=\"aligncenter size-medium wp-image-1235\"\/><\/p>\n<\/div>\n<hr \/>\n<h2>Grafo de Coprimalidad<\/h2>\n<p>Sea $S$ un subconjunto de los n\u00fameros naturales $\\mathbb{N}$ (usualmente el conjunto $\\{1, 2, \\dots, n\\}$). El grafo de coprimalidad $G(S)$ se define como:<\/p>\n<ul>\n<li><strong>V\u00e9rtices<\/strong> ($V$): Los elementos del conjunto $S$.<\/li>\n<li><strong>Aristas<\/strong> ($E$): Dos v\u00e9rtices $u, v \\in S$ est\u00e1n conectados si y solo si su m\u00e1ximo com\u00fan divisor es 1:$$ \\mathbf{mcd}(u, v) = 1 $$<\/li>\n<\/ul>\n<blockquote><p><strong>Ejercicio:<\/strong> Dibuja el grafo de coprimalidad de $S = \\{1, 2, 3, 4, 5, 6\\}$<\/p><\/blockquote>\n<p><button onclick=\"showHtmlDiv1d3e4()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show1d3e4\" style=\"display:none;\">\n<div id=\"grafoCoprimalidadDirecto\" style=\"width:350px;height:350px;margin:20px auto;\"><\/div>\n<\/div>\n<p><script>\nvar cyCoprimalidad = null;\nfunction crearGrafoCoprimalidad() {\n  var container = document.getElementById('grafoCoprimalidadDirecto');\n  if (!container || typeof cytoscape === 'undefined') { return; }\n  cyCoprimalidad = cytoscape({\n    container: container,\n    elements: [\n      { data: { id: 'n1', label: '1' } },\n      { data: { id: 'n2', label: '2' } },\n      { data: { id: 'n3', label: '3' } },\n      { data: { id: 'n4', label: '4' } },\n      { data: { id: 'n5', label: '5' } },\n      { data: { id: 'n6', label: '6' } },\n      { data: { source: 'n1', target: 'n2' } },\n      { data: { source: 'n1', target: 'n3' } },\n      { data: { source: 'n1', target: 'n4' } },\n      { data: { source: 'n1', target: 'n5' } },\n      { data: { source: 'n1', target: 'n6' } },\n      { data: { source: 'n2', target: 'n3' } },\n      { data: { source: 'n2', target: 'n5' } },\n      { data: { source: 'n3', target: 'n4' } },\n      { data: { source: 'n3', target: 'n5' } },\n      { data: { source: 'n4', target: 'n5' } },\n      { data: { source: 'n5', target: 'n6' } }\n    ],\n    style: [\n      {\n        selector: 'node',\n        style: {\n          'background-color': '#000',\n          'label': 'data(label)',\n          'width': 30,\n          'height': 30,\n          'color': '#ff0000',\n          'font-size': 30,\n          'font-weight': 'bold',\n          'text-valign': 'top',\n          'text-margin-y': -10\n        }\n      },\n      {\n        selector: 'edge',\n        style: {\n          'width': 4,\n          'line-color': 'blue',\n          'curve-style': 'bezier'\n        }\n      }\n    ],\n    layout: {\n      name: 'circle',\n      padding: 90,\n      avoidOverlap: true\n    },\n    userZoomingEnabled: false,\n    userPanningEnabled: false,\n    boxSelectionEnabled: false\n  });\n  setTimeout(function() {\n    cyCoprimalidad.resize();\n    cyCoprimalidad.fit(cyCoprimalidad.elements(), 90);\n    cyCoprimalidad.center();\n  }, 50);\n}\nfunction showHtmlDiv1d3e4() {\n  var htmlShow1d3e4 = document.getElementById('html-show1d3e4');\n  if (htmlShow1d3e4.style.display === 'none') {\n    htmlShow1d3e4.style.display = 'block';\n    if (!cyCoprimalidad) {\n      crearGrafoCoprimalidad();\n    } else {\n      setTimeout(function() {\n        cyCoprimalidad.resize();\n        cyCoprimalidad.fit(cyCoprimalidad.elements(), 90);\n        cyCoprimalidad.center();\n      }, 50);\n    }\n  } else {\n    htmlShow1d3e4.style.display = 'none';\n  }\n}\n<\/script><\/p>\n<hr \/>\n<blockquote><p><strong>Ejercicio:<\/strong> Dibuja el grafo de coprimalidad de $S = \\{4,6,9,10,15,21,32\\}$<\/p><\/blockquote>\n<p><button onclick=\"var d=document.getElementById('html-show1b34r');if(d.style.display==='none'){d.style.display='block';setTimeout(function(){if(window.grafosCytoscape){Object.keys(window.grafosCytoscape).forEach(function(id){var el=document.getElementById(id);if(el&#038;&#038;d.contains(el)){var cy=window.grafosCytoscape[id];if(cy){cy.resize();cy.fit(cy.elements(),90);cy.center();}}});}},100);}else{d.style.display='none';}\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show1b34r\" style=\"display:none;\">\n    <div id=\"grafo_coprimalidad_1\" style=\"width:600px;height:600px;margin:20px auto;\"><\/div>\n    <script>\n    document.addEventListener('DOMContentLoaded', function() {\n      var container = document.getElementById('grafo_coprimalidad_1');\n      if (!container || typeof cytoscape === 'undefined') { return; }\n      var cy = cytoscape({\n        container: container,\n        elements: [{\"data\":{\"id\":\"n4\",\"label\":\"4\"}},{\"data\":{\"id\":\"n6\",\"label\":\"6\"}},{\"data\":{\"id\":\"n9\",\"label\":\"9\"}},{\"data\":{\"id\":\"n10\",\"label\":\"10\"}},{\"data\":{\"id\":\"n15\",\"label\":\"15\"}},{\"data\":{\"id\":\"n21\",\"label\":\"21\"}},{\"data\":{\"id\":\"n32\",\"label\":\"32\"}},{\"data\":{\"source\":\"n4\",\"target\":\"n9\"}},{\"data\":{\"source\":\"n4\",\"target\":\"n15\"}},{\"data\":{\"source\":\"n4\",\"target\":\"n21\"}},{\"data\":{\"source\":\"n9\",\"target\":\"n10\"}},{\"data\":{\"source\":\"n9\",\"target\":\"n32\"}},{\"data\":{\"source\":\"n10\",\"target\":\"n21\"}},{\"data\":{\"source\":\"n15\",\"target\":\"n32\"}},{\"data\":{\"source\":\"n21\",\"target\":\"n32\"}}],\n        style: [\n          {\n            selector: 'node',\n            style: {\n              'background-color': '#000',\n              'label': 'data(label)',\n              'width': 10,\n              'height': 10,\n              'color': '#cc0000',\n              'font-size': 10,\n              'font-weight': 'bold',\n              'text-valign': 'top',\n              'text-margin-y': -8\n            }\n          },\n          {\n            selector: 'edge',\n            style: {\n              'width': 2,\n              'line-color': 'blue',\n              'curve-style': 'bezier'\n            }\n          }\n        ],\n        userZoomingEnabled: false,\n        userPanningEnabled: false,\n        boxSelectionEnabled: false\n      });\n      var layout = cy.layout({\n        name: 'circle',\n  padding: 90,\n  fit: false,\n  avoidOverlap: true,\n  radius: 120\n      });\n      layout.run();\n      window.grafosCytoscape = window.grafosCytoscape || {};\n      window.grafosCytoscape['grafo_coprimalidad_1'] = cy;\n\n      setTimeout(function() {\n  cy.resize();\n  cy.zoom(1);\n  cy.center();\n}, 100);\n    });\n    <\/script>\n    \n<\/div>\n<hr \/>\n<h2>Grafo de factorizaci\u00f3n<\/h2>\n<p>Sea $S$ un subconjunto de los n\u00fameros naturales $\\mathbb{N}$ (usualmente el conjunto $\\{1, 2, \\dots, n\\}$). El grafo de factorizaci\u00f3n $G(S)$ se define como:<\/p>\n<ul>\n<li><strong>V\u00e9rtices<\/strong> ($V$): Los elementos del conjunto $S$.<\/li>\n<li><strong>Aristas<\/strong> ($E$): Dos v\u00e9rtices $u, v \\in S$ est\u00e1n conectados si y solo si su m\u00e1ximo com\u00fan divisor es mayor de 1:$$ \\mathbf{mcd}(u, v) > 1 $$<\/li>\n<\/ul>\n<p>La condici\u00f3n anterior es equivalente a que dos v\u00e9rtices son adyacentes si tienen un primo en com\u00fan. Generaliza el grafo de coprimalidad (es su \u201ccomplementario parcial\u201d)<\/p>\n<blockquote><p><strong>Ejercicio:<\/strong> Dibuja el grafo de factorizaci\u00f3n de $S = \\{4,6,9,10,15,21,32\\}$<\/p><\/blockquote>\n<hr \/>\n","protected":false},"excerpt":{"rendered":"<p>Comenzamos con la teor\u00eda de grafos. Para adentrarnos en este tema, hablamos de dos ejemplos que nos ilustran perfectamente nuestro contenido: El problema de los puentes de K\u00f6nigsberg El problema matem\u00e1tico que&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-915","post","type-post","status-publish","format-standard","hentry","category-matematica-discreta"],"_links":{"self":[{"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/posts\/915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=915"}],"version-history":[{"count":91,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/posts\/915\/revisions"}],"predecessor-version":[{"id":1048,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/posts\/915\/revisions\/1048"}],"wp:attachment":[{"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}