miércoles, febrero 27, 2008

Historia de 2 algoritmos

Supongamos este escenario:


Resultado_desconocido1 = Algoritmo_desconocido_1 (input_conocido, input_desconocido)

Resultado_conocido = Algoritmo_desconocido2 (resultado_desconocido1)

O lo que es lo mismo, tenemos una caja negra donde no vemos el interior, solo podemos ver las entradas y las salidas.
Más bien la caja es gris, algo podemos ver de lo de dentro pero no lo entendemos. Por eso sabemos que hay 2 algoritmos y que el primer algoritmo se dedica a mapear una entrada serie en una estructura multidimensional de información. El segundo hace el resultado inverso para producir una salida serie.

Pero tanto las entradas como las salidas son tremendamente complejas. La salida depende de la entrada en ese momento, de las inmediatamente anteriores y de infinidad de otras entradas anteriores relacionadas con la entrada actual de las formas más complejas y extrañas (en la estructura multidimensional mencionada anteriormente).


En este escenario. ¿Cómo podemos descubrir los algoritmos desconocidos?

5 comentarios:

El gincho dijo...

Sin más pistas no puedo sacar una conclusión (oye que me he tirao pensandolo un buen rato)

El gincho dijo...

an ver:
1º descubrir el input desconocido mediante la asociación del input conocido con el definitivo resultado conocido.

2º Una vez descubierto el/los input desconocido/s ver las posibilidades de trabajos previos al resultado conocido y escoger el que más se adecúe como parámetro al trabajo final para el resultado conocido.

3º Probar a trabajar algoritmos que usen como parámetro al resultado elegido para que den el resultado conocido.

De esto hay muchas variantes, ¿seguro que te has expresado bien en el artículo? es que si no no lo pillo

Unknown dijo...

lo que propones como primero es imposible.

input desconocido -> algoritmo desconocido -> resultado conocido.

Cualquier cosa que salga en el resultado no podemos saber si viene del input o del algoritmo.

El gincho dijo...

uf entonces ya que si que no me como la cabeza, directamente me parece tan imposible como acertar el euromillones ;P

Sergio Alvaré Peláez dijo...

Si pudiese aislar el sistema, metiendo una serie de inputs conocidos u que sigan algún patrón, y tratar de descubrir el patrón formado por las salidas obtenidas. En ese caso, deberías conocer la salida para cualquier entrada posible, por lo que podrías deducir —con mayor o menor facilidad— el algoritmo resultante de combinar ambos algoritmos.

Problemas:
1) Aislar el sistema del input desconocido. Puede ser difícil porque ni siquiera sabemos la dimensión de ese input... podría ser un array de trillones de elementos. Y puede que no seamos capaces de proteger el sistema de sus efectos (no puedes violar las leyes físicas, ni puedes proteger un sistema contra la gravedad —algo que podría influir en su configuración interna—

2) A saber cómo sabes qué parte del algoritmo suma pertenece a cada algoritmo de los dos que mencionas.

3) Como dices, Jordi, "Cualquier cosa que salga en el resultado no podemos saber si viene del input o del algoritmo."

En defiitiva creo que es imposible. Pero si te dejan medir todos los factores posibles a la entrada del sistema tal vez puedas hacer un buena estimación del resultado. Lo malo es que no sabes hasta qué punto un factor que para tí es insignificante puede afectar al sistema.