Está en la página 1de 23

INTELIGENCIA ARTIFICIAL – ALGORITMOS BIOINSPIRADOS

Autor:
Miguel Angel Barrera Tamayo
Código: 20192578104
Sistematización de Datos 

Inteligencia Artificial 578-301


Director:
Nelson Reynaldo Becerra Correa

Universidad Francisco José de Caldas


Facultad Tecnológica
Algoritmos Bioinspirados

Introducción

La inteligencia artificial es un área de investigación de la cual se desprenden


múltiples disciplinas con el fin de sacar el máximo provecho para el desarrollo y
avance y hacer uso de los aportes que se generan. Las investigaciones que se
realizan en el campo de la inteligencia artificial nos proveen de diversos algoritmos
que se aplican a la resolución de problemas teorico-practicos y prácticos con
índoles que varían de discreta, continua, espacio temporal, etc.
Se pueden encontrar algoritmos basados en distintos enfoques como lo son los
estáticos y los matemáticos, sin embargo, la naturaleza ha sido una de las
mayores fuentes de inspiración para la creación o desarrollo de algoritmos de
inteligencia artificial. Estudios del cerebro humano y seres vivos han permitido a la
ciencia y la informática desarrollar las Redes Neuronales Artificiales, estas redes
neuronales son básicamente modelos matemáticos definidos por unidades
computacionales que emulan las neuronas, vínculos de comunicación que definen
las conexiones sinápticas entre neuronas de la red y el tipo de mensajes que
manejara esa red.
¿Qué son los algoritmos bioinspirados?

Los algoritmos bioinspirados o también conocidos como sistemas bioinspirados


son procedimientos construidos por medio de hardware configurable y sistemas
electrónicos que emulan la estructura del cerebro y su capacidad de pensamiento,
el modo en que se procesa la información y la resolución de problemas de los
sistemas biológicos. Este tipo de algoritmos se encargan de resolver problemas
que la inteligencia artificial tradicional no ha podido resolver, por otra parte, la
resolución de problemas de esto algoritmos abarcan bastantes dominios puesto
que su aplicabilidad es muy alta.
Para poder crear estos sistemas se utiliza una computación numérico-simbólica,
aunque también están las famosas redes neuronales artificiales, la lógica difusa y
la computación evolutiva.

 Redes Neuronales: Las RNA son sistemas que tratan de emular o imitar
las redes naturales neuronales, estas se crearon después de investigar y
observar que el cerebro procesa información de una manera muy diferente
a como lo hace una computadora.
El objetivo de las RNA es el construir sistemas que sean capaces de
aprender, generalizar y resolver problemas que las computadoras
convenciones no pueden, se valoran características como que su estructura
se parezca a la de los seres vivos, también la computación asincrónica,
comportamientos tolerantes a fallos y funcionamiento en tiempo real con
entornos complejos y cambiantes.

 Lógica Difusa: La lógica difusa es la lógica que utiliza expresiones que no


son en su totalidad ciertas ni completamente falsas, es decir, la lógica
aplicada a conceptos que pueden tomar un valor aleatorio entre los
intervalos de verdad absoluta o falsedad total, podemos verlo como la
manera en que nuestro cerebro toma decisiones a partir de información que
no es totalmente precisa.

 Computación Evolutiva: La computación evolutiva interpreta la naturaleza


como método para la resolución de problemas de optimización,
reconocimiento y búsqueda, aquí debemos mencionar los algoritmos
genéticos los cuales son una técnica de resolución de problemas que se
inspira de los seres vivos, parten de la observación de los animales y
plantas que en su evolución han sido capaces de adaptarse a los cambios
del entorno, modificando su forma de vida y hasta su estructura.
¿Para qué se utilizan?

Los algoritmos poseen una gran cantidad de aplicaciones gracias a su efectividad,


este tipo de algoritmos podemos encontrarlos en ciudades inteligentes y en sus
redes de semáforos, también en aplicaciones de rutas las cuales dan una ruta con
distancia mínima que ayuda a la descongestión del tráfico en las ciudades, en
edificios inteligentes, pero entre todas estas aplicaciones cabe resaltar algunas
como:

 Evolutionary Surrogate-Assisted Prescription: Investigadores


norteamericanos demostraron de manera experimenta un algoritmo que
puede utilizarse para generar estrategias efectivas no farmacéuticas que
ayuden a la contención de pandemias principalmente el Covid-19, como lo
puede ser el distanciamiento social.

 Robots que Caminan: Investigadores de la universidad de Brandeis


Boston y Cornell Ithaca logran producir robots que caminan a partir de un
conjunto de bloques constructores y de los operadores de un algoritmo
genético. Los experimentos se realizaron partiendo de una población de
200 máquinas que comienzan con cero barras y cero neuronas. Para
desarrollar de manera equitativa el cuerpo y el cerebro dichas maquis
utilizar la co-evolución.

 Algoritmos Evolutivos para la Industria Aeronáutica: El uso de


algoritmos evolutivos multi-objetivos de la industria aeronáutica en Japan
Aerospace Exploration Agency (JAXA). Esta agencia desarrollo un pequeño
avión con el objetivo de sobrevolar la superficie de Marte para hacer un
mapa, este avión fue un reto ya que está construido por una aleación
especial.
 Misiones Espaciales: En el 2004 la NASA desarrolla un algoritmo
evolutivo multi objetivo para optimizar el consumo de combustible en un
vehículo espacial, así como el tiempo de vuelo durante los cambios de
orbita. Este problema es interesante ya que las variables no son fijas y
presentan una alta dimensionalidad, se llegan a trabajar con instancias de
hasta 16,000 variables.

 Visión Artificial: La visión artificial se trata de sistemas capaces de


interpretar imágenes para proceder a tomar decisiones, los dispositivos
electrónicos para este tipo de visión se llevan probando desde 1996,
actualmente se está trabajando con chip sensores de pixeles que se han
incorporado mucha en las cámaras digitales. Una de las principales razones
para la creación de la vista artificial fue para ayudar y facilitar la vida de las
personas invidentes y tetrapléjicas, uno de los casos más famosos que se
ha dado en este campo fue que un paciente moviera el cursor de un
ordenador con solo pensarlo.
Tipos de Algoritmos Bioinspirados

Algoritmo de Colonia de Hormigas

En la inteligencia artificial y en la disciplina de la investigación operativa, el


algoritmo de optimización por colonia de hormiga (Ant Colony Optimisation – ACO)
es una técnica para resolver problemas combinatorios complejos, esta se inspira
en las colonias de hormigas y su comportamiento en la naturaleza, esto también
es conocido como inteligencia de enjambre, un algoritmo propuesto por el director
de investigación de los Fondos Belgas Marco Dorigo en 1992.
Una colonia de hormigas tiene la capacidad de encontrar la ruta más corta desde
su hormiguero hasta la fuente de comida gracias a las feromonas que desprenden,
cuando una hormiga consigue comida regresa a su hormiguero mientras secreta
feromonas, esto sirve como un sendero o guía a seguir para las demás hormigas
de la colonia.

Debido a las grandes poblaciones de hormigas, lo más lógico es que varias de


estas encuentren diversas rutas como diferentes distancias del hormiguero hacia
su posible alimento, es aquí donde entra en juego la volatilidad de las feromonas
cuya intensidad se va perdiendo con el paso del tiempo, por eso las rutas más
largas exigen más tiempo para ser recorridas y resultan poco atractivas para
recorrer con frecuencia.
Esta técnica natural se aplica para encontrar soluciones alternativas a problemas
clásicos como el problema del viajante, la cual dice que dada cierto número de
rutas a ciudades y la distancia entre ellas, ¿cuál es la ruta más corta posible para
visitar cada ciudad?, este tipo de problemas presentan la ventaja de la adaptarse
dinámicamente a cambios en las condiciones del problema. Esto puede ser muy
utilizado en problemas reales relacionados con el enrutamiento, y muy beneficioso
para empresas de mensajería o entrega.

Para el algoritmo se combinan de forma eficiente dos elementos de información,


primero está la distancia entre los puntos de los diferentes caminos trazados,
cuando más cerca se tiene un punto es más probable que se recorra, por otro
lado, está la feromona que se va a entender como la información de las soluciones
previamente exploradas.
Algoritmo de Colonia de Abejas

El algoritmo de colonia de abejas o también conocido como CAA es un algoritmo


de optimización que se basa en el comportamiento inteligente de los enjambres de
abejas en la búsqueda de miel.
El algoritmo consta de tres grupos de abejas categorizadas como abejas
empleadas, abejas en espera y abejas exploradoras, se asume que solo hay una
abeja empleada para cada fuente de alimento, dicho de otra manera, el número de
abejas empleadas en la colonia es igual al número de fuentes de alimento
alrededor de la colmena. Las abejas empleadas van a su fuente de alimento y
vuelven a la colmena a danzar, la abeja empleada cuya fuente de alimento ha sido
abandonada pasa a ser una abeja exploradora y empieza a buscar nuevas fuentes
de alimento, las abejas en espera observan las danzas de las abejas empleadas y
escogen las fuentes de alimento dependiendo la danza.
Los pasos principales del algoritmo son:
 Se producen fuentes de alimentos iniciales por cada abeja empleada:
 REPETIR
o Cada abeja empleada va a una fuente de alimento en su memoria y
determina una fuente vecina, entonces evalúa su cantidad de néctar
y danza en la colmena
o Cada abeja en espera observa el baile de cada abeja empleada y
escoge una de sus fuentes dependiendo de las danzas, y entonces
va a esa fuente. Después de escoger un vecino alrededor, evalúa su
cantidad de néctar.
o Son determinadas las fuentes de alimentos a abandonar y
reemplazadas por las nuevas fuentes de alimentos descubiertas por
las exploradoras.
o La mejor fuente de alimentos encontrada es registrada.
 HASTA QUE (los requisitos se cumplan)
El algoritmo de CAA es un algoritmo basado en poblaciones, la posición de una
fuente de alimento representa una posible solución al problema de optimización, la
cantidad de néctar de una fuente de alimento corresponde a la calidad de la
solución asociada. El número de abejas empleadas es igual al número de
soluciones en la población.
En el primer paso se genera una población inicial que se distribuye de manera
aleatoria, luego la población se encarga de repetir los ciclos del proceso de
búsqueda de las abejas empleadas, en espera y exploradoras, una abeja
empleada produce una modificación en la posición de fuente de su memoria y
descubre una posición de fuente de alimento, previendo que la cantidad de néctar
de la nueva fuente sea mayor que la anterior la abeja memoriza la posición de La
fuente nueva y olvida la vieja, otro caso es que la abeja mantenga la posición
antigua en su memoria.
Cuando las abejas empleadas terminan el proceso de búsqueda comparten la
información de la posición de las fuentes de alimento con los espectadores en el
área de baile, cada espectador evalúa la información y escoge una fuente de
alimento dependiendo de la cantidad de néctar de esta.
Algoritmo de Enjambre de Partículas

La optimización por enjambre de partículas o PSO es un método de optimización


heurística orientado a encontrar mínimos y máximos globales, su funcionamiento
se inspira en el comportamiento que tiene las bandadas de pájaros o bancos de
peces en los que, el movimiento de cada individuo teniendo en cuenta su
dirección, velocidad y aceleración, es el resultado de combinar decisiones
individuales de cada uno con el comportamiento del resto.
Existen muchas variaciones de los algoritmos, pero la estructura sigue siendo la
misma (maximizar o minimizar), una función con una o múltiples variables sigue
los siguientes pasos:
 Crear un enjambre inicial de n partículas aleatorias. Cada partícula consta
de 4 elementos: una posición que representa una determinada combinación
de valores de las variables, el valor de la función objetivo en la posición
donde se encuentra la partícula, una velocidad que indica cómo y hacia
donde se desplaza la partícula, y un registro de la mejor posición en la que
ha estado la partícula hasta el momento.
 Evaluar cada partícula con la función objetivo.
 Actualizar la posición y velocidad de cada partícula. Esta es la parte que
proporciona al algoritmo la capacidad de optimización. En el apartado
Mover partícula se describe con detalle el proceso.
 Si no se cumple un criterio de parada, volver al paso 2.
Para entender el algoritmo podemos retomas el ejemplo del enjambre de abejas,
las cuales buscan el alimento tratando de localizar la región del espacio con mayor
densidad de flores, ya que es ahí donde presumiblemente existe más cantidad de
polen. Cada abeja vuela de modo errático por el espacio, recodando en todo
momento cual es la región en la que vio más flores, a su vez el enjambre sabe
colectivamente cual es la región del espacio de entre todas la exploradas.
Cada abeja varia su movimiento individualmente con arreglo a estas dos
direcciones, volando hacia un lugar intermedio, cuando una abeja encuentra una
región con más densidad de flores esta se conoce como (optimo loca) o también
conocida por el enjambre como (optimo global), en este caso todo el enjambre se
orienta en busca de esa dirección, pasado un tiempo, si el enjambre otra región
con mayor densidad se vuelve a orientar así sucesivamente.
El algoritmo PSO trabajo con una población llamada nube o enjambre y las
soluciones candidatas llamadas partículas, dichas partículas se desplazan a lo
largo del espacio de búsqueda, el movimiento de cada partícula depende de su
mejor posición obtenida, así como de la mejor posición global hallada en todo el
espacio de búsqueda. A medida que se descubren nuevas y mejores posiciones,
éstas pasan a orientar los movimientos de las partículas. El proceso se repite con
el objetivo, no garantizado, de hallar en algún momento una solución lo
suficientemente satisfactoria.

Algoritmos de Luciérnagas

El algoritmo firefly o FA apareció en el 2008 y hace parte del conjunto de los


algoritmos meta heurísticos y naturalmente heurísticos, dicho algoritmo cuenta con
distintas variantes, el FA fue desarrollado por el matemático británico de origen
chino Xin-She Yang.
El algoritmo de luciérnagas se basa en patrones y comportamiento parpadeantes
de las luciérnagas, aquí se describe el comportamiento de las luciérnagas
tropicales. En la regiones tropicales y templadas, el destello de las luciérnagas en
el cielo de verano es una vista increíble, existen alrededor de 2.000 tipos de
luciérnagas y la mayoría de estas producen destellos cortos y rítmicos. Hay mucho
debate sobre la función de luminiscencias de estas especies, sin embargo, se
puede decir que tiene dos funciones, la primara es que sirve para atraer
compañeros de apareamiento (comunicación) y para atraer presas potenciales,
también el mecanismo de luminiscencia sirve como una advertencia para la
protección y recordar a los depredadores del amargo sabor que tiene estos
insectos.
Para desarrollar algoritmos inspirados en luciérnagas se deben usar las siguientes
reglas de idealización:
 Toda la información no tiene género, por lo que, independientemente del
género, una luciérnaga se sentirá atraída por otras luciérnagas.
 El atractivo es proporcional al brillo de la luz. Por lo tanto, para dos
luciérnagas, el resplandor más oscuro será hacia el resplandor más
brillante. El atractivo es proporcional al brillo, y ambos disminuyen con la
distancia. Si no hay una luciérnaga más brillante que una luciérnaga
específica, se moverá al azar.
 El brillo de las luciérnagas se ve afectado o determinado por el paisaje de la
función objetivo.
Para el problema de maximización, el brillo puede ser proporcional al valor de la
función objetivo, se pueden definir otras formas de brillo de manera similar a la
función de aptitud en algoritmos genéticos.
Movimiento de las luciérnagas según su atracción: (a) j se mueve hacia i, la
luciérnaga más cercana a ella; (b) j tiene más brillo que cualquiera de las otras
luciérnagas por lo que se mueve aleatoriamente.
El algoritmo FA canónico trabaja con dos principios básicos, la variación de la
intensidad de la luz I (brillo) y el atractivo β entre dos luciérnagas i y j. El brillo I de
una luciérnaga localizada en un lugar en particular coincide con su función de
aptitud o fitness. La intensidad de la luz se reduce con la distancia a su fuente y la
luz es también absorbida por el medio, por esto, el atractivo vario con respecto al
grado de absorción de la luz.
Para un ambiente en particular con un coeficiente de absorción γ, la intensidad de
la luz I varia con la distancia r (ejemplo (1)). Como el atractivo β de una luciérnaga
es proporcional a la intensidad de la luz desde el punto de vista de las demás,
definimos el β de una luciérnaga a través de la eq. Ejemplo (2).

Donde I0 es la intensidad de la luz y β0 es el atractivo original de la luciérnaga


cuando r = 0. Con respecto al coeficiente de absorción γ, si γ→0 el atractivo de
una luciérnaga i coincide con su brillo (aptitud), es decir, el brillo de una luciérnaga
no se ve reducido cuando es vista por otra luciérnaga. En el caso de que 𝛾→∞
significa que el valor del atractivo es cercano a cero cuando es vista por otra
luciérnaga por lo cual las luciérnagas no se sentirán atraídas por esta y se
moverán de manera aleatoria. De esta manera, γ determina la velocidad de
convergencia y el comportamiento del algoritmo y β controla el atractivo. Estudios
previos indican que valores de 𝛽 0 =1 puede ser utilizado en la mayoría de las
aplicaciones.
La distancia entre dos luciérnagas i y j ubicadas en diferentes locaciones puede
ser expresada por la distancia Euclidiana. Teniendo en cuenta r, β e I, el algoritmo
es capaz de definir el movimiento de una luciérnaga i con respecto a otra
luciérnaga j. El pseudo-código del FA canónico puede observarse en el Algoritmo
1. Primero, la población P de luciérnagas es inicializada. Se inicializa la intensidad
de la luz para cada luciérnaga i con el valor de aptitud. Luego, se define el valor
del parámetro γ. Mientras la condición de parada no se alcance, para cada
luciérnaga i, el algoritmo tratará de encontrar una luciérnaga j más brillante,
cercana a i. El algoritmo compara entonces Ij e Ii, si 𝐼 𝑗 > 𝐼 𝑖 entonces la luciérnaga
j se moverá hacía i. El movimiento de una luciérnaga i atraída por otra más
atractiva j se calcula siguiendo el ejemplo (3).

Donde el segundo término tiene en cuenta la atracción mientras que el tercero se


calcula de forma aleatoria a partir de ϵi tomando una distribución Gaussiana y 𝛼∈
0,1 luego la atracción es actualizada. Posteriormente, las nuevas soluciones son
evaluadas y la intensidad de la luz se actualiza. Las luciérnagas son clasificadas y
se encuentra la mejor de ellas. Cuando el proceso termina, el Algoritmo 1 retorna
los resultados de la ejecución.

Como se puede apreciar en el Algoritmo 1 el tiempo de ejecución es 𝑂 𝑛 2 ∗𝑡


donde t es el número de iteraciones del ciclo while. Además, cada luciérnaga debe
ser evaluada n veces, para cada luciérnaga j. Esta complejidad computacional no
es fácilmente posible de reducir.
Formas de Representación del Conocimiento

¿Qué son las formas de representación del conocimiento?

La inteligencia artificial involucra la construcción de programas para la resolución


de problemas que resueltos por seres humas se dice que requieren de
inteligencia, al analizar la habilidad necesaria para este comportamiento resaltan
dos aspectos importantes, primero lo que se debe conocer para poder realizarlas y
segundo, la forma de operar ese conocimiento para obtener resultados.
La representación del conocimiento abarca el problema de describir de manera
formal y computacionalmente el mundo o domino sobre el cual se quiere ejercer,
considerando los objetos y relaciones entre ellos. La representación del
conocimiento en otras palabras es la combinación de una estructura de datos y
procedimiento interactivos que cuando se emplean correctamente forman un
programa con un comportamiento inteligente.
La representación de dicho conocimiento debe ser abstracta, lo que quiere decir
que debe carecer de datos o información irrelevante, debe ser claro y sencillo para
proceder de manera simple, también se debe permitir la adición de nueva
información y conservar la separación entre conocimientos y procesos de
inferencia.
Para que los programas puedan proceder de manera inteligente se deber
representar el conocimiento sobre los objetos, sus nombres, cualidades,
organizándoles en categorías, también en acontecimientos, desempeño y meta
conocimiento. Entre las técnicas de representación del conocimiento podemos
encontrar la lógica de predicados la cual ha sido extensamente empleadas para
representar la mayoría de los conocimientos de los sistemas de IA.
Nosotros como humanos empleamos diversas técnicas para la resolución de
problemas como la lógica de primer orden, el razonamiento con incertidumbre o
indefinido, el razonamiento por sentido común en causa y efecto, conocimiento en
planes y procesos, conocimiento en creencias, conocimiento acerca de nosotros
mismos, objetivos propios, etc.
¿Son utilices las técnicas o formas de representación del conocimiento?

Las técnicas de representación del conocimiento son bastante utilices e incluso ya


forma parte de nuestra actualidad, sabemos que la lógica de predicados es muy
utilizada en aparatos de uso doméstico como los microondas o lavadoras, en
general estas técnicas nos brindan una mejor representación de esta, algunas de
las características son:
 Cobertura: la representación del conocimiento cubre la información en
anchura y profundidad, sin una cobertura amplia la representación del
conocimiento no puede determinar nada ni resolver ambigüedades
 Comprensión de los humanos: la representación del conocimiento es vista
en un lenguaje natural, la lógica debe fluir de manera libre.
 Consistencia: Si Pedro ha cerrado la puerta, también puede ser interpretado
como la puerta ha sido cerrada por Pedro. Siendo consistente, la
representación del conocimiento puede eliminar conocimiento redundante o
conflictivo.
 Eficiencia.
 Facilidad de modificación y actualización.
 Soporte de la actividad inteligente que usa la base de conocimiento.

Redes Semánticas

Las redes semánticas son un método de representación del conocimiento basado


en las relaciones entre objetos, este método usa nodos que corresponde a objetos
y los arcos describen las relaciones entre dichos objetos. Así puede tomarse un
arco con sus dos nodos como una sola unidad de conocimiento. Pero en la red
semántica no está contenida la información sobre el procesamiento de la red. Las
reglas de inferencia deben estar expresadas de forma explícita.
Una red semántica ofrece una visión general sobre las relaciones y dependencia
de un área de conocimiento, también es muy apropiada para dar estructura y
verificación de conocimiento por el experto. Los enunciados de las relaciones
deben ser expresados fuera de la red. Estas relaciones pueden ser uní o
bidireccionales:
Gatos Subconjunto Mamíferos
EsUn (gato, Mamífero)
No existe distinción con:
EsUn (Tom,gato). Donde se quiere decir que Tom es miembro de la clase gato
También está la lógica en 1er orden:
∀x | gato (x) ⇒ mamífero (x)

El siguiente es un ejemplo de una red semántica para la clasificación de un gato y


un perro

Frames o Cuadros

Los frames son un esquema de representación del conocimiento desarrollado por


el científico estadounidense Marvin Minsky en la década de los 70, dicho esquema
tiene la particularidad de ser fácilmente combinado con otros esquemas, se usa
como una forma de organización de información referente a un objeto, se
describen las propiedades del objeto como si se registrara en un base de datos
donde se reservan los campos para cada propiedad. Permiten a su vez almacenar
procedimientos para obtener información que no está de manera explícita.
Esta estructura es usada en una red semántica, los campos no redefinidos de un
nodo hijo son heredados del nodo padre, de esta manera es muy fácil y natural
manejar las excepciones.
En este ejemplo se puede ver una red semántica con marcos (Frames) y su
representación lógica de primer orden.
Se puede observar que en lenguaje proposicional las categorías de conjunto,
subconjunto y relaciones son difíciles de distinguir, cuando una propiedad existe o
no, es relativamente sencillo expresarlo en forma lógica, pero cuando la propiedad
puede adoptar varios valores o es un continuo con infinitos valores la descripción
funcional es mucho más expresiva. Los conflictos pueden aparecer cuando hay
excepciones, se pueden resolver en forma natural con descripción funcional. En el
caso de herencia múltiple, cuando hay contradicciones se debería asignar una
prioridad a un determinado comportamiento.
Reglas de Producción

El conocimiento está representado por las reglas heurísticas, la unidad de


conocimiento pose una estructura como esta:
Si……Entonces…………
Este ejemplo es extraído del conocido sistema experto MYCIN, usado para la
determinación de enfermedades infecciosas y bacterianas.
IF (1) la infección es debida a bacteria primarias, AND
(2) la localización del cultivo es una de las muestras estériles, AND
(3) la entrada probable es el tracto gastrointestinal,
THEN es bastante probable (.7) que la identidad de los organismos sea bacteria.
Ejemplo de arquitectura de un sistema de producción.

Lógica de Predicados

La lógica de predicados también conocida como lógica de primer orden o cálculo


de predicados es un sistema forma diseñado para el estudio de la inferencia en los
lenguajes de primer orden, los lenguajes de primer orden son lenguajes formales
con cuantificadores que alcanzan sólo a variables de individuo, y con predicados y
funciones cuyos argumentos son sólo constantes o variables de individuo.
La lógica de primer orden tiene el poder expresivo suficiente para definir a
prácticamente todas las matemáticas.
Un predicado es una expresión lingüística que puede conectarse con una o más
expresiones para conformar una oración, un ejemplo es la oración “Marte es un
planeta”, la expresión “es un planeta” es un predicado que se conecta con la
palabra Marte y en conjunto forma una oración. Si decimos la oración «Júpiter es
más grande que Marte», la expresión «es más grande que» es un predicado
que se conecta con dos expresiones, «Júpiter» y «Marte», para formar una
oración.
En la lógica matemática, cuando un predicado es conectado con una expresión se
dice que expresa una propiedad, como en los ejemplos anteriores la propiedad
seria “ser un planeta”, y cuando se conecta con dos o más expresiones, se dice
que expresa una relación (como la relación de ser más grande que).
En la lógica de primer orden los predicados también pueden ser tratados como
funciones, una función hablando de manera metafórica es una máquina que recibe
un conjunto de cosas, procesándolas y devolviéndolas. como resultado una única
cosa. A las cosas que entran a las funciones se las llama argumentos, y a las
cosas que salen, valores o imágenes. Considérese por ejemplo la siguiente
función matemática:
f(x) = 2x
Esta función toma números como argumentos y devuelve más números como
valores. Por ejemplo, si toma el número 1, devuelve el número 2, y si toma el 5,
devuelve el 10.
En la lógica de primer orden, se propone tratar a los predicados como funciones
que no sólo toman números como argumentos, sino expresiones como «Marte»,
«Mercurio» y otras que se verán más adelante. De este modo, la oración «Marte
es un planeta» puede transcribirse, siguiendo la notación propia de las funciones,
de la siguiente manera:
Planeta (Marte)
Se puede abreviar como:
P(m)
En la matemática existen además funciones que toman varios argumentos. Por
ejemplo:
f(x,y) = x + y
Esta función, si toma los números 1 y 2, devuelve el número 3, y si toma el -5 y el -
3, devuelve el -8. Siguiendo esta idea, la lógica de primer orden trata a los
predicados que expresan relaciones, como funciones que toman dos o más
argumentos. Por ejemplo, la oración «Caín mató a Abel» puede formalizarse así:
Mató (Caín, Abel)
Se puede abreviar como:
M(c,a)

Podemos pasar a ejemplos de formalización como:


También deberíamos considerar los siguientes argumentos:
 Todos los hombres son mortales.
 Sócrates es un hombre.
 Por lo tanto, Sócrates es mortal.
La lógica de primer orden consiste en determinar por qué los argumentos como
éste resultan válidos. Para eso, el primer paso es traducirlos a un lenguaje más
preciso, que pueda ser analizado mediante métodos formales. Según lo visto más
arriba, la formalización de este argumento es la siguiente:
 ∀x (Hx → Mx)
 Hs
 ∴ Ms

Conclusiones

Se evidencia la importancia de la naturaleza y la estructura de la inteligencia


humana y animal como modelo para la ciencia y en especial para el área de la
inteligencia artificial, siendo un modelo a seguir para la resolución de problemas
complejos que requieren de cierto nivel de comprensión e inteligencia para dar
resultados eficientes, por otra parte, dichos modelos y estructuras naturales brinda
optimización y mejores resultados a la resolución de esos problemas.
Los algoritmos bioinspirados se encuentra presentes en gran parte de las cosas y
objetos que utilizamos a diario y pueden ser de gran utilidad para protegernos de
problemas biológicos, beneficiando a la humanidad con la implementación de
estas estructuras en herramientas y artefactos para misiones con dificultades y
riesgos muy elevados para nosotros.
Las matemáticas y la lógica son una parte esencial para el éxito de estos
algoritmos y herramientas inspirados en la naturaleza, ya que brindan enfoques
claros frente a los problemas a resolver, posibilitando la actualización y continua
mejora de esto.

Referencias

baobab. (04 de 12 de 2019). baobab. Obtenido de Algoritmo de Colonia de Hormigas:


https://baobabsoluciones.es/blog/2019/12/04/algoritmo-aco/

clic, p. (27 de 03 de 2022). programador clic . Obtenido de Algoritmo de luciérnaga:


https://programmerclick.com/article/9125169377/

Desconocido. (27 de 03 de 2022). SOLUCIONES MATEMATICAS DISCRETAS. Obtenido de LOGICA DE


PREDICADOS: https://sites.google.com/site/mathematicasdiscretesolutions/logica-de-po

Jiménez, A. E. (26 de 03 de 2022). Universidad de Guanajuato. Obtenido de ugto.mx:


https://www.ugto.mx/eugreka/contribuciones/151-algoritmos-bioinspirados-resolucion-
de-problemas-emulando-a-la-naturaleza#:~:text=Algoritmos%20bioinspirados%3A
%20Resoluci%C3%B3n%20de%20problemas%20emulando%20a%20la%20naturaleza,-
Dr.&text=La%20Inteligencia%

Pablo Javier Vidal, A. C. (01 de 01 de 2018). http://www.scielo.org.co/. Obtenido de Ensamblado


de fragmentos de ADN utilizando un novedoso algoritmo de luciérnaga en GPU:
http://www.scielo.org.co/scielo.php?script=sci_arttext&pid=S0012-73532018000100108

Rodrigo, J. A. (01 de 03 de 2019). www.cienciadedatos.net. Obtenido de Optimización con


enjambre de partículas (Particle Swarm Optimization):
https://www.cienciadedatos.net/documentos/49_optimizacion_con_particle_swarm

UNAM, F. (26 de 03 de 2022). Youtube. Obtenido de “Algoritmos Bio-inspirados: Conceptos


Básicos y Aplicaciones” con el Dr. Carlos Coello.: https://www.youtube.com/watch?
v=sGKpf-4hHNo

Wikipedia. (02 de 11 de 2020). Wikipedia. Obtenido de Sistemas bioinspirados:


https://es.wikipedia.org/wiki/Sistemas_bioinspirados

Wikipedia. (08 de 09 de 2020). Wikipedia. Obtenido de Algoritmo colonia de abejas artificiales:


https://es.wikipedia.org/wiki/Algoritmo_colonia_de_abejas_artificiales

Wikipedia. (11 de 04 de 2021). Wikipedia. Obtenido de Representación del conocimiento:


https://es.wikipedia.org/wiki/Representaci%C3%B3n_del_conocimiento

Wikipedia. (22 de 02 de 2022). Wikipedia. Obtenido de Optimización por enjambre de partículas:


https://es.wikipedia.org/wiki/Optimizaci%C3%B3n_por_enjambre_de_part%C3%ADculas
www.frba.utn.edu.ar. (27 de 03 de 2022). www.frba.utn.edu.ar. Obtenido de INTRODUCCIÓN A LA
INTELIGENCIA ARTIFICIAL: https://www.frba.utn.edu.ar/wp-content/uploads/2021/02/IIA-
mod3-Representacion.pdf

También podría gustarte