Graph Labs

Documentación

Cómo funciona Graph Labs

Una guía completa del estudio: cómo construir el grafo, configurar y ejecutar cada algoritmo, leer la traza paso a paso y aprovechar las funciones que agilizan la revisión de ejercicios.

En esta página
  1. 01Visión general
  2. 02Primeros pasos
  3. 03Anatomía del estudio
  4. 04Lienzo y herramientas
  5. 05Pestaña Construir
  6. 06Pestaña Ejecutar
  7. 07Pestaña Pasos
  8. 08Catálogo de algoritmos
  9. 09Atajos de teclado
  10. 10Datos y preferencias
  11. 11Preguntas frecuentes

01

Visión general

Graph Labs es un laboratorio visual de teoría de grafos. Dibujas el grafo, eliges uno de los algoritmos clásicos y sigues la ejecución iteración a iteración, con las mismas tablas, colas y notación usadas en clase.

17
algoritmos implementados
9
temas de la asignatura
12
grafos de ejemplo

El problema que resuelve

El pseudocódigo en papel oculta justamente lo que más importa para aprender: qué ocurre en cada iteración. Leer que el algoritmo de Dijkstra “selecciona el vértice no cerrado de menor etiqueta” es muy distinto de ver cómo se elige ese vértice, se actualiza la tabla de distancias y la arista entra en la solución.

En Graph Labs reconstruyes el grafo de un ejercicio de la lista, ejecutas el método sobre él y comparas cada paso con lo que resolviste a mano. Es útil en clases y tutorías, al corregir ejercicios y en el estudio individual antes del examen.

Fiel a la asignatura

Nombres, notación, tablas y orden de visita siguen lo que se enseña y se evalúa en clase, y no la versión genérica de una biblioteca.

Cada decisión justificada

Cada paso tiene un título, la explicación de lo ocurrido y el estado de las estructuras auxiliares en ese instante.

100% en el navegador

Sin registro, sin servidor y sin base de datos. Funciona en el ordenador, la tableta y el móvil.

02

Primeros pasos

Todo uso del estudio sigue el mismo ciclo de cuatro etapas, reflejado en las tres pestañas del panel lateral: Construir, Ejecutar y Pasos.

  1. 1

    Construye el grafo

    En la pestaña Construir, carga un grafo de ejemplo o dibuja desde cero: crea vértices haciendo clic en el lienzo y conéctalos con la herramienta de aristas.

  2. 2

    Ajusta pesos y direcciones

    Define el peso de cada arista (o déjala sin peso) y elige si es no dirigida o dirigida, en el lienzo o en la lista de aristas.

  3. 3

    Elige el algoritmo

    En la pestaña Ejecutar, selecciona el método y completa los parámetros que aparezcan: raíz, destino, fuente, sumidero o secuencia de visita.

  4. 4

    Ejecuta y sigue el proceso

    Haz clic en Ejecutar. La pestaña Pasos se abre sola en el primer paso; avanza manualmente o usa la reproducción automática.

Ejemplo guiado: camino mínimo con Dijkstra

Un recorrido de dos minutos para conocer el estudio con un grafo listo:

  1. 1.En la pestaña Construir, haz clic en Red ponderada. El grafo se carga y se encuadra automáticamente.
  2. 2.Ve a Ejecutar y elige Algoritmo de Dijkstra, en Caminos mínimos.
  3. 3.En Raíz / origen, selecciona A; en Vértice de destino, selecciona F.
  4. 4.Haz clic en Ejecutar Dijkstra y usa Paso siguiente para ver cómo se cierra cada vértice y se relaja cada arista tensa en la tabla dist y pred.
  5. 5.En el último paso, el camino mínimo A → C → F, de peso 11, aparece en morado, y la tarjeta de Conclusiones resume las distancias finales.

Consejo

En la primera visita, el estudio ya se abre con la Red ponderada cargada. Después, siempre vuelve a abrirse con el último grafo en el que trabajaste.

03

Anatomía del estudio

El estudio divide la pantalla en dos áreas: el lienzo, donde se dibuja y anima el grafo, y el panel lateral, donde están los formularios, el catálogo de algoritmos y la traza de la ejecución.

  1. 1

    Herramientas de edición

    Seleccionar y mover, añadir vértice, conectar vértices y eliminar elemento.

  2. 2

    Historial

    Deshacer, rehacer y vaciar el grafo entero.

  3. 3

    Dirección de las nuevas aristas

    Define si las aristas creadas en el lienzo nacen no dirigidas o dirigidas.

  4. 4

    Posición

    Activa o desactiva la sugerencia automática y reorganiza el dibujo cuando lo pidas.

  5. 5

    Sugerencia contextual

    Explica cómo usar la herramienta activa. Aparece en pantallas a partir de 640 px.

  6. 6

    Lienzo

    Área de dibujo con cuadrícula de puntos, desplazamiento, zoom y resaltados de la ejecución.

  7. 7

    Leyenda

    Significado de cada color aplicado a vértices y aristas durante la simulación.

  8. 8

    Zoom

    Acercar, alejar y encuadrar el grafo entero en la pantalla.

  9. 9

    Pestañas del panel

    Alterna entre Construir, Ejecutar y Pasos, las tres etapas del flujo.

  10. 10

    Contenido de la pestaña

    Formularios del grafo, catálogo de algoritmos o la traza paso a paso.

Diseño adaptable

En pantallas anchas (a partir de 1024 px), el lienzo ocupa toda la altura a la izquierda y el panel queda fijo a la derecha, con su propio desplazamiento. En tabletas y móviles, el lienzo aparece arriba, con cerca de la mitad de la altura de la pantalla, y el panel justo debajo, con las pestañas fijas arriba mientras te desplazas.

04

Lienzo y herramientas

El lienzo es el área de dibujo del estudio. Ahí creas y organizas el grafo y, durante la simulación, sigues visualmente el estado de cada vértice y cada arista.

Herramientas de edición

Solo hay una herramienta activa a la vez, resaltada en la barra superior. El cursor cambia de forma para indicar cuál está en uso, y una sugerencia junto a la barra explica qué hacer.

  • Seleccionar y mover

    Herramienta por defecto. Haz clic en un vértice o una arista para seleccionarlo, arrastra los vértices para reubicarlos y arrastra el fondo para mover la vista.

  • Añadir vértice

    Cada clic en un punto vacío crea un vértice ahí. Las etiquetas siguen la secuencia A, B, C, ..., Z, A1, B1, ..., saltando siempre las que ya están en uso.

  • Conectar vértices

    Haz clic en el vértice de origen y luego en el de destino. Entre los dos clics, una línea discontinua sigue al cursor. Esc cancela.

  • Eliminar elemento

    Haz clic en un vértice o una arista para borrarlo. Eliminar un vértice elimina también todas las aristas unidas a él.

Historial, dirección y posición

  • Deshacer

    Revierte el último cambio del grafo. Guarda hasta 60 cambios.

  • Rehacer

    Vuelve a aplicar un cambio deshecho.

  • Vaciar grafo

    Borra todos los vértices y aristas. Se puede revertir con Deshacer.

  • Nuevas aristas no dirigidas

    Las aristas creadas en el lienzo nacen no dirigidas (por defecto).

  • Nuevas aristas dirigidas

    Las aristas creadas en el lienzo nacen con flecha, del origen al destino.

  • Sugerencia de posición

    Cuando está activada, cada nueva arista provoca un ajuste fino del dibujo. La preferencia se guarda.

  • Reorganizar ahora

    Aplica el ajuste de posición de inmediato, una sola vez.

Cómo funciona la sugerencia de posición

El ajuste mueve los vértices poco a poco, sin perder de vista el dibujo original, para reducir cruces de aristas, vértices sobre aristas, superposiciones y ángulos muy cerrados. Actúa en grafos de 3 a 40 vértices y hasta 90 aristas, y no hace nada si el dibujo ya está limpio.

Navegación y zoom

Arrastra el fondo para mover la vista y usa la rueda del ratón (o el gesto de pellizcar en el trackpad y en el móvil) para acercar y alejar, siempre centrado en el punto bajo el cursor. El zoom va del 30% al 260%. Los botones de la esquina inferior derecha ofrecen el mismo control:

  • Acercar

    Aumenta el zoom un 25%, manteniendo el centro.

  • Alejar

    Reduce el zoom un 20%, manteniendo el centro.

  • Encuadrar grafo

    Ajusta el zoom y la posición para que el grafo entero quepa en la pantalla.

Al cargar un grafo de ejemplo, se encuadra automáticamente. Las aristas paralelas entre el mismo par de vértices, como A → B y B → A, se dibujan curvas para no superponerse.

Colores durante la ejecución

Una vez ejecutado un algoritmo, cada vértice y arista recibe un estado en cada paso. La leyenda de la esquina inferior izquierda del lienzo resume el significado de los colores:

  • No explorado

    Estado inicial: el algoritmo todavía no ha alcanzado el elemento.

  • Marcado

    Alcanzado pero aún no procesado: está en la cola, la pila o la frontera.

  • En análisis

    Elemento examinado en el paso actual. Los vértices en análisis laten para llamar la atención.

  • Explorado / en la solución

    Procesamiento terminado o elemento aceptado en la solución (árbol, orden, emparejamiento).

  • Descartado

    Rechazado por el algoritmo, como una arista que formaría un ciclo. Las aristas descartadas se ven discontinuas.

  • Camino

    Resultado resaltado al final: camino mínimo, camino aumentante o camino euleriano.

Marcas adicionales

  • Anillo discontinuo en el color principal

    Vértice de partida. La etiqueta encima indica RAÍZ o, en los algoritmos de flujo, FUENTE.

  • Anillo discontinuo morado

    Vértice de llegada: DESTINO, o SUMIDERO en los algoritmos de flujo.

  • 1/6

    Etiqueta bajo el vértice

    Valor del vértice en el paso actual: TD/TF en la búsqueda en profundidad, nivel en la búsqueda en anchura, dist en Dijkstra, color en la coloración, s y t en el flujo.

  • 3/5

    Rótulo de la arista

    Muestra el peso. Durante la ejecución puede dar paso a otro valor, como flujo/capacidad en los algoritmos de flujo o el orden de recorrido en Fleury.

  • Contorno de color

    Agrupa vértices del mismo conjunto: componentes fuertemente conexas en Kosaraju, árboles del bosque en Kruskal, clases de color en la coloración.

05

Pestaña Construir

Todo lo relacionado con la estructura del grafo: grafos de ejemplo, lista de vértices y lista de aristas. Cualquier cambio hecho aquí aparece en el lienzo al instante, y viceversa.

Grafos de ejemplo

Los ejemplos reproducen casos usados en clase, cada uno pensado para resaltar el comportamiento de determinados algoritmos. Cargar un ejemplo sustituye el grafo actual (se puede deshacer), borra la raíz y el destino elegidos y encuadra el dibujo.

  • Red ponderada

    Grafo no dirigido y ponderado, con peso w(e) > 0 en cada arista: la base para el AEM (Prim y Kruskal) y para Dijkstra.

    PrimKruskalDijkstra
  • Grafo dirigido con ciclos

    Grafo dirigido con tres componentes fuertemente conexas, para el algoritmo de Kosaraju.

    KosarajuDFS
  • Red de flujo

    Red de flujo: grafo dirigido con capacidad u(e) en cada arista, de la fuente s = S al sumidero t = T.

    Ford-Fulkerson
  • Pesos negativos

    Grafo dirigido con aristas de peso negativo y sin ciclos de peso negativo, para Bellman-Ford y Floyd-Warshall.

    Bellman-FordFloyd-Warshall
  • Grafo simple

    Grafo simple no dirigido, sin pesos relevantes: ideal para las búsquedas en anchura y en profundidad.

    BFSDFS
  • Grafo euleriano

    Ejemplo 1 de las diapositivas de grafos eulerianos: todos los vértices tienen grado par, así que existe un circuito euleriano.

    Fleury
  • Grafo semieuleriano

    Ejemplo 2 de las diapositivas: exactamente dos vértices de grado impar (5 y 6), así que existe un camino euleriano abierto.

    Fleury
  • Red con cuello de botella

    La red de las diapositivas de Edmonds-Karp: dos aristas de capacidad 100 unidas por una de capacidad 1, que expone la debilidad de elegir caminos arbitrariamente.

    Ford-FulkersonEdmonds-KarpDinic
  • Precedencia de actividades

    Grafo acíclico de las diapositivas de ordenación topológica: la fabricación de una estantería, desde comprar las tablas hasta transportarla.

    KahnOrden topológico (DFS)
  • Emparejamiento con flores

    Grafo general con dos ciclos de longitud impar: exige la contracción de flores (blossoms) del algoritmo de Edmonds.

    Edmonds
  • Coloración de vértices

    Grafo con χ(G) = 3 en el que el orden alfabético hace que el método voraz use 4 colores, mientras que Welsh-Powell encuentra 3.

    Coloración vorazWelsh-Powell
  • Contraejemplo de Welsh-Powell

    Grafo bipartito, luego χ(G) = 2, en el que Welsh-Powell aun así usa 3 colores. Es el contraejemplo de las diapositivas de coloración.

    Welsh-PowellColoración voraz

Vértices

La tarjeta Vértices lista todos los vértices en orden alfabético, con el total en el encabezado. El botón Nuevo crea un vértice en el lienzo sin cambiar de herramienta; después solo tienes que arrastrarlo al lugar deseado.

  • Renombrar: edita la etiqueta directamente en el campo de texto, con hasta 6 caracteres. El orden alfabético de las etiquetas es el orden de visita por defecto de todos los algoritmos.
  • Seleccionar: haz clic en el círculo con las iniciales o en el campo de texto para resaltar el vértice en el lienzo.
  • Eliminar: el icono de papelera borra el vértice y todas las aristas incidentes a él.

Aristas

El formulario de la parte superior de la tarjeta crea aristas con precisión, algo útil para grafos grandes o para copiar un ejercicio: elige los vértices De y A, indica el Peso y el Tipo (no dirigida o dirigida) y haz clic en Añadir arista. El encabezado muestra el total de aristas y cuántas hay de cada tipo.

Peso opcional

Un campo vacío crea una arista sin peso, que cuenta como 1 en los algoritmos ponderados. Acepta valores negativos y decimales con coma o punto.

Sin bucles

Una arista debe unir dos vértices distintos.

Sin aristas repetidas

No se pueden crear dos aristas iguales. Una arista no dirigida A - B ya conecta B con A, pero dos aristas dirigidas opuestas, A → B y B → A, sí están permitidas.

Cada arista de la lista se puede editar sin volver a crearla:

  • el campo numérico cambia el peso, y vaciarlo deja la arista sin peso;
  • la insignia cambia la dirección con un clic: no dirigida / dirigida
  • hacer clic en las etiquetas selecciona la arista en el lienzo;
  • la papelera elimina la arista.

Grafos mixtos

Cada arista guarda su propia orientación, así que un grafo puede mezclar aristas no dirigidas y dirigidas. Cuando ocurre, aparece un aviso en la tarjeta de aristas con dos atajos, Todas dirigidas y Todas no dirigidas, porque la mayoría de los algoritmos exige un único tipo.

06

Pestaña Ejecutar

Aquí eliges el algoritmo, indicas los parámetros que pide y compruebas que el grafo cumple los requisitos antes de lanzar la simulación.

Elección del algoritmo

La tarjeta Algoritmo agrupa los métodos por tema, en el orden de la asignatura. Cada opción muestra el nombre, la complejidad y un resumen de la estrategia. El algoritmo seleccionado queda resaltado y define el contenido de la tarjeta Parámetros justo debajo.

Parámetros

El encabezado de la tarjeta repite el nombre y la complejidad del método, seguidos de los requisitos del grafo en forma de insignias. Los campos de vértice solo aparecen cuando el algoritmo los usa:

CampoAlgoritmosUsoEfecto
Raíz / origenBúsquedas en anchura y en profundidad, Prim, Dijkstra y Bellman-FordobligatorioVértice desde el que parte la ejecución.
Vértice de destinoDijkstra, Bellman-Ford y Floyd-WarshallopcionalResalta en morado, en el último paso, el camino mínimo hasta él.
Raíz / origen (opcional)Floyd-WarshallopcionalJunto con el destino, elige qué par de vértices tendrá el camino resaltado.
Fuente s y sumidero tFord-Fulkerson, Edmonds-Karp y DinicobligatorioExtremos de la red de flujo. Deben ser vértices distintos.
Vértice inicialFleuryopcionalSi hay vértices de grado impar, el camino debe partir de uno de ellos.

Cuando todavía no se ha elegido un campo obligatorio, el estudio usa el primer vértice en orden alfabético (y, para el sumidero, el primero distinto de la fuente). Los vértices elegidos reciben un anillo discontinuo en el lienzo con la etiqueta RAÍZ, DESTINO, FUENTE o SUMIDERO.

Secuencia de visita

Muchos algoritmos necesitan decidir qué vecino examinar primero. Por defecto, la decisión sigue el orden alfabético de las etiquetas, que es la convención usada en clase. Cuando el ejercicio pide otro orden, constrúyelo en Secuencia de visita:

  • haz clic en los vértices en el orden deseado para añadirlos a la secuencia;
  • el primer vértice elegido pasa a ser la raíz cuando no se define ninguna arriba (en los algoritmos de flujo, es el primer vecino que se prueba en la búsqueda);
  • haz clic en un vértice de la secuencia para quitarlo;
  • los vértices que queden fuera siguen en orden alfabético, después de los elegidos;
  • el botón Por defecto vuelve al orden alfabético.

Validación antes de ejecutar

Los requisitos se comprueban con cada cambio del grafo o de los parámetros. Si todo está bien, aparece una confirmación en verde; si no, cada problema se lista en rojo con la corrección sugerida y el botón Ejecutar queda desactivado.

El grafo cumple los requisitos de este algoritmo.

Kruskal trabaja sobre grafos no dirigidos: convierte todas las aristas en no dirigidas.

La fuente s y el sumidero t deben ser vértices distintos.

Consejo

Al hacer clic en Ejecutar, el estudio calcula toda la ejecución de una vez, abre la pestaña Pasos en el primer paso y devuelve la herramienta del lienzo a Seleccionar y mover, para que ningún clic accidental cambie el grafo durante el análisis.

07

Pestaña Pasos

Tras la ejecución, la pestaña Pasos funciona como un reproductor: navegas por la simulación mientras el lienzo y las estructuras auxiliares muestran el estado exacto de cada iteración.

Controles de reproducción

El encabezado indica el algoritmo y la posición actual (por ejemplo, Paso 4 de 23), con una barra de progreso justo debajo. Los controles son:

  • Primer paso

    Vuelve al estado inicial.

  • Paso anterior

    Retrocede una iteración.

  • Reproducir / pausar

    Avanza solo al ritmo elegido. Al final, vuelve a empezar desde el primer paso.

  • Paso siguiente

    Avanza una iteración.

  • Último paso

    Salta al resultado final.

  • Limpiar

    Descarta la ejecución y devuelve el lienzo a sus colores originales.

El control deslizante salta directamente a cualquier paso. Cualquier navegación manual pausa la reproducción automática. Las velocidades disponibles son:

0,5×1,6 s por paso1×0,8 s por paso2×0,4 s por paso4×0,18 s por paso

Qué muestra cada paso

La tarjeta principal muestra el título de la decisión tomada (por ejemplo, “Arista tensa (A, C): relajada”), la justificación con los valores implicados y, cuando tiene sentido, métricas como el orden de visita, la iteración actual o el valor del flujo. Debajo aparecen las estructuras auxiliares del algoritmo.

Cola

BDE

El primer elemento, el siguiente en salir, aparece resaltado.

Pila

ACF

La cima de la pila, el último elemento, aparece resaltada.

Conjunto

CDE

Elementos sin orden de salida, como los vértices aún no cerrados.

Las tablas reproducen las de la pizarra: dist y pred, tiempos de descubrimiento y finalización, matrices de Floyd-Warshall, flujo y capacidades residuales, entre otras. Las filas de color indican el papel de cada entrada en el paso actual:

dist y pred

Vérticedistpred
A0-
B7A
C3A
D∞-
  • Azul: entrada modificada o examinada en este paso.
  • Verde: valor definitivo o elemento aceptado.
  • Rojo: elemento rechazado.

Conclusiones

En el último paso aparece la tarjeta verde de Conclusiones, que interpreta el resultado: distancias finales y camino recuperado, peso total del árbol de expansión, valor del flujo máximo y el corte correspondiente, componentes encontradas, orden topológico, número de colores usados. Es el resumen para comparar con tu respuesta.

dist finalcamino mínimopeso del AEMflujo máximoorden topológiconúmero de colores

Cuándo se descarta la ejecución

La ejecución queda vinculada al grafo y al algoritmo con los que se generó. Crear, eliminar o renombrar vértices, cambiar aristas, pesos o direcciones, o cambiar de algoritmo descarta la traza automáticamente, y hay que volver a ejecutar. Arrastrar vértices para reorganizar el dibujo no afecta a la ejecución.

08

Catálogo de algoritmos

Los 17 métodos disponibles en el estudio, en el orden de la asignatura. Para la idea central, el invariante, los errores comunes y el pseudocódigo de cada uno, abre la página de referencia.

Búsqueda en grafos

  • Elige siempre el vértice marcado alcanzado más recientemente y registra un tiempo de descubrimiento TD y un tiempo de finalización TF.

    Parámetros: Raíz

    Acepta aristas dirigidas y no dirigidasGrafo no dirigido: aristas de árbol y de retrocesoGrafo dirigido: árbol, retroceso, avance y cruce
  • Elige siempre el vértice marcado alcanzado hace más tiempo, usando una cola, y asigna a cada vértice su nivel.

    Parámetros: Raíz

    Acepta aristas dirigidas y no dirigidasIgnora los pesos de las aristasClasifica las aristas en padre, tío, hermano y primo

Conectividad

  • Encuentra las componentes fuertemente conexas con dos búsquedas en profundidad: una en G y otra en el grafo inverso Gᴿ.

    Parámetros: Ninguno

    Requiere un grafo dirigidoIgnora los pesos de las aristas

Grafos eulerianos

  • Construye un camino euleriano recorriendo el grafo y evitando cruzar un puente mientras haya otra arista disponible.

    Parámetros: Vértice inicial opcional

    Requiere un grafo no dirigido y conexoComo máximo 2 vértices de grado imparIgnora los pesos de las aristas

Árbol de expansión mínima

  • Incluye vértices uno a uno: en cada paso añade la arista de menor peso entre V(T) y los vértices aún no seleccionados.

    Parámetros: Raíz

    Requiere un grafo no dirigidoRequiere un grafo ponderado con peso w(e) > 0Solo existe árbol de expansión si el grafo es conexo
  • Incluye aristas, no vértices: ordena las aristas por peso no decreciente y acepta cada una que no forme ciclo con las ya incluidas en E(T).

    Parámetros: Ninguno

    Requiere un grafo no dirigidoRequiere un grafo ponderado con peso w(e) > 0En un grafo no conexo produce un bosque de expansión mínima

Caminos mínimos

  • "Cierra" un vértice por iteración, siempre el de menor dist, y relaja las aristas tensas que salen de él.

    Parámetros: Origen; destino opcional

    Acepta aristas dirigidas y no dirigidasRequiere pesos no negativosSe basa en el principio de relajación
  • Programación dinámica: examina todas las aristas en cada iteración, relajando las que estén tensas, durante |V(G)| − 1 iteraciones.

    Parámetros: Origen; destino opcional

    Admite aristas de peso negativoNo admite ciclos de peso negativoDetecta un ciclo de peso negativo alcanzable desde el origen
  • Caminos mínimos entre todos los pares mediante programación dinámica: la ronda k habilita el vértice k como intermedio.

    Parámetros: Origen y destino opcionales

    Admite aristas de peso negativoNo admite ciclos de peso negativoCalcula todos los pares de vértices de una sola vez

Flujo máximo

  • Método de Ford-FulkersonO(m · f) con capacidades enteras

    Mientras exista algún camino aumentante en G'(f), envía por él el cuello de botella δ y actualiza la red residual.

    Parámetros: Fuente s y sumidero t

    Requiere una red de flujo: grafo dirigido con capacidad u(e) > 0Requiere una fuente s y un sumidero tEl camino aumentante se elige de forma arbitraria
  • Implementación eficiente de Ford-Fulkerson: en cada iteración elige el camino aumentante más corto, obtenido mediante una búsqueda en anchura.

    Parámetros: Fuente s y sumidero t

    Requiere una red de flujo: grafo dirigido con capacidad u(e) > 0Requiere una fuente s y un sumidero tElige siempre el camino aumentante con menos aristas
  • En cada iteración construye la red de niveles GL a partir de G′(f) y determina en ella un flujo bloqueante.

    Parámetros: Fuente s y sumidero t

    Requiere una red de flujo: grafo dirigido con capacidad u(e) > 0Requiere una fuente s y un sumidero tComo máximo n − 1 flujos bloqueantes

Ordenación topológica

  • En cada paso toma un vértice con grado de entrada cero, lo añade al final del resultado y reduce el grado de entrada de sus sucesores.

    Parámetros: Ninguno

    Requiere un grafo dirigidoSolo existe un orden topológico en un grafo acíclicoDetecta la existencia de un ciclo
  • Descrito por Tarjan en 1976: inserta cada vértice al principio del resultado solo después de visitar todos los que dependen de él.

    Parámetros: Ninguno

    Requiere un grafo dirigidoSolo existe un orden topológico en un grafo acíclicoVolver a encontrar una marca temporal revela un ciclo

Emparejamiento

  • Busca caminos M-aumentantes entre vértices expuestos, contrayendo las flores (blossoms) que aparecen, hasta que no quede ninguno.

    Parámetros: Ninguno

    Requiere un grafo no dirigidoIgnora los pesos de las aristasTrata grafos generales, no solo bipartitos

Coloración

  • Recorre los vértices en cualquier orden y asigna a cada uno el color de menor índice que no use ninguno de sus vecinos.

    Parámetros: Ninguno

    Requiere un grafo no dirigidoColoración aproximada, no necesariamente mínimaEl resultado depende del orden de los vértices
  • Ordena los vértices por grado no creciente y colorea con un mismo color todos los que no estén conectados a un vértice ya coloreado con él.

    Parámetros: Ninguno

    Requiere un grafo no dirigidoColoración aproximada, no necesariamente mínimaSuele usar menos colores que el método voraz

09

Atajos de teclado

Los atajos funcionan en cualquier pestaña del estudio y agilizan la edición del grafo.

  • Deshace el último cambio del grafo.Ctrl Zo⌘ Z
  • Rehace el cambio deshecho.Ctrl Shift Zo⌘ Shift Z
  • Elimina el vértice o la arista seleccionados.DeleteoBackspace
  • Cancela la selección o la arista que se está creando.Esc

Nota

Mientras escribes en un campo de texto o eliges una opción de una lista, los atajos se desactivan, para que borrar un carácter nunca elimine un vértice.

10

Datos y preferencias

Graph Labs no tiene servidor, base de datos ni registro. Todo el procesamiento ocurre en tu navegador y nada de lo que dibujas se envía a ningún sitio.

  • Grafo actualGuardado en el navegador

    Vértices, posiciones, aristas, pesos y direcciones se guardan con cada cambio. Al volver al estudio, el grafo reaparece exactamente como lo dejaste.

  • Sugerencia de posiciónGuardado en el navegador

    Recuerda si prefieres el ajuste automático activado o desactivado.

  • Tema claro u oscuroGuardado en el navegador

    En la primera visita sigue la preferencia del sistema operativo. Después, vale la elección hecha con el botón del encabezado.

  • IdiomaGuardado en el navegador

    El inglés es el idioma por defecto. Cuando eliges otro idioma en el encabezado, el sitio se abre en él en tus próximas visitas.

  • Historial y ejecuciónSolo en esta sesión

    El historial de deshacer y rehacer, el algoritmo elegido y la traza de la ejecución se descartan al recargar la página.

Un grafo por navegador

El estudio solo guarda el grafo que estás editando, y solo en el navegador y el dispositivo donde se creó. Borrar los datos del sitio, usar una ventana privada o cargar un grafo de ejemplo sustituye el grafo guardado.

11

Preguntas frecuentes

Respuestas rápidas a las dudas más comunes sobre el uso del estudio.

¿Por qué el botón Ejecutar está desactivado?

El grafo o los parámetros no cumplen los requisitos del algoritmo elegido. Los problemas aparecen listados en rojo justo encima del botón, cada uno con la corrección sugerida, como convertir las aristas en dirigidas o elegir una fuente distinta del sumidero.

El resultado es distinto del que obtuve en papel. ¿Qué puede ser?

La mayoría de las veces es el orden de visita. Cuando hay empate, el estudio examina los vecinos en orden alfabético de sus etiquetas. Si el ejercicio usa otra convención, construye el mismo orden en Secuencia de visita, en la pestaña Ejecutar. Revisa también la raíz elegida y si todas las aristas tienen el tipo y el peso correctos.

¿Qué pasa con las aristas sin peso?

Cuentan como peso 1 en los algoritmos que usan pesos o capacidades. Las búsquedas, Kosaraju, Fleury, el emparejamiento y la coloración ignoran los pesos.

¿Puedo usar pesos negativos?

Sí. Bellman-Ford y Floyd-Warshall aceptan aristas de peso negativo e indican cuándo hay un ciclo de peso negativo. Dijkstra exige pesos no negativos y los algoritmos de flujo exigen capacidades positivas; en esos casos la validación avisa antes de la ejecución.

¿El grafo puede tener bucles o aristas múltiples?

No. Los bucles (aristas de un vértice a sí mismo) no están permitidos, y no se puede repetir una arista entre el mismo par de vértices. La excepción son dos aristas dirigidas en sentidos opuestos, como A → B y B → A, que están permitidas y se dibujan curvas.

Cambié el grafo y la ejecución desapareció. ¿Es un error?

No. La traza siempre corresponde al grafo con el que se generó. Cualquier cambio estructural, como vértices, aristas, etiquetas, pesos o direcciones, o cambiar de algoritmo descarta la ejecución para no mostrar pasos que ya no son válidos. Basta con volver a ejecutar. Solo arrastrar vértices no descarta nada.

Perdí el grafo que estaba construyendo. ¿Puedo recuperarlo?

Si la página sigue abierta, usa Deshacer (Ctrl + Z): el historial guarda los últimos 60 cambios, incluidos Vaciar grafo y cargar un ejemplo. Al recargar la página se pierde el historial, pero el último estado del grafo sigue guardado en el navegador.

¿Funciona en el móvil?

Sí. El lienzo acepta toques para crear y mover vértices, arrastrar con un dedo para mover la vista y pellizcar con dos dedos para el zoom. El panel lateral aparece debajo del lienzo, con las pestañas fijas arriba.