0votos
monty hall en Haskell
por

josejuan

hace 2 años

Se pueden calcular fácilmente que, vas a elegir coche el 1/3 de las veces, de esas, si no cambias obtienes un coche. Vas a elegir cabra el 2/3 de las veces, de esas, si no cambias obtienes cabra. Cómputo total si no cambias: 1/3 obtienes coche, 2/3 obtienes cabra. Por otro lado, vas a elegir coche el 1/3 de las veces, de esas, si cambias obtienes cabra. Vas a elegir cabra el 2/3 de las veces, de esas, si cambias obtienes coche. Cómputo total si cambias: 1/2 obtienes cabra, 2/3 obtienes coche.

2votos
Torneo round-robin balanceado en Haskell
por

josejuan

hace 2 años

Si no se exige asegurar la solución óptima en tiempo razonable (de lo que desconozco si existe algoritmo) se pueden usar muchos algoritmos (ej. probabilísticos). Usando un simple backtracking y una heurística obvia se obtienen resultados decentes y runtimes aceptables (hasta 100 ~ 200 jugadores en tiempos razonables). En todo caso, es un algoritmo puramente intuitivo y a mi juicio muy muy feo (precisamente por ser intuitivo y no razonado).

1voto
Superhéroes y supervillanos en Haskell
por

jmgomez

hace 2 años

Perfecta para interactuar con el mundo en Haskell. Copiando a JoseJuan, uso Map como BST aunque el uso está reducido al scope de volcarABST. Por legibilidad extraigo la tupla de listas de string a un type alias. Por la misma razón dejo la definición de las funciones. Si los tests son documentación, los tipos también pueden serlo!