Está en la página 1de 5

Manual de supervivencia para la isla de los pcaros y caballeros

Abstract El objetivo de este apunte es extender el material disponible para la resolucin de acertijos lgicos. El mecanismo que usaremos sern tablas de verdad.

Introduccin
Por un lado los pcaros: siempre mienten. Por el otro los caballeros: siempre dicen la verdad.

En la isla de los pcaros y caballeros tenemos dos tipos de habitantes:

Nos hemos perdido en esta isla y no sabemos en quin conar, por lo tanto debemos analizar todo lo que nos dicen. Un habitante A se nos acerca, le preguntamos qu tipo de habitante es y nos responde Yo soy un caballero. Pensamos un poco con desconanza y notamos lo siguiente: Si A fuera un caballero nos estara diciendo la verdad y eso concuerda con el tipo de persona que sera. Pero si A fuera un pcaro nos tendra que estar mintiendo, y lo que nos dice, tambin concuerda con el tipo de persona que sera. Por lo tanto no podemos saber qu tipo de persona es A a partir de su armacin. Observemos que ningn habitante nos puede responder Yo soy un pcaro. Puesto que de obtener este tipo de respuesta de un habitante, llamemoslo B, nuevamente tenemos 2 opciones: Si B fuera un caballero nos estara mintiendo, pero esto no concuerda con el comportamiento de los caballeros. Si B fuera un pcaro estara diciendo la verdad y tampoco tendra sentido. Necesitamos una forma mas rpida de razonar lo que nos dicen para poder conar en las personas adecuadas.

2
2.1

Cmo actuar en la isla


Analicemos un poco

Hemos aprendido a modelizar con expresiones booleanas proposiciones del lenguaje natural, veamos qu utilidad podemos darle a este conocimiento en la isla. Cuando nos encontramos con un habitante A nos interesa saber si es un caballero o no. Podemos modelar esto con una variable booleana de la forma: p: A es un caballero Ahora bien, cualquier armacin de A puede ser verdadera o falsa. Por ende, lo que nos dice A se puede representar con una expresin booleana. Llamemos a dicha exprecin E. Tenemos dos casos: 1. Si A es un caballero entonces E es cierta 2. Si A es un pcaro entonces E es falsa Modelando esto en lgica nos queda:

Programacin I

1. p = E 2. p = E Haciendo la conjuncin de ambos razonamientos llegamos la expresin (p = E ) (p = E ) La cul es equivalente a pE El valor de verdad de la proposicin p, coincide con el valor de verdad de la armacin realizada por el habitante A.

2.2

Resolviendo acertijos

Supongamos que se nos acerca un habitante A y nos dice Si soy un caballero entonces me comer mi sombrero, podemos inferir el tipo de persona que es A? Primer paso: Denimos las variables booleanas que representen armaciones atmicas. p: A es un caballero q: A se comer su sombrero Segundo paso: Modelamos el acertijo con expresiones booleanas. Lo que dice A puede traducirse como: p = q Por lo tanto, recordando la conlusin de la seccin anterior, tenemos: p p = q Tercer paso: Escribimos la tabla de verdad del modelo p T T F F q T F T F p = q T F T T p p = q T F F F

Cuarto paso: Analizamos la tabla de verdad y conclumos. 1. Observamos la ltima columna y nos quedamos con las las para las cuales sta es verdadera. Estos son los casos que tienen sentido, es decir, en los cules el modelo planteado es consistente con las reglas dadas. Por ende, dichas las se corresponden con asignaciones de valores de verdad para las variables del problema, de las cules podemos extraer informacin. 2. De tener mas de una la con ltima columna en true, nos quedamos con la informacin que se repite en TODAS las las (veremos otro ejemplo en la siguiente seccin). En este ejemplo hay una sola la verdadera en la ltima columna y nos permite conclur que A es un caballero y que se comer su sombrero.

2.3

Otro ejemplo

En la isla de los pcaros y los caballeros, A dice O bien soy un pcaro o bien B es un caballero. Qu son A y B? Paso 1: Denimos p : A es un caballero q : B es un caballero

Ao 2013

Programacin I

Paso 2: Formalizamos lo que dice A p q y obtenemos el modelo p (p q ) Paso 3: Escribimos la tabla del modelo p T T F F Paso 4: Analizamos la tabla y conclumos 1. Nos quedamos con la primer y tercer la. 2. Vemos las columnas de las variables y encontramos: (a) p toma distintos valores en estas las, por lo tanto no podemos asegurar nada sobre su veracidad. (b) q siempre es verdadera, por lo tanto podemos asegurar que q es cierta. Conclumos entonces que B es un caballero y que no podemos asegurar nada de A. q T F T F p F F T T p q T F F T p (p q ) T F T F

2.4

Hablar con varios habitantes

En este ejemplo hablamos con varios habitantes a la vez. Alberto, Bernardo y Carlos son habitantes de la isla. Alberto dice: Bernardo y Carlos son pcaros. Bernardo dice: No soy un pcaro. Carlos dice: Bernardo es un pcaro. Qu podemos asegurar? Paso 1: Denimos p: Alberto es un caballero q: Bernardo es un caballero r: Carlos es un caballero Paso 2: Formalizamos, de cada armacin obtenemos una expresin De la armacin de Alberto obtenemos: p q r De la armacin de Alberto obtenemos: q q De la armacin de Alberto obtenemos: r q Para nalizar el modelo, debemos considerar la conjuncin de todo lo que sabemos, puesto que estas 3 expresiones deben ser verdaderas simultneamente. Obteniendo asi: (p q r) (q q ) (r q ) Paso 3: Escribimos la tabla

Ao 2013

Programacin I

p T T T T F F F F

q T T F F T T F F

r T F T F T F T F

q F F T T F F T T

r F T F T F T F T

q r F F F T F F F T

p q r F F F T T T T F

q q T T T T T T T T

r q F T T F F T T F

(p q r) (q q ) (r q ) F F F F F T T F

Paso 4: Conclumos Slo los estados {(p, F alse) , (q, T rue) , (r, F alse)} y {(p, F alse) , (q, F alse) , (r, T rue)} satisfacen la tabla. Obtenemos as que p es falsa y que slo uno entre q y r puede ser cierto. Por lo tanto hay dos pcaros y un caballero y uno de los pcaros es Alberto.

Dnde est el milln?

Veamos otro acertijo. Detrs de 1 y solo 1 de tres puertas hay un milln de dlares. La primer puerta tiene un cartel que dice: Est ac La segunda puerta tiene un cartel que dice: No est ac La tercer puerta tiene un cartel que dice: No est en la primer puerta Si se sabe que a lo sumo uno de los carteles es verdadero, detrs de que puerta est el milln? Paso 1: Denimos las variables. En este problema, nos ayudar contar con 2 grupos de variables asociadas a 2 hechos que tenemos que involucrar en el modelo, que reponden a las preguntas: dnde est el milln? y qu puerta dice la verdad?. As que denimos: pi : El millon est en la puerta i; con i:=1,2,3. qi : La puerta i dice la verdad; con i:=1,2,3. Paso 2: Formalizamos, de cada puerta obtenemos una expresin De la puerta 1: (S1 ) q1 p1 De la puerta 2: (S2 ) q2 p2 De la puerta 3: (S3 ) q3 p1 Adems, sabemos que el milln est en exctamente 1 puerta. Esto podemos modelarlo recordando que la frmula (F1 ) p1 p2 p3

es verdadera cuando un nmero par entre p1 , p2 y p3 son falsas. Siendo 0 y 2 los nicos pares entre 0 y 3, tenemos que (F1 ) es verdadera cuando 1 o 3 entre p1 , p2 y p3 son verdaderas. Por eso, si eliminamos la posibilidad de que las 3 variables sean verdaderas simultneamente, tenemos que la expresin (S4 ) representa el resultado deseado: (S4 ) (p1 p2 p3 ) (p1 p2 p3 )

Por ltimo, sabemos que a lo sumo uno de los carteles es verdadero, o lo que es lo mismo qu exctamente 1 o ningn cartel dice la verdad. Siguiendeo un razonamiento similar al tem anterior, obervamos que la expresin (S4 ) podemos tomarla como referencia y solo debemos cambiar las variables p por las q y adems, agregar la posibilidad de que ningn cartel sea verdadero. Esto nos lleva a la siguiente frmula: (S5 ) ((q1 q2 q3 ) (q1 q2 q3 )) (q1 q2 q3 )

Ao 2013

Programacin I

Para nalizar el modelo, debemos considerar la conjuncin de todo lo que sabemos, obteniendo asi: (M ) (S1 ) (S2 ) (S3 ) (S4 ) (S5 )

Paso 3: tabla de verdad. En nuestro modelo, al tener 6 variables, la tabla completa tendr 64 entradas (o sea, 26 ), y por esta razn es conveniente hacer un anlisis previo para evaluar la posibilidad de reducir este nmero. Cuidado, en este tipo de ejercicios nos interesa achicar la tabla de verdad, puesto que como explicamos anteriormente, solo necesitamos los resultados para los cules la ltima columna de la tabla es true (por ende, los razonamientos expuestos a continuacin no deben trasladarse a otros ejercicios que no fueran planteados en trminos de acertijos). Analizando la frmula del modelo (M ), sabemos que cada una de las subexpresiones (S1 ), (S2 ), (S3 ), (S4 ) y (S5 ) debe ser true. En particular, enfoquemosnos en (S4 ) y (S5 ). Para (S4 ), tenemos que las nicas entradas de la tabla que pueden hacerla verdadera son las siguientes: p1 T F F p2 F T F p3 F F T (S4 ) T T T

Con razonmaiento anlogo, en (S5 ), las nicas entradas de la tabla que resultan en true son: q1 T F F F q2 F T F F q3 F F T F (S5 ) T T T T

Por lo tanto, conseguimos reducir la asignacin de variables que pueden originar true en la ltima columna. Para el grupo de las p tenemos 3 posibilidades y para el de las q contamos con 4. En base a esto, para la confeccin de la tabla nal, solo debemos combinar los resultados de ambas asignaciones y as lograremos una tabla de 3 4 = 12 entradas, signicativamente menor a la tabla completa. Abajo presentamos el resultado nal, dejando como ejercicio para el lector el clculo de los resultados intermedios. p1 T F F T F F T F F T F F p2 F T F F T F F T F F T F p3 F F T F F T F F T F F T q1 T T T F F F F F F F F F q2 F F F T T T F F F F F F q3 F F F F F F T T T F F F ... ... ... ... ... ... ... ... ... ... ... ... ... M F F F F F F F T F F F F

Paso 4: Conclusin. El nico estado para el cul el problema se satisface es el siguiente: {(p1 ; f alse), (p2 ; true), (p3 ; f alse), (q1 ; f alse), (q2 ; f alse), (q3 ; f alse)} con lo cul podemos concluir que el milln se encuentra detrs de la segunda puerta.

Ao 2013