Inteligencia computacional
# Inteligencia computacional

Inteligencia Computacional (IC) es una rama de la inteligencia artificial centrada en el estudio de mecanismos adaptativos para permitir el comportamiento inteligente de sistemas complejos y cambiantes. Se presenta como una alternativa a la GOFAI ("Good Old-Fashioned Artificial Intelligence"), tratando de no confiar en algoritmos heurísticos tan habituales en la Inteligencia Artificial más tradicional.

La Inteligencia Computacional combina elementos de aprendizaje, adaptación, evolución y lógica difusa para crear programas que son, en cierta manera, inteligente. La investigación en Inteligencia Computacional no rechaza los métodos estadísticos, pero muy a menudo aporta una vista complementaria. Las redes neuronales son una rama de la inteligencia computacional muy relacionada con el aprendizaje automático.

## Funcionamiento

La IC emplea un razonamiento cercano al de los humanos mediante la utilización de conocimientos inexactos e incompletos, así como siendo capaz de llevar a cabo acciones controladas de forma adaptada. Su funcionamiento está sustentado, principalmente, por tres pilares: las redes neuronales, la lógica difusa y la computación evolutiva. Asimismo, al tratarse de un campo en constante evolución, aparte de estas tres bases también se incluyen paradigmas computacionales como la inteligencia ambiental, la vida artificial, el aprendizaje cultural, redes endocrinas artificiales, razonamiento social y redes de hormonas artificiales.

### Redes neuronales artificiales

Se trata de modelos matemáticos artificiales inspirados por el funcionamiento del cerebro humano. Buscan imitarlo con el fin de crear un sistema inteligente que actúe y responda de forma parecida a como lo harían las neuronas. Se establece un sistema de neuronas conectadas con una memoria local limitada que se interconectan mediante canales de comunicación (o conexiones) que, usualmente, transmiten datos numéricos codificados y pueden tener fuerzas variables (o ponderaciones). Cada neurona tendrá un peso determinado que, junto con la cantidad de entradas que reciba, determinará su fuerza de actuación.

Las diferentes neuronas se juntan en grupos que, a su vez, se clasificarán por capas. La primera capa (que no tiene ninguna anterior que le suministre la información) se conoce como capa de entrada, la última como capa de salida (resultado visible de la red), y todas aquellas que se encuentran en medio reciben el nombre de capas ocultas. Puede no haber ninguna capa oculta, pero para conformar una red se requiere una capa de entrada y una de salida (en caso de sólo haber una capa, ésta efectuará los dos roles a la vez). Puede relacionarse el funcionamiento de las capas con el aprendizaje profundo.

La red aprende revisando registros individuales, realizando predicciones por cada uno de ellos y adaptándose cuando se equivoca. Este proceso se lleva a cabo multitud de ocasiones hasta que el sistema llega a un punto de conclusión. Inicialmente, todas las ponderaciones son aleatorias y las respuestas incorrectas. La red, entonces, va aprendiendo a medida que experimenta.

### Lógica difusa

Se trata de un tipo de sistema lógico computacional dirigido a la categorización de datos empíricos de forma cercana a la empleada por el razonamiento humano. Esto significa que, en vez de clasificar utilizando el modelo binario (o a 1), recoge los matices y las calificaciones intermedias. Se entiende, en cierto modo, como la valorización del espacio entre lo verdadero y lo falso. La dificultad reside en la voluntad de captar la falta de precisión de la lengua humana y hacerla comprensible por una computadora. Teorizada por el matemático Lotfi A. Zadeh, la lógica difusa se trata de un método de razonamiento aproximado, no probabilístico, y puede entenderse como una extensión de la lógica multivalente.

### Computación evolutiva

Se trata de la disciplina que implementa las técnicas computacionales para resolver problemas principalmente de optimización combinatoria. Requiere de la heurística y basa su operación en los principios de la evolución de Darwin.

Para trabajar con casos hipotéticos, la computación evolutiva (CE) hace uso de una metáfora llamada metáfora evolutiva. Se refiere como población a un grupo de individuos que coexisten en un entorno concreto valiéndose de recursos limitados. La competición por estos recursos es lo que desemboca en una selección de los más fuertes capaces de sobrevivir, los mejor adaptados. Estos sujetos pasarán a ser los progenitores de las nuevas generaciones de individuos a los que darán lugar mediante mutaciones y recombinaciones (crossovers). Se vuelve a repetir la rueda, y estos nuevos individuos compiten, de nuevo, por la supervivencia, mejorando así, progresivamente, la calidad de los que sobreviven.

Dentro de la propia CE se pueden diferenciar diversas estrategias de optimización, como son los procesos de búsqueda evolutiva, las estrategias evolutivas, la programación evolutiva, los algoritmos genéticos y la programación genética.

