Sunteți pe pagina 1din 7

c 

   
Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de
abstracción dado, como procesos computacionales de algún tipo.

En cierto sentido, el enfoque heurístico es el característico de la IA. Newell y Simon


asociaban el "método de búsqueda heurística" con el tipo de representación de soluciones
parciales. Nosotros nos vamos a limitar a explicar qué significa el término "heurística" en
el ámbito de la inteligencia artificial.

Desde el inicio de la IA, el término "heurística" osciló entre dos sentidos fundamentales
vinculados a la utilización de información del dominio de problemas (con el fin de hacer
una búsqueda más eficiente) y a la imposibilidad de garantizar encontrar la solución de un
problema.

Estas definiciones se refieren, a dos conjuntos diferentes de métodos: dispositivos que


mejoran la eficiencia y dispositivos que no garantizan obtener un resultado. El paradigma
metaheurístico consiste en una familia de métodos de búsqueda que comenzó a
desarrollarse con ese nombre a partir de la década del 80. Estrictamente no se lo
considera un paradigma sino simplemente un conjunto de métodos o herramientas de
búsqueda, pero es posible que tarde o temprano entre en esta categoría. Osman y Kelly
(1996) describen la metaheurística del siguiente modo: "Estas familias de enfoques
incluyen pero no se limitan a procedimientos adaptativos aleatorios golosos, algoritmos
genéticos, búsqueda de umbral y sus híbridos. Incorporan conceptos basados en la
evolución biológica, la resolución inteligente de problemas, las ciencias matemáticas y
físicas, el estudio del sistema nervioso y la mecánica estadística". Un poco más adelante
los autores describen a la disciplina de la siguiente forma: "Las metaheurísticas son una
clase de métodos aproximados, que están diseñados para atacar problemas de
optimización combinatoria difíciles para los que las heurísticas clásicas fracasaron en ser
efectivas y eficientes. Las metaheurísticas proporcionan marcos generales que permiten
crear nuevos híbridos combinando diferentes conceptos de: heurísticas clásicas;
inteligencia artificial; evolución biológica; sistemas neuronales y mecánica estadística".

Finalmente, Osman y Kelly comentan: "Debe notarse que existen convergencias teóricas
para algunas de las metaheurísticas bajo algunos supuestos. Sin embargo, estos
supuestos no pueden satisfacerse o aproximarse en la mayoría de las aplicaciones
prácticas. Por lo tanto, se pierde la capacidad para demostrar optimalidad y se obtienen
soluciones aproximadas. A pesar de este inconveniente, las metaheurísticas han sido
altamente exitosas en encontrar soluciones óptimas o cuasi óptimas en muchas
aplicaciones prácticas de optimizaciones en diversas áreas, más que sus heurísticas
subordinadas".

Yagiura e Ibaraki (1996) mencionan la combinación de herramientas heurísticas en


marcos más sofisticados como característica distintiva de las metaheurísticas y
consideran que dos de sus propiedades atractivas son la simplicidad y la robustez.

Finalmente y para que conste la estrecha relación entre heurística e inteligencia artificial
presentamos algunas definiciones clásicas de Inteligencia Artificial:
r Systems that can demonstrate human-like reasoning capability to enhance the
quality of life and improve business competitiveness. (Japan-S¶poreAI Centre)

r La Inteligencia Artificial es el estudio de técnicas de resolución de problemas con


complejidad exponencial a partir del conocimiento del campo de aplicación del
problema. (Rich)

ü     
r ãm mm 
 m 
 m
u ããmm m
u ãm  m m
u ãm 
 m m
u ãmm
m
u ã m  m!
m
r m"
#mmm$
%#mmm" 
mm&  m
u ãm'm'  ( m
r m)m

ü    c 


En una primera clasificación podemos decir que los algoritmos heurísticos pueden ser
simples o complejos. Los algoritmos simples tienden a tener reglas de terminación bien
definidas, y se detienen en un óptimo local, mientras que los algoritmos más complejos
pueden no tener reglas de terminación estándar, y buscan soluciones mejores hasta
alcanzar un punto de parada arbitrario.

Dentro de los algoritmos heurísticos complejos podemos hacer una segunda clasificación,
esta vez orientada a la funcionalidad de los mismos. En primer lugar podemos
encontrarnos con algoritmos que fueron diseñados para dar solución a problemas de
búsqueda de óptimos o clasificación y por otro lado tenemos los algoritmos que tratan de
deducir conocimiento a partir de un conjunto de axiomas, estos últimos conocidos como
sistemas basados en el conocimiento.

Entre los algoritmos de busqueda de óptimos se encuentran los siguientes métodos:

r Busqueda Tabú
r Temple Simulado
r Algoritmos Genéticos
r Redes Neuronales

Los sistemas basados en el conocimiento definen un área muy concreta dentro de la


inteligencia artificial, conocida como Ingeniería del conocimiento. Los sistemas
desarrollados en este campo siguen un patrón heurístico similar al razonamiento humano.
m

*   

La búsqueda tabú es un procedimiento o estrategia dado a conocer en los trabajos de


Glover, y que esta teniendo grandes exitos y mucha aceptación en los últimos años.
Según su creador, es un procedimiento que "explora el espacio de soluciones más alla del
óptimo local", (Glover y Laguna). Se permiten cambios hacia arriba o que empeoran la
solución, una vez que se llega a un óptimo local. Simultáneamente los ultimos
movimientos se califican como tabús durante las siguientes iteraciones para evitar que se
vuelvan a soluciones anteriores y el algoritmo cicle. El termino tabú hace referencia a un
tipo de inhibición a algo debido a connotaciones culturales o historicas y que puede ser
superada en determinadas condiciones. (Glover).


 


El uso del temple simulado en problemas de Optimización se ha extendido desde


mediados de los ochenta hasta ahora, a partir de los trabajos de Kirpatrick, Gelatt&Vecchi.
Los algoritmos Temple Simulado están basados en una estrecha analogía entre los
procesos físicos termodinámicos y los elementos de un problema de optimización
combinatoria. Aunque asintóticamente estos algoritmos se comportan como exactos, (un
análisis exhaustivo de esta afirmación se puede encontrar en el trabajo de Aarts&Korst),
en la práctica se diseñan como heurísticos. El campo de aplicaciones se ha extendido
durante estos años. En problemas de rutas destacan las aportaciones de Osman, para el
VRP; y Aarts y otros, para el problema del viajante de comercio.

 


En los años setenta, de la mano de John Holland surgió una de las líneas más
prometedoras de la inteligencia artificial, la de los algoritmos genéticos. Son llamados así
porque se inspiran en la evolución biológica y su base genético-molecular. Estos
algoritmos hacen evolucionar una población de individuos sometiéndola a acciones
aleatorias semejantes a las que actúan en la evolución biológica (mutaciones y
recombinación genética), así como también a una selección de acuerdo con algún criterio,
en función del cual se decide cuáles son los individuos más adaptados, que sobreviven, y
cuáles los menos aptos, que son descartados.

Ò  

En inteligencia artificial las redes de neuronas artificiales (RNA) son un ejemplo de


aprendizaje y procesamiento automático basado en el funcionamiento del sistema
nervioso animal. Se trata de simular el comportamiento observado en las redes
neuronales biológicas a través de modelos matemáticos mediante mecanismos artificiales
(circuitos integrados, ordenadores...). Con las RNA se pretende conseguir que las
máquinas den repuestas similares a las del cerebro humano, caracterizadas por su
generalización y robustez.


 

Los sistemas expertos se basan en simular el razonamiento humano con un doble interés:
en primer lugar el del analizar el razonamiento de un experto en la materia para poder
codificarlo con la ayuda de un determinado lenguaje informático; por otra parte, la síntesis
artificial de los razonamientos para que se parezcan a los del experto humano en la
resolución de un determinado problema. Estos dos intereses han hecho que los
investigadores del campo de la IA intenten establecer una metodología que les permita
verificar la "comunicación" con los expertos y separar los distintos tipos de razonamiento
(formal, deductivo, inductivo...), además de construir los elementos necesarios para
modelizarlos.

Mientras que en la programación clásica se diferencia solamente entre el programa y los


datos, en los sistemas expertos se diferencian tres componentes:

r Una base de conocimientos


r Una base de hechos
r Un motor de inferencia

La base de conocimientos almacena toda la información específica relativa al campo de


conocimiento deseado. Para ello se hace uso de un lenguaje específico para representar
los conocimientos y que permite definir al experto su propio vocabulario técnico.

En la base de hechos se encuentran los datos relativos a los problemas que se quieren
resolver con la ayuda del sistema. La memoria de trabajo almacena los resultados
intermedios, pudiendo guardar el rastro de las inferencias realizadas. Es por eso que
puede utilizarse para explicar la forma en la que el sistema ha deducido la información
durante una sesión de trabajo o describir el comportamiento del propio sistema. Al
comienzo del período de trabajo, en la base de hechos sólo se encuentran los datos
introducidos por el usuario del sistema, pero a medida que actúa el motor de inferencia,
almacena las inducciones y deducciones que ha llevado a cabo el sistema para conseguir
las conclusiones.

El motor de inferencia, es un programa que a partir del "conocimiento" puede resolver el


problema especificado. Esto se consigue gracias a los datos de la base de hechos del
sistema. Por lo general, las reglas de la base de conocimiento son silogismos
demostrativos (si A es cierto entonces deducimos B). En este caso, el motor de
inferencias selecciona, valida y activa las reglas que permiten obtener la solución
correspondiente al problema en cuestión.

Existen dos tipos de motor de inferencia: los que emplean el razonamiento aproximado
(cuyo resultado puede ser erróneo) y los que usan un tipo de razonamiento a partir del
que se puede obtener resultado verdadero.

„   „ 




Al igual que la ingeniería del software, la ingenieria del conocimiento cuenta entre sus
fases con una destinada a la evaluacion del sistema desarrollado.

Fases habituales en la ingenieria del conocimiento:

1. Estudio de viabilidad
2. Adquisición del conocimiento
3. Conceptualización (análisis)
4. Formalización (diseño)
5. Implementación
6. Evaluación

La fase de evaluación en la ingenieria del conocimiento se caracteriza por los siguientes


aspectos a tener en cuenta

r Verificación
u Sintaxis y estructura adecuada (no redundante, completa, consistente)
u Se realiza en modelos conceptuales, formales y computables
r Validación
u Semántica adecuada [experto]
u Se realiza en modelos conceptuales, formales y computables

Por lo tanto podemos considerar como un proceso fundamental en la evaluacion de


"software inteligente" la creación de modelos matematicos.

Ë Ë


Una de las fases del método heurístico se basa en construir modelos.

Aunque existen muchas definiciones de modelo, una de las más interesantes es la de


Aracil: "Un modelo constituye una representación abstracta de un cierto aspecto de la
realidad, y tiene una estructura que está formada por los elementos que caracterizan el
aspecto de la realidad modelada y por las relaciones entre estos elementos".

Nosotros estamos interesados en modelos formales basados en la lógica matemática, y


estos están basados en un conjunto de relaciones matemáticas (relaciones lógicas,
ecuaciones, inecuaciones, etc) que representan las relaciones existentes en el mundo
real. Un modelo queda por lo tanto definido por las relaciones que contiene.
Podemos clasificar los modelos matemáticos según su función:

r Modelos predictivos: Son aquellos que nos informan sobre el comportamiento de


la variable en el futuro, esto es, lo que debería ser. Los modelos basados en
técnicas estadísticas se corresponden con este tipo.
r Modelos evaluativos: Se basan en medir las diferentes alternativas para comparar
los resultados de ellas. Este es el caso de los árboles de decisión.
r Modelos de optimización: Estos modelos tratan de localizar un optimo del
problema (generalmente el óptimo global), es decir, buscan la mejor alternativa
posible. Están basados en técnicas de programación matemática.

Una vez se ha mostrado una breve clasificación de los modelos, es necesario aportar una
medida de su solución, puesto que el objetivo de definir un modelo es, resolverlo
"cómodamente" y extraer los resultados necesarios para tomar alguna decisión.

La resolubilidad de los problemas depende de tres características:

1. El tamaño del problema: La variables y ecuaciones que contiene. para un mayor


número de éstas resultará más dificil resolver el problema.
2. El tipo del problema: entero, lineal y no lineal. Los problemas lineales son "fáciles"
de resolver, mientras que los no lineales son muy difíciles.
3. El tipo de instancias: Deterministas o ciertas, con riesgo (conociendo la
probabilidad de ocurrencia), con incertidumbre (se conocen los posibles resultados
pero no la probabilidad de que ocurran) y turbulencia (no conocemos ninguna
cosa).

Se denomina heurística a la capacidad de un sistema para realizar de forma inmediata


innovaciones positivas para sus fines. La capacidad heurística es un rasgo característico
de los humanos, desde cuyo punto de vista puede describirse como el arte y la ciencia del
descubrimiento y de la invención o de resolver problemas mediante la creatividad y el
pensamiento lateral o pensamiento divergente.

En computación, dos objetivos fundamentales son encontrar algoritmos con buenos


tiempos de ejecución y buenas soluciones, usualmente las óptimas. Una heurística es un
algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente encuentran
buenas soluciones, aunque no hay pruebas de que la solución no pueda ser
arbitrariamente errónea en algunos casos; o se ejecuta razonablemente rápido, aunque
no existe tampoco prueba de que siempre será así. Las heurísticas generalmente son
usadas cuando no existe una solución óptima bajo las restricciones dadas (tiempo,
espacio, etc.), o cuando no existe del todo.

A menudo, pueden encontrarse instancias concretas del problema donde la heurística


producirá resultados muy malos o se ejecutará muy lentamente. Aun así, estas instancias
concretas pueden ser ignoradas porque no deberían ocurrir nunca en la práctica por ser
de origen teórico. Por tanto, el uso de heurísticas es muy común en el mundo real.

c 

Definición: De acuerdo con ANSI/IEEE Std 100-1984, la heurística trata de métodos o


algoritmos exploratorios durantela resolución de problemas en los cuales las soluciones
se descubren por la evaluación del progreso logrado en labúsqueda de un resultado final.

c 

La palabra "heurística" se deriva del verbo griego heuriskein, que significa "encontrar" o
"descubrir" "reglas prácticas" utilizadas por los expertospara generar buenas soluciones
sin tener que embarcarse en exhaustivas búsquedas. Especialmente, en el área de los
algoritmos de búsqueda, se refiere auna función mediante la cual se obtiene un estimado
del costo de una solución.

S-ar putea să vă placă și