Inicio · Parte 04 — Matemática discreta para computación
nivel(v) = 1 + máx(nivel(u)) sobre los predecesores u
pasos secuenciales mínimos = máximo nivel + 1
El capstone monta el problema real que resuelve cualquier sistema de construcción o de orquestación: dado un grafo de dependencias, decidir en qué orden ejecutar las tareas, cuáles pueden ir en paralelo y qué hacer si hay un ciclo.
El orden topológico da la secuencia válida. Agrupar por niveles —donde el nivel de una tarea es uno más que el máximo de sus predecesores— da algo más útil: todas las tareas del mismo nivel son independientes entre sí y pueden ejecutarse simultáneamente. El número de niveles es el número mínimo de pasos secuenciales, sin importar cuántos trabajadores haya.
Ese número es el camino crítico, y es la cota que ninguna cantidad de paralelismo puede superar. Si un pipeline tiene cinco niveles, tardará al menos cinco pasos aunque se disponga de mil máquinas. Es la versión discreta de la ley de Amdahl.
La detección de ciclos completa la herramienta. Un grafo con ciclo no admite orden topológico, y el algoritmo lo detecta contando cuántos vértices consiguió emitir. Los vértices no emitidos son exactamente los que están en el ciclo o dependen de él, lo que convierte el fallo en un diagnóstico útil en lugar de en un error opaco.
Planificar el pipeline y detectar un ciclo.
Orden de ejecución:
entrada, limpieza, features, split, entrenamiento, evaluacion
Niveles paralelizables:
nivel 0: entrada
nivel 1: limpieza
nivel 2: features, split ← pueden ir en paralelo
nivel 3: entrenamiento
nivel 4: evaluacion
Tareas: 6
Pasos secuenciales mínimos: 5 (camino crítico)
Con 2 trabajadores: sigue siendo 5 pasos
Con arista evaluacion → limpieza:
ciclo detectado, 5 nodos bloqueados
Capstone: planificar un pipeline con grafos y detectar dependencias rotas.
python classes/part-04-matematica-discreta-para-computacion/100-capstone-modelar-dependencias-con-grafos/lab.py
compmath run 100
orden_de_ejecucionniveles_paralelizablespasos_secuenciales_minimostareasgrafo_con_ciclo_detectadonodos_bloqueados_por_el_ciclo{
"orden_de_ejecucion": [
"entrada",
"limpieza",
"features",
"split",
"entrenamiento",
"evaluacion"
],
"niveles_paralelizables": {
"0": [
"entrada"
],
"1": [
"limpieza"
],
"2": [
"features",
"split"
],
"3": [
"entrenamiento"
],
"4": [
"evaluacion"
]
},
"pasos_secuenciales_minimos": 5,
"tareas": 6,
"grafo_con_ciclo_detectado": true,
"nodos_bloqueados_por_el_ciclo": 5
}
Sistemas de construcción, orquestadores de flujos (Airflow, Dagster), resolución de dependencias de paquetes, planificación de proyectos y ejecución de grafos de cómputo.
Los grafos de cómputo, la búsqueda en árbol y las GNN son estructuras discretas; el conteo sostiene la probabilidad que después usa todo modelo generativo.
10.1145/368996.369025 verificado en Crossref (2026-08-19).9780262046305 verificado en International ISBN Agency (2026-08-19).