El Papel de la Heuristic a La palabra heurística procede del término griego εὑρίσκειν, que significa hallar o inventar.
C o m o d i s c i p l i n a c i e n t í f i ca ca , l a h e u r í s t i c a e s a p l i c a b l e a c u a l q u i e r c i e n c i a e incluye la elaboración de medios auxiliares, principios, reglas, estrategias y programas que faciliten la búsqueda de vías de solución a problemas es decir resolver tareas de cualquier tipo para las que no se cuente con un procedimiento algorítmico de solución. Según Horst Müller:
Los procedimientos heurísticos son formas de trabajo y de pensamiento que apoyan la realización consciente de actividades mentales exigentes. Los procedimientos heurísticos como método científico pueden dividirse en principios, reglas y estrategias. 1.
P r i n c i p i o s h e u r í s t i c o s: C o n s t i t u y e n s u g e r e n c i a s p a r a e n c o n t r a r
(directamente) la idea de solución; posibilita determinar, por tanto, a la vez, los medios y la vía de solución. Dentro de estos principios se destacan la analogía y la reducción.
1.
Reglas heurísticas: Actúan como impulsos generales dentro del
proceso de búsqueda y ayudan a encontrar, especialmente, los medios para resolver los problemas. Las Reglas heurísticas que más se emplean son: 1.
S e p a r a r l o d a do d e l o b u sc a d o .
2.
Confeccionar figuras de análisis: esquemas, tablas, mapas, etc.
3.
Representar magnitudes dadas y buscadas con variables.
4.
Determinar si se tienen fórmulas adecuadas.
5.
Utilizar números (estructuras más simples) en lugar de datos.
6.
1.
Reformular el problema.
Estrategias heurísticas: Se comportan como recursos
organizativos del proceso de resolución, que contribuyen especialmente a determinar la vía de solución del problema abordado. Existen dos estrategias: 1.
El trabajo hacia adelante: se parte de lo dado para realizar
las reflexiones que han de conducir a la solución del problema. 2.
El trabajo hacia atrás: se examina primeramente lo que se
busca y, apoyándose de los conocimientos que se tienen, se a n a l i z a n p o s i b l e s r e s u l t a do s i n t e r m e d i o s d e l o q u e s e p u e d e deducir lo buscado, hasta llegar a los dados.
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 e j e m p l o , n o r m a l m e n te e n c u e n t r a n b u e n a s s o l u c i o n e s , a u n q u e n o h a y 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.
Heurística en la Inteligencia A r t i f i c i a l Muchos algoritmos en la inteligencia artificial son heurísticos por naturaleza, o usan reglas heurísticas. Un ejemplo reciente es SpamAssassin que usa una amplia variedad de reglas heurísticas para determinar cuando un correo electrónico es spam. Cualquiera de las reglas u s a d a s d e f o r m a i n d e p e n d i e n t e p u e d e n l l e v a r a e r r o r e s d e c l a s i f i c a c i ón , pero cuando se unen múltiples reglas heurísticas, la solución es má s robusta y creíble.
TIPOS DE ALGORITMOS HEURÍSTICOS 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 c l a s i f i c a ci ó n y p o r o t r o l a d o t e n e m o s l o s a l g o r i t m o s q u e t r a t a n d e d e d u c i r conocimiento a partir de un conjunto de axiomas, estos últimos conocidos como sistemas basados en el conocimiento.
1.1 El papel de la heurística. Búsqu eda Heu ríst ic a
Para resolver muchos problemas difíciles (explosión combinatoria), es necesario muchas veces llegar a un compromiso de los requerimientos de movilidad y sistematicidad y construir una estructura de control que no necesariamente garantiza el encontrar la mej or respuesta, sino que casi siempre encuentra una buena respuesta. Una téc nica heurística mejora la eficiencia del proceso de búsqueda sacrificando, usualmente, exhaustividad. Las consideraciones que sirven de soporte a un proceso de búsqueda heurística, son:
Rara vez se requiere, en realidad, una solución óptima. Una buena aproximación, normalmente, sirve muy bien. A pesar que una aproximación heurística no puede resultar muy buena en el peor de los casos, raras veces aparecen los peores casos en l a práctica. El tratar de comprender por qué un heurístico funciona o por qué no funciona, a menudo conduce a una mejor comprensión del problem a.
Proc esos Heurístic os de B úsqu eda
Las técnicas heurísticas de búsqueda son como guías de turismo. Buenas, en el sentido que señalan aspectos de gran interés general, pero malas ya que pueden no satisfacer aspectos de interés particular. Existen varias técnicas heurísticas buenas, de propósito general, que son útiles para una diversidad de problemas. Adicionalmente, es posible construir heurísticos especiales que exploten conocimiento específico en cada dominio, para resolver problemas particulares. Heurística: Es la capacidad de detectar virus desconocidos por medio de sondeos del sistema en busca de "sintomás" clásicos de infección como puede ser fe chas extrañas en ficheros, programas residentes en memoria, configuración extraña del sistema ( como por ejemplo que Windows 95 tenga activado el modo de compatibilidad MS-DOS ), etc. El problema de la heurística es que puede dar "falsos positivos" es decir, puede dar por infectado un fichero que en realidad no lo está.
La heurística es la aplicación de conocimiento derivado de la experiencia a un problema y también se utiliza para describir software que revisa y filtra mensajes que posiblemente contengan un virus de computador o contenido no deseado. Software basado en heurística busca fuentes conocidas, frases de texto usadas comúnmente, y patrones de contenido y/o transmisión que la experiencia ha demostrado que están asociados con correo electrónico infectado con virus.
Dado que muchas empresas y/o usuarios reciben un alto volumen de correo electrónico y que correo válido puede también seguir los patrones, los programas basados en heurística
también arrojan "positivos falsos", desestimando su uso. Los expertos en seguridad indican que aunque los programas tienen espacio para mejorar, la heurística es una herramienta valiosa y necesaria.