domingo, 15 de junio de 2014

PROLOG_CAPITULO 1.3 REGLAS_ EJEMPLOS.

añadiremos información acerca del sexo de la gente que está
incluída en la relación 'progenitor':    y   "descendiente"







EJERCICIOS_ PROLOG_CAPITULO 1.2 Y 1.3



1. Asumiendo las relaciones definidas en el ejemplo, ¿qué contestará Prolog a las
siguientes preguntas?
a). ?- progenitor( jaime, X).
b). ?- progenitor( X, jaime).
c). ?- progenitor( pamela, X), progenitor( X, patricia).
d). ?- progenitor( pamela, X), progenitor( X, Y), progenitor(Y,jaime).
2. Formule en Prolog las siguientes preguntas acerca de la relación progenitor:
a). ¿ cómo se llama el progenitor de patricia ?
b). ¿ tiene elizabeth algún hijo ?
c). ¿ cómo se llama el abuelo de patricia ?


PROLOG_CAPITULO 1.2 CONJUNCIONES DE CLÁUSULAS._ EJEMPLOS.

1.2 CONJUNCIONES DE CLÁUSULAS._ EJEMPLOS.

Ahora queremos preguntar ¿quién es el abuelo de jaime?







PROLOG_CAPITULO 1.1 CLÁUSULAS_ EJEMPLOS.

1.1 CLÁUSULAS.  Ejemplos:
 progenitor (padre,Hijo).











Descarga e instalación de SWI-Prolog

Proceso de Descarga e instalacion Swi- Prolog.




Descarga: http://ww.swi_prolog.org/download/stable



Las siguientes imágenes son el proceso de instalación las opciones que se deben elegir.










          Así es como queda ya instalado SWI-Prolog, listo para poder            ocuparlo.

Exposición.

Problema del Agente Viajero.


PROBLEMA DEL AGENTE VIAJERO.




EL problema del agente viajero es quizás el más estudiado de los problemas de optimización combinatoria. Su popularidad se debe a que es fácil de plantear, pero difícil de resolver.

Se trata de un vendedor que tiene una lista de ciudades cada una de la cuales debe visitar solamente una vez; 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.



Se puede resolver este problema explorando el árbol de todos los caminos posible y eligiendo aquel que tenga la longitud mínima; pero si existe n ciudades, el número de caminos diferentes entre ellas es (n-1)!, esto significa que todo depende de n! para resolver el problema.
Por ejemplo si tenemos 11 ciudades, (11-1)!  =10*9*8*7*6*5*4*3*2*1= 3,628,000 rutas posibles.

              El problema del agente viajero se puede resolver de diferentes maneras:

*Enumeración de todas las soluciones factibles (n-1)!.
*Métodos exactos. También llamados algoritmos óptimos, intentan descartar familias enteras de posibles soluciones, tratando así de acelerar la búsqueda y llegar a una óptima.
*Heurística. Son métodos obtienen buenas soluciones en tiempos de computo muy cortos, aunque sin garantiza la optimización de la solución.

http://www.postgradoeinvestigacion.uadec.mx/CienciaCierta/CC30/3.html
file:///C:/Users/juliO/Downloads/apuntes.pdf

Heurística.

HEURÍSTICA.


Es el término con que nos referimos al método o procedimiento usado en la investigación o en el descubrimiento de algo.

Es decir es  una técnica que aumenta la eficiencia de un proceso de búsqueda. Su objetivo es guiar al proceso de búsqueda en la dirección más provechosa sugiriendo el camino cuando hay más de una opción.
La capacidad heurística es un rasgo característico de los humanos, desde cuyo punto de vista puede descubrirse como el arte y  a la ciencia del descubrimiento y de la invención o de resolver problemas mediante la creatividad.

Búsquedas Heurísticas.
*Busca soluciones aceptables: reduce el espacio de búsqueda y es capaz de determinar su proximidad a una solución y la calidad de a misma utilizando conocimiento.
·       *No garantizan que se encuentre una solución, aunque existan soluciones.
·       *Si encuentra una solución, no se asegura que esta tenga las mejores propiedades (que sea la longitud mínima o de costo optimo).
·       *En algunas ocasiones encontraran una solución (aceptablemente buena) en un tiempo razonable.


http://dmi.uib.es/~abasolo/intart/1-introduccion.html

http://www.slideshare.net/LuisMauricioAlamo/bsquedas-heursticas


sábado, 14 de junio de 2014

                                 SOFTWARE DESARROLLADO.

Hay Un software llamado TESEO que se desarrolló utilizando Wx Dev C++, es un software para el estudio de los diferentes métodos de solución de laberintos.   Se muestra la Interfaz gráfica de Teseo con el cual se pueden construir diferentes tipos de laberintos.

En la siguiente figura se ve las diferentes funciones de Teseo, entre las que se destaca la posibilidad de construir cualquier tipo de laberinto, almacenarlo, cargar laberintos previamente diseñados, escoger un método de solución para el laberinto, como la velocidad a la que se quiere solucionar.





Con TESEO se pueden diseñar diferentes tipos de laberintos para hacer una comparación entre las diferentes técnicas de inteligencia artificial de búsqueda y de esta forma lograr un mejor entendimiento de las mismas. Además fueron planteados  dos métodos de solución de laberintos usando técnicas de inteligencia artificial, los cuales son la búsqueda en profundidad y amplitud.



El método de búsqueda de amplitud obtiene en promedio los mejores tiempos de solución a pesar de tener que recorrer todo el laberinto, empleando más memoria para realizar la búsqueda, por otro lado, la búsqueda en profundidad es más aleatoria en cuanto al tiempo que la búsqueda en amplitud y menor cantidad de  memoria.


http://revistas.utp.edu.co/index.php/revistaciencia/article/viewFile/3171/1933
https://arodrigu.webs.upv.es/grafos/doku.php?id=desarrollo




SOLUCIÓN DE PROBLEMAS.

La resolución de problemas es fundamental para la mayoría de las aplicaciones de Inteligencia artificial. De hecho la capacidad de resolver problemas suele usarse como una medida de la inteligencia tanto para el ser humano como para la computadora.
El proceso general de un sistema de Resolución de Problemas en IA, se modela generalmente como un proceso de búsqueda a través de un espacio de estados.

Definición del problema
a) Definir una representación de posibles estados del problema.
b) Determinación de un estado inicial.
c) Determinación explicita del estado final meta, o de las condiciones de un estado meta.
d) Reglase de transición o de movimiento: Permiten transformar un estado del problema en otro.
Objetivo: encontrar las secuencias de reglas (solución) que aplicadas a una descripción del problema (estado inicial) lo transformen en otra (estado meta), mediante un proceso de búsqueda en un proceso de estados.

Espacios de estados: Conjunto de estados del problema alcanzables a partir del estado inicial, aplicando reglas de transición. Un espacio de estado es un grafo cuyos nodos corresponden a estados del problema. De este modo, utilizando está representación, la solución a los problemas se convierte en la búsqueda de caminos ó rutas óptimas dentro del grafo.


SISTEMA DE PRODUcCIÓN.

Debido a que la búsqueda es el núcleo de muchos procesos inteligentes, es adecuado estructurar los programas de IA de forma que facilite describir y desarrollar el proceso de búsqueda. Los sistemas de producción  proporcionan tales estructuras. Un sistema de producción consiste en:
·       * Un conjunto de reglas.
·        *Una o más bases de datos (conocimiento)
·        *Una estrategia de control que especifique el orden en el que las reglas comparan con la base de datos, y la forma de resolver los conflictos que surjan cuando varias pueden, ser aplicada a la vez.
·       * Un aplicador de reglas.
El proceso de solución del problema puede modelarse como un sistema de producción. El problema que se plantea es escoger la estructura de control apropiada para el sistema de producción con el fin de que el proceso de búsqueda sea lo más eficiente posible.






BÚSQUEDA EN AMPLITUD O EN ANCHURA (Breadth-first Search).

Se basa en desarrollar completamente cada nivel del árbol antes de pasar a desarrollar el siguiente. La búsqueda de amplitud no queda atrapada explorando callejones sin salida, además si existe una solución la búsqueda en anchura garantiza que se encuentre. Si existe múltiples soluciones se encuentra las solución mínima, es decir, la que requiere el mínimo numero de pasos. Este algoritmo de búsqueda visita cada nodo del árbol por niveles, es decir visita los nodos de un nivel antes de visitar los del siguiente.  El pseudo-codigo de este algoritmo.



BUSQUEDA EN PROFUNDIDAD (Depth- First Search).

Este algoritmo de búsqueda continua por una rama del árbol hasta encontrar la solución o decidir terminar la búsqueda por esa dirección porque se encontró un callejón sin salida .  Al fracasar una ruta, se realiza un backtracking o vuelta atrás, continuando la exploración en el paso inmediato anterior.  La búsqueda en profundidad necesita menos memoria ya que solo almacena los nodos del camino que se siguen en ese instante. Esto contrasta con la búsqueda en anchura en la cual se debe almacenarse todo el árbol que haya sido generado hasta ese momento. A continuación se detalla el pseudo-codigo.




http://www.unistmo.edu.mx/~daniel.garcia/unidadiii_ia.pdf
http://revistas.utp.edu.co/index.php/revistaciencia/article/viewFile/3171/1933
file:///C:/Users/juliO/Downloads/T2.pdf
http://dmi.uib.es/~abasolo/intart/1-introduccion.html
http://www.slideshare.net/alanl0pez/tipos-de-bsqueda-en-inteligencia-artificial

sábado, 22 de febrero de 2014

Inteligencia Artificial.

¿Qué se entiende por Inteligencia, Artificial, Inteligencia Artificial?
Inteligencia:
 Es la capacidad de entender,  asimilar, elaborar información y utilizarla para resolver problemas.

Artificial:
 Es cualquier cosa hecha con intención y propósito, teniendo la capacidad de modificar su entorno para ello.

Inteligencia Artificial:
En la informática es la rama que desarrolla procesos que imitan la inteligencia de los seres vivos. La principal aplicación de esta ciencia es la creación de máquinas para la automatización de tareas que requieren un comportamiento inteligente.


La  inteligencia artificial la relacionaba principalmente con la robótica (Robots), que era como si quisieran imitar a un ser humano dando la capacidad de recibir información y este la utilizara en diferentes eventos de la vida cotidiana y fuera capaz de tomar sus propias decisiones. Ya que eso es lo que hemos visto en las películas futuristas. Pero la realidad va más allá de los robots, ya que hasta el momento la inteligencia artificial se desarrolla para que las maquinas puedan realizar tareas complejas, no quiero decir que el hombre no sepa hacerlas pero atreves de varios programas, la maquina  puede aportar un resultado más exacto. Por lo tanto la inteligencia abarca un concepto más amplio y que es utilizado en muchas áreas de la ciencia.


¿Qué  espero aprender de este Curso?


Bueno yo espero adquirir mucho conocimiento nuevo, la verdad no sé cuáles son las unidades o los temas de Inteligencia Artificial, pero con el solo nombre del curso  me puedo dar una idea y se me hace muy interesante, muy novedoso y creo que el curso va estar en constante actualización. Yo espero aprender a utilizar todas las herramientas necesarias para completar todas las unidades y poder aportar mi opinión a mis compañeros acerca de los temas que vayamos viendo y que estas vayan ayudando a entender los temas, espero que el blog les sirvan a las personas que lo vean ya que es la primera vez que realizo un blog.