Fernanda Mora
Aarón Sánchez
Luis E. Pérez
11 diciembre del 2015
Any darn fool can make something complex; it takes a genius to make something simple.
-Pete Seeger
Any darn fool can make something complex; it takes a genius to make something simple.
-Pete Seeger
Envío y pérdida de información mediante sistema de información
Si algo se puede cuantificar, entonces se puede codificar.
Si algo se puede codificar, entonces se puede hacer el código binario asociado.
Entonces, cualquier información puede ser expresada con código binario.
Un código binario se puede almacenar y enviar.
Para llevar a cabo la transmisión se requieren recursos temporales y de almacenamiento.
¿Cuál es la mejor manera de representar un conjunto de datos a modo de minimizar los recursos necesarios?
En la definición estamos hablando de un programa: ¿en qué lenguaje? ¿con qué máquina?
Para lograr generalidad, Kolmogorov estableció que dicha máquina tenía que sea una máquina de Turing.
Definición 1.- (Kolmogorov (1965), Chaitin (1966)). La información algorítmica, también llamada Complejidad de Kolmogorov de una cadena s es la longitud del programa más pequeño p que produce a s en una máquina de Turing universal U.
Es decir, K(s)={min|p| : U(p)=s}
Teorema 1.- Sea M un mensaje tal que en un lenguaje C encontramos el programa P más pequeño que reproduce M con una longitud dada por L(C). Sea C' otro lenguaje y P' el programa más pequeño que reproduce M con una longitud dada por L(C').
Entonces |L(C)-L(C')|<a para alguna a constante con a>=0.
Es decir, la información algorítmica es independiente del lenguaje salvo por constantes aditivas
Realmente no importa el lenguaje que escojamos
3 importantes dificultades surgen al considerar la complejidad de Kolmogorov:
Incomputabilidad
Imposibilidad de la aleatoriedad
Teorema 2.- Calcular la Complejidad de Kolmogorov para un mensaje arbitrario es un problema incomputable.
Resultado: Hay más sucesiones no aleatorias que aleatorias.
Esbozo de prueba:
Población: Los individuos son Máquinas de Turing definidas mediante un string de 0’s y 1’s. Los genes entonces son los bits y los cromosomas los strings.
Número individuos: cuántos individuos por generación van a ingresar al algoritmo.
Número de generaciones: cuántas corridas al algoritmo genético se harán.
Cadena inicial: cadena pequeña de 0’s y 1’s que es ingresada por el usuario.
Fitness:
Selección:
Selección:
Queda definida de la siguiente manera:
es el fitness del individuo i
Fitness promedio de la población
es la desviación estándar del fitness de la población.
Software: La interfaz gráfica y sua rutinas se llevaron a cabo en Java
Manuales:
[1] Boolos, Burgess & Jeffrey, 2007.
[2] A. Kuri-Morales, Approximate Calculation of Information via Evolutionary Algorithms.
[3] M. Conte, I. De Falco, Genetic Programming Estimates of Kolmogorov Complexity, University of Naples \Federico II", Research Institute on Parallel Information Systems.
[4] D. E. Goldberg, Genetic Algorithm in Search, Optimization, and Machine Learning, Addison Wesley Publishing Company, January 1989.