Download Matemáticas Recreativas

Document related concepts
no text concepts found
Transcript
Matemáticas
Recreativas
José Eduardo Rivera Cabaleiro
Problema “Números en la frente”


Se eligen dos números p y b consecutivos y
pertenecientes a [1..t]. Se le escribe en la frente uno a
Blas y otro a Paco, los cuales están situados uno en
frente del otro. Manuel se encuentra en otra
habitación (no ve nada). La conversación entre Blas y
Paco es de la forma:
BLAS: No sé el numero de mi frente
PACO: Pues yo tampoco
BLAS: Pues yo sigo sin saberlo...
(hasta que alguno de los dos ya sepa su número)
Código del problema y
conclusiones:
Ejemplo esclarecedor


(t=9)El espacio de estados sería:
[(1,2),(2,1),(2,3),(3,2),(3,4),(4,3),(4,5),(5,4),
(5,6),(6,5),(6,7),(7,6),(7,8),(8,7),(8,9),(9,8)]
Para Manuel, al escuchar a Blas decir que no
sabe su número, sabe que Paco no tiene ni un 1
ni un 9 (pues si lo tuviera solo habría na
posibilidad para el número consecutivo de Blas)
[(1,2),(2,1),(2,3),(3,2),(3,4),(4,3),(4,5),(5,4),
(5,6),(6,5),(6,7),(7,6),(7,8),(8,7),(8,9),(9,8)]
Ejemplo esclarecedor

Si Manuel escucha ahora a Paco decir que el
tampoco sabe su número (Paco y Blas
inteligentes) es porque, al igual que antes, Blas
no tiene ni un 1 ni un 9, y además, como sabe
que el no tiene ni un 1 ni un 9, Blas no puede
tener ni un 2 ni un 8 (pues sólo habría una única
posibilidad para su número)
[(1,2),(2,1),(2,3),(3,2),(3,4),(4,3),(4,5),(5,4),
(5,6),(6,5),(6,7),(7,6),(7,8),(8,7),(8,9),(9,8)]
Ejemplo esclarecedor
Éste último razonamiento es válido en el
resto de iteraciones, eliminado cuatro
estados cada vez:
 Conclusión:

1
iteración: se elimina dos estados
 Resto iteraciones: se elimina cuatro estados
(Mas estudios en el código)
Problema “P - S”


Hans elige dos números distintos mayores que 1,
entrega el producto a PROD y la suma a SUM, que
mantienen el siguiente dialogo:
SUMA: No se como vas a adivinar mi suma.
PROD: Entonces, no se tu suma
SUMA: Pues yo ya se tu producto.
¿Cuales eran los números elegidos por Hans?
Problema resuelto y variantes:
Problema “P - S”

Supongamos que el código solución fuera:
suma s = and ( map varios [sumasDe p | p <-productosDe s] )
prod p = varios [s | s <- sumasDe p, suma s]
suma1 s = uno [p | p <- productosDe s, prod p]
sol
= [s | s <- [5..], suma s, suma1 s]

¿Sería correcto? Vamos a ver un
contraejemplo: el número 18 cumple
(suma1 18) y no es solución.
Contraejemplo
Suma1 18 => uno [p | p <- productosDe 18, prod p]
productosDe 18 => [32,45,56,65,72,77,80]

Sólo un elemento (i) de productosDe 18 puede
satisfacer (prod i) para que 18 sea solución
i=32
prod 32 => varios [s | s <- sumasDe 32, suma s]
sumasDe 32 => [18,12]

Varios de (sumasDe 32) tendrían que cumplir (suma i)
para que (prod 32) fuera verdadero, es decir, tendría que
ser verdadero tanto (suma 18) como (suma 12)
suma 18 => False
suma 12 => False

Luego i /= 32
prod 32 => False
Contraejemplo

Seguimos probando para el resto de
(productosDe 18) ([32,45,56,65,72,77,80]) y
tenemos que efectivamente sólo hay un i que
cumple (prod i) y es i=72
prod 72 => varios [s | s <- sumasDe 72, suma s]
sumasDe 72 => [38,27,22,18,17]
suma 38 => False
suma 27 => True
suma 22 => False
prod 72 => True
suma 18 => False
suma 17 => True
Contraejemplo


Observamos que 18 sería solución mientras que
realmente no cumple (suma 18)!!!Y es que la “s”
de (suma1 s) es distinta de la de (suma s), cosa
que hay que tener en cuenta a la hora de ir
eliminando estados a medida que sucede la
conversación
Conjetura de Goldbach: todo número par es
suma de dos números primos => No puede
haber un número par solución de éste problema.