Vistas de página en total

martes, 6 de marzo de 2012

Mensaje secreto

Descripción breve:
Un agente envía información codificada mediante la publicación de un carácter ASCII cada día en el periódico. Elige al azar un carácter cualquiera que se corresponde con siete bits, solo puede modificar uno de ellos o ninguno. El carácter modificado o no lo publica.
¿Cuántos bits de información puede enviar diaramente?

http://santiprofemates.wordpress.com/2012/03/01/desafio-51-mensaje-secreto/
El número de bits que se pueden codificar con ese método es 3.
Vamos a utilizar un concepto que llamamos semilla que es de tres bits. La semilla no se envía se calcula tanto por el transmisor como por el receptor.

Calculamos la semilla del número aleatorio mediante la fórmula:
S2 = a + b + c + d
S1 = a + b +  e + f
S0 = a + c + e + g
La operación  + es  la or-exclusiva
Siendo abcdefg el número. Obtenemos S2S1S0
El número que queremos codificar le hacemos la or-exclusiva con la semilla.
El resultado nos dice qué bit debemos cambiar.
En recepción calculamos la semilla que nos dice el valor codificado.
 

Explicación: tenemos la posibilidad de definir tres funciones de paridad en función de los dígitos del número que hemos obtenido aleatoriamente. En la recepción también se  podrán obtener esas mismas funciones. Las tres funciones de paridad han de producir diferentes valores para dos números que difieran en un solo dígito. Esto se consigue si las funciones de paridad se hacen de tal manera que se correspondan con los pesos de la codificación de la posición del dígito:

Posición dígito a cambiar
S2
S1
S0
No hay cambio
0
0
0
1
0
0
1
2
0
1
0
3
0
1
1
4
1
0
0
5
1
0
1
6
1
1
0
7
1
1
1



Así cada cambio de bit se corresponderá con un cambio diferente en la semilla, mientras el 7 = 111 cambiará los tres bits de la semilla.  El 1  = 001 solo cambiará el de menor peso. El 3 cambiará los dos de menor peso. Y así el resto.
Ejemplo: Tenemos el valor 0101010 calculamos la semilla y nos sale: 0, queremos codificar un 7.
7 orx 0 = 7. Debemos modificar el bit 7: 1101010
El receptor ve ese valor  y extrae la semilla = 7. 
Ejemplo; Tenemos el valor 1000010. La semilla es 5. Queremos codificar un 4
5 orx 4 = 1, Debemos modificar el bit 1,  1000011.
El receptor extrae 4 de semilla.

lunes, 20 de febrero de 2012

Mallas y colores

Supongamos que nos plantean el siguiente problema: tenemos una malla de 66 nodos y cada nodo está conectado con los otros con un segmento que puede ser de uno de cuatro colores diferentes, demostrar que al menos hay un conjunto de tres nodos que están conectados entre sí por el mismo color.
El problema parece imposible a primera vista pero partiendo de un caso más simple se puede ver que sí existe solución, veamos el problema planteado originalmente:
http://santiprofemates.wordpress.com/2012/02/16/desafio-409-los-mensajeros/

Caso A: tenemos 6 nodos y 2 colores

De cada nodo salen 5 líneas, 3 al menos han de ser del mismo color. Esas líneas van a tres nodos si alguna de las conexiones que conectan esos tres nodos fuera del mismo color tendríamos un triángulo monocolor. Pero en caso contrario tendríamos que las conexiones entre esos tres nodos serían del otro color formando un triángulo monocolor.
Hemos pintado las conexiones del nodo 0 a los nodos 1,2,3 de color rojo y a los nodos 4 y 5 de color azul. Ahora miramos las conexiones entre los nodos 1,2,3 que están provisionalmente en negro y debemos ponerlas en rojo o azul. Si la conexión 1-2 la ponemos en rojo el triángulo 0,1,2 será rojo en su conjunto, luego tenemos que poner 1-2 en azul. Lo mismo ocurre para la conexión 2-3 y para 1-3. Luego nos sale que el triángulo 1,2,3 es azul todo él o sea monocolor.

Caso B: 17 nodos y tres colores

De cada nodo salen 16 líneas, 6 al menos han de ser del mismo color. Esas líneas van a seis nodos si alguna de las conexiones que conectan  esos seis nodos fuera del mismo color tendríamos un triángulo monocolor. Pero en caso contrario tendríamos seis nodos conectados con dos colores diferentes que es el caso anterior A y que sabemos que ha de producir al menos un triángulo monocolor.

Caso C: 66 nodos con cuatro colores.

De cada nodo salen 65 líneas, 17 al menos han de ser del mismo color. Esas líneas van a 17 nodos si alguna de las conexiones que conectan esos 17 nodos fuera del mismo color tendríamos un triángulo monocolor. Pero en caso contrario tendríamos 17 nodos conectados con tres colores diferentes que es el caso anterior B y que sabemos que ha de producir al menos un triángulo monocolor.

Como se ve la generalización es muy sencilla y los siguientes valores para 5,6,7,8... colores sería: 327,1958,13701,109602... nodos

http://en.wikipedia.org/wiki/Ramsey%27s_theorem

lunes, 9 de enero de 2012

Una cuadratura

El desafío consiste pues en transformar un cohete, pongamos por ejemplo de 2×8, en una media luna de la misma área, formada por dos arcos de círculo, explicando la forma de hacerlo o demostrando que no es posible.
http://santiprofemates.wordpress.com/2012/01/04/desafio-403-el-cohete-y-la-luna/


Cuadrar el círculo significa construir un círculo del mismo área que un cuadrado utilizando solo regla y compás. No es posible pues Pi es un número transcendental. Sin embargo los griegos encontraron un caso especial en que podían transformar el área de un triángulo rectángulo en un área formado por dos arcos de circunferencia que es el caso que se muestra aquí.
http://en.wikipedia.org/wiki/Lune_of_Hippocrates

1 Transformamos el rectángulo en un cuadrado de 4X4.
2 El cuadrado lo dividimos por la diagonal en dos triángulos rectángulos y los unimos formando un triángulo rectángulo mayor: EIHG que sigue teniendo el mismo área.
3 El área del sector EIKG es 1/4 Pi (4 * sqrt 2) ^2 = 8 * Pi
4 El área del sector HIJG 1/2 Pi 4 ^2 = 8 * Pi
Son iguales
Como el área de HIKG es común a los dos, nos queda que el área de la cuasi luna KIJG es igual al rectángulo EIHG o sea 16.
Esto demuestra que los griegos eran muy listos y que no tenían televisión pues así gastaron tanto tiempo en estas cosas.

El problema tiene un pequeño defecto y es que la forma de la luna creciente o decreciente no está formada por la intersección de dos círculos sino por un círculo y una elipse. En este caso no hay solución a menos que prohiban la televisión.

lunes, 2 de enero de 2012

Uno de bombas

Tenemos que explotar 84 bombas que funcionan con un interruptor (1- encendido y 0-apagado) 12 de las cuales tienen un defecto que consiste en que están encendidas en posición 0 y apagadas en posición 1.
Las bombas defectuosas son indistinguibles de las que están en buen estado, esto es no es posible saber si una bomba es defectuosa ó no antes de que explote.
Podemos realizar las explosiones que queramos, sabiendo que en cada una, solo explotarán las bombas encendidas (posición 1, para las que estén en buen estado, ó posición 0 para las bombas defectuosas)
En cada explosión todas las bombas deben repartirse entre dos lugares diferentes(A y B), en grupos no necesariamente iguales, cada una con el interruptor en la posición que queramos.
  El desafío es encontrar una estrategia de colocación de las bombas, usando inteligentemente la posición de sus interruptores, para llevar a cabo la explosión de todas las bombas, cumpliendo que en cada explosión el número de bombas que exploten en cada lugar sea el mismo,(el número de bombas que explote en A debe ser igual al número de bombas que explote en B).

El problema en sí es muy bonito salvo por el hecho que está basado en otro que es muy conocido: el de las monedas que hay que conseguir que aparezcan el mismo número de caras en dos grupos diferentes.

Hacemos dos grupos de bombas uno de 12 bombas y otro de 72. Ponemos el primer grupo en A y el segundo en B. Las del grupo B las ponemos a 0, es decir la que normalmente no explota. Sin embargo las de A las ponemos a 1. Supongamos que en A hay X de las malas, luego en B habrá 12-X. En B explotan 12-X y en A explotarán las buenas que son 12-X. Explotan las mismas en ambos lados.

En la siguiente fase explotamos todas las que quedan, para ello les cambiamos el valor del interruptor es decir ponemos las de A a 0 y las de B a 1 y después equilibramos el número de bombas en ambos lados.

Como el número inicial era par y las explotadas también. las que nos quedan también lo son y las podemos repartir a partes iguales entre ambos lados.


1 fase

En A hay X malas y 12 –X buenas

En B hay 12- X malas y 60 + X buenas

Explotan buenas de A y malas de B

2 fase

Quedan X de A y 60 + X de B.

Las de A las ponemos a cero y las de B a 1. Finalmente pasamos 30 bombas de B a A.

Y hacemos explotar las 60 + 2X bombas que quedan.