viernes, 21 de marzo de 2014

HEURÍSTICA, EL PROBLEMA DEL AGENTE VIAJERO



INTRODUCCIÓN:

Según lo que hemos venido describiendo en cuanto al mundo de la Inteligencia Artificial en los artículos publicados anteriormente todas estas siempre se han referido a Métodos para la solución de problemas cuyos problemas han sido para mejorar las técnicas de búsqueda, es decir que las búsquedas sean mas, rápidas, seguras y optimas en la Inteligencia Artificial en esta ocasión describiremos una técnica mas que su fin ultimo sera, lo que este mas cerca y si lo que esta mas cerca es el objetivo termina la búsqueda, esto lo hace la técnica HEURÍSTICA


HEURÍSTICA: Que como lo mencione antes esta técnica lo que busca es la ruta mas próxima.

Es común encontrar esta técnica es los juegos informáticos, donde se trata de adelantar lo que el usuario va a realizar, todo esto es basado en la experiencia y en lo que el usuario a venido construyendo en ocasiones anteriores.

Dentro de este concepto encontramos un mundo mas amplio de búsquedas en su clasificación existen desde los simple hasta los complejos y a su vez los complejos se hace una segundo clasificación.
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 búsqueda de óptimos se encuentran los siguientes métodos:

  • Búsqueda Tabú
  • Temple Simulado
  • Algoritmos Genéticos
  • 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.
vamos a reflejar esta técnica con un ejemplo:
El problema del agente viajero.
Un vendedor tiene una lista de ciudades cada una de las cuales debe visitar solamente una vez; existen carreteras directas entre cada par de ciudades de la lista. Se debe encontrar la ruta que el vendedor debería seguir para que, siguiendo el camino más corto posible, visitara todas las ciudades, comenzando por cualquiera de ellas y volviendo a la misma. Un ejemplo de éste tipo de problemas para seis ciudades.
 Observa la figura.
vamos a realizar un pequeño algoritmo para poder aplicarlo ya a programa en nuestra computadora.


inicio
estados[numero_de_estados];
estados_recorridos[numero_de_estados_recorridos];podemos usarlo para otros fines
distancias[almacenar_distancia_de_cada_estado]
tipo entero Y=0; nos permitirá obtener el la posición de la distancia menor en el arreglo;

mientras(estados != vació);

                vaciar distancias de estado actual
                distancias[n -1];
                tipo entero X=distancias[0]; le decimos que x contenga el valor del indice 0

         si(el estado actual es objetivo)
                  retornar éxito;
         sino
                               para(entero2=0;entero2<diancias;entero2++)
                                        
                                        si(distancias[entero2] < x)
                                             X=distancias[entero2];
                                             Y=entero2;

                               termina para
                               retornar x;            
                                       remover estado actual;
                    estados[numero_de_estados]-1;
                    remover distancia elegida valor de x actual
                    distancia[-Y]; se removera la distancia que se encontraba en el indice Y.
         
  fin de mientras.  

  fin de programa       

La Heurística no garantiza que siempre se tome la dirección de la búsqueda correcta, por eso este enfoque no es óptimo sino suficientemente bueno. Frecuentemente son mejores los métodos heurísticos que los métodos de búsquedas a ciegas. Las desventajas y limitaciones principales de la heurística son:

  • La flexibilidad inherente de los métodos heurísticos pueden conducir a errores o a manipulaciones fraudulentas.
  • Ciertas heurísticas se pueden contradecir al aplicarse al mismo problema, lo cual genera confusión y hacen perder credibilidad a los métodos heurísticos.
  • Soluciones óptimas no son identificadas. Las mejoras locales determinadas por las heurísticas pueden cortar el camino a soluciones mejores por la falta de una perspectiva global. La brecha entre la solución óptima y una generada por heurística puede ser grande.

El significado técnico de la palabra heurística ha variado en la historia de la Inteligencia Artificial. En 1957, George Polya en su libro "How to solve it" usó este término para referirse al estudio de métodos para descubrir e inventar técnicas de solución de problemas.

En otras ocasiones se ha usado como un término opuesto a algorítmico. Por ejemplo, Newell, Shaw y Simón plantearon en 1993 "Un proceso que puede resolver un problema dado, pero no ofrece garantía de hacerlo, es llamado una heurística para ese problema".
Actualmente, la heurística es más frecuentemente usada como un adjetivo para referirse a cualquier técnica que mejore la media del proceso de solución de problemas.


Comentarios:
De los párrafos anteriores nos hacen comprender que no siempre se logra lo esperado en la búsqueda de la optimización, pero buscan al menos lo esperado, o lo suficiente todo lleva a un fin común, que es la adaptación del conocimiento humano, a algo artificial.

Con todo esto porque HEURÍSTICA, en Inteligencia Artificial se utiliza principalmente en estos casos.
  • Un problema que no tiene solución exacta, por falta datos, ambigüedades del respectivo problema.
  1. Un diagnostico Medico.
  2. Visión.
  • Problemas por no encontrar una solución exacta, o donde el costo computacional no pueda estar en nuestras posibilidades. 
  1. Como el problema del agente viajero.
  2. Problema de coloración.
  3. Juego de ajedrez.


REFERENCIAS:


No hay comentarios:

Publicar un comentario