¿Existe un algoritmo generalizado para encontrar la función inversa de una función biyectiva arbitraria?
- Para que este algoritmo sea útil, debe detenerse una vez que se encuentre la respuesta correcta.
- Más allá del requisito de que finalmente debe encontrar la solución, no hay limitaciones de tiempo en el tiempo que lleva encontrar o ejecutar la función inversa (con eso en mente, algo mejor que la fuerza bruta de adivinar y verificar sería más interesante).
Por ejemplo, si existiera un algoritmo tan generalizado, podría resolver un algoritmo de descompresión para un algoritmo de compresión sin pérdidas.
EDITAR:
Realmente me gustaron las suposiciones de Evgenij Thorstensen, ya que resumieron mi pregunta bastante bien.
Supuestos
- Funciones biyectivas computables sobre un alfabeto fijo (digamos {0, 1})
- Representado por una máquina de Turing determinista (DTM) que lo calcula
- El algoritmo propuesto podría resolver un DTM que invertiría la salida de la función biyectiva original.
Otra oportunidad para explicarlo:
Dado: Función biyectiva F
que mapea X del dominio A en Y del dominio B.
El algoritmo propuesto debería ser capaz de resolver una función biyectiva G
que mapee Y desde el dominio B a X desde el dominio A, de modo que G(F(X))=X
y F * G = I
dónde I
esté la función de identidad.