Implementación de Algoritmos de Grafos: Estrategias, Caminos Mínimos y Recorridos
Creación de Grafos (Práctica 1)
Diseño de Estrategias Ganadoras
Se utiliza un dígrafo para modelar las posibles jugadas y determinar una estrategia ganadora.
- Ejemplo: Juego de Sumar 31 (donde se pueden sumar 1, 2 o 3 en cada turno).
Definición del Grafo (Ejemplo Sumar 31)
# n es el número objetivo
n = 31
# Definimos los vértices del grafo (estados del juego)
V = [1..n]
# Definimos las aristas (movimientos posibles: sumar 1, 2 o 3)
# Asumiendo que (i, j) significa que desde i se puede llegar a j
# Si se puede sumar 1, 2 o 3, las aristas serían (i, i+1), (i, i+2), (i, i+3)
E = [(i, i+k) for i in V for k in [1, 2, 3] if i+k <= n]
# Creamos el dígrafo
DJ1 = DiGraph()
# Añadimos los vértices
DJ1.add_vertices(V)
# Añadimos las aristas...