UnDomain Un friki suelto por la red

acertijo


Algoritmos humanos: Solución

Hace unos días/semanas planteé un acertijo, llamado Algoritmos humanos, que me pasaron por una lista de correo. Hace poco me he acordado de que no he puesto la solución, así que aquí viene.

Si no lo has leído antes, échale un ojo aquí.

Antes de nada, decir que me la solución me parece un poco timo. Especialmente porque el enunciado me parece poco claro o no bien planteado. Pero como no es cosa mía, las quejas al autor. Yo me lavo las manos.



Para empezar, la condición es saber si han pasado todas las personas por la sala como mínimo una vez. No importa si cuando se diga han pasado 800 veces, pero si que se ha de poder asegurar.

Para esto, se decide que una de esas personas será el contador. Se ha de tener presente que el interruptor será la única cosa que se puede "modificar".

La secuencia seria la siguiente:

1.- Se decide que el interruptor hacia arriba es ON y hacia abajo será OFF.

2.- Cada vez que alguien sea llamado a la sala y el interruptor esté en OFF, lo pondrá a ON solo una vez.
Es decir, si cuando llega el interruptor está a ON, no hará nada.
Si cuando llega el interruptor está a OFF y es la primera vez que ve el interruptor en OFF, lo pondrá a ON.
Si cuando llega el interruptor está en OFF, pero en otra visita ya lo ha puesto a ON, lo dejará en OFF.

3.- Cada vez que el contador pase por la sala hará lo siguiente:
Si es la primera vez que viene a la sala, asumirá el valor 1.
Si el interruptor está en ON, sumará 1 a su valor y pondrá el interruptor a OFF.
Si el interruptor está en OFF, no hará nada y mantendrá su valor.

En el momento en el que el contador llegue a 100, sabrá que todos los demás han pasado como mínimo una vez por la sala y podrá avisar a los organizadores.



¿Que os parece?

Algoritmos humanos

En una lista de correos en la que estoy apuntado se ha planteado un acertijo de lógica que la verdad es que está dado guerra...

Yo no se la respuesta, y todavía no nos han dado la solución.
La pongo aquí a ver si alguien tiene lo que hay que tener para solucionarlo (es un Copy&Paste del correo original):



Las formulas tontas matematicas no nos llean a ninguna parte.

Asi que voy a plantear uno de esos retos matematicos de cierta complejidad.

Un dia, Microsoft, que necesita un algoritmo muy complicado, decide
que lo mejor sera que se lo solucionen un grupo de expertos. Asi que
hace lo siguiente, reune a 100 expertos, y les promete un millon de
dolares a cada uno de ellos si resuelven el siguiente problema:

"ahora, estais aqui, todos juntos. podeis estar aqui todo el tiempo
que querais y pensar y desarrollar el modo de solucionar el problema
que os plantearemos, pero cuando salgais por la puerta, no volvereis a
saber nada los unos de los otros, ni volvereis a veros.

He aqui el problema, cuando salgais por esa puerta, nosotros os iremos
llamando, cuando os llamemos, tendreis que ir a la habitacion X.
Habitacion en la que solo hay un interruptor que enciende o apaga la
luz. Y luego podreis iros.

Podemos llamar a cada uno mas de una vez, puede ser que entre una
llamada y otra pasen minutos, horas, dias... incluso años.

Pues el reto es el siguiente, teneis que inventar alguna manera para
que de algun modo, alguno de vosotros, pueda llegar a saber cuando los
100 han sido llamados como minimo una vez"

Ale, darle al coco. Es complicado, y no se si estara por internet. Si
alguno antes de matarse a pensar, decide buscarlo por internet, no
vengais aqui a contarlo enseguida, dejad que los demas piensen. Y si
veo que nadie se sale, dare una pista que puede ayudar a resolverlo.

Saludos


Una pista...

Tags:
Distribuir contenido

Mientras tanto, en "¿Alguien ha visto mi martillo?"...


Inicio de sesión


Todo el contenido mostrado ha sido obtenido libremente por la red. Las marcas indicadas son propiedad de sus legítimos dueños y se muestran a modo informativo de manera libre y voluntaria, sin intención publicitaria ni ánimo de lucro. Todo el material propio, y salvo que se indique lo contrario, se encuentra bajo licencia Creative Commons. Si tienes el Copyright de algún contenido o has detectado algna anomalia, por favor, infórmalo al correo undomain@gmail.com para ser corregido cuanto antes. El autor de esta Web no se hace responsable del contenido de terceras personas y de sites ajenos a este.

Powered by Drupal, an open source content management system