# Número total de nodos en el círculo
nodos <- 8
# Nodo de interés (nodo 5)
nodo_objetivo <- 5
# Número de simulaciones
num_simulaciones <- 100000
# Vector para almacenar los resultados de las simulaciones
resultados <- numeric(num_simulaciones)
# Realizar múltiples simulaciones
for (simulacion in 1:num_simulaciones) {
# Inicializar un vector para rastrear los nodos visitados
nodos_visitados <- rep(FALSE, nodos)
# Nodo inicial
nodo_actual <- 0
# Contador para llevar el registro de los nodos visitados
nodos_visitados_count <- 0
# Realizar la simulación hasta que se visiten todos los nodos
while (nodos_visitados_count < nodos) {
# Actualizar el nodo actual
nodos_visitados[nodo_actual + 1] <- TRUE
nodos_visitados_count <- sum(nodos_visitados)
# Moverse a la izquierda o a la derecha con igual probabilidad
if (runif(1) < 0.5) {
nodo_actual <- (nodo_actual - 1 + nodos) %% nodos
} else {
nodo_actual <- (nodo_actual + 1) %% nodos
}
}
# Verificar si el último nodo visitado es el nodo de interés (nodo 5)
resultados[simulacion] <- (nodo_actual == nodo_objetivo)
}
# Calcular la probabilidad promedio
probabilidad_promedio <- mean(resultados)
# Imprimir la probabilidad promedio
cat("La probabilidad promedio de que el nodo 5 sea el último visitado en", num_simulaciones, "simulaciones es:", probabilidad_promedio, "\n")
## La probabilidad promedio de que el nodo 5 sea el último visitado en 1e+05 simulaciones es: 0.14452