lunes, 1 de julio de 2019

Búsqueda Heuristica

Una heurística es un algoritmo que abandona uno o ambos objetivos. Las heurísticas generalmente son usadas cuando no existe una solución óptima bajo las restricciones dadas o cuando no existe del todo.Autores como Feigenbaum y Feldman definen la heurística como es una regla para engañar, simplificar un conjunto de reglas que evalúan la posibilidad de que una búsqueda va en la dirección correcta.La búsqueda es una técnica para resolver problemas cuya solución consiste en una serie de pasos que frecuentemente deben determinarse mediante la prueba sistemática de las alternativas.Los métodos de búsqueda heurística disponen de alguna información sobre la proximidad de cada estado a un estado objetivo, lo que permite explorar en primer lugar los caminos más prometedores.SON CARACTERÍSTICAS DE LOS MÉTODOS HEURÍSTICOS:
  • No garantizan que se encuentre una solución, aunque existan soluciones.
  • Si encuentran una solución, no se asegura que ésta tenga las mejor esas propiedades (que sea de longitud mínima o de coste óptimo).
  • En algunas ocasiones (que, en general, no se podrán determinar apriori), encontrarán una solución (aceptable mente buena) en un tiempo razonable.

Método de búsqueda ciega

La búsqueda ciega o no informada sólo utiliza información acerca de si un estado es o no objetivo para guiar su procesu de búsqueda.
Los métodos de búsqueda ciega se pueden clasificar en dos grupos básicos:
  • Métodos de búsqueda en anchura.
Son procedimientos de búsqueda nivel a nivel. Para cada uno de los nodos de un nivel se aplican todos los posibles operadores y no se expande ningún nodo de un nivel antes de haber expandido todos los del nivel anterior.
  • Métodos de búsqueda en profundidad.
En estos procedimientos se realiza la búsqueda por una sola rama del árbol hasta encontrar una solución o hasta que se tome la decisión de terminar la búsqueda por esa dirección ( por no haber posibles operadores que aplicar sobre el nodo hoja o por haber alcanzado un nivel de profundidad muy grande ) . Si esto ocurre se produce una vuelta atrás ( backtracking ) y se sigue por otra rama hasta visitar todas las ramas del árbol si es necesario.



Etapas de la IA


Fechas y nombres de las etapas IA




Explicación de las etapas IA





Ciencias relacionadas con la IA

Matemáticas


  • Demostración automática de teoremas

Psicologia

  • Ciencia cognoscitiva.

Lingüística

  • Lingüística computacional. 

Programación informática.

  • Programación heurística.

Filosofía

  • Epistemologia computacional.

Otras ciencias

  • Ingeniería del conocimiento robótica.


Modelo a seguir de la inteligencia artificial

  • Sistemas que piensan como humanos.- Estos sistemas tratan de emular el pensamiento humano; por ejemplo las redes neuronales artificiales. La automatización de actividades que vinculamos con procesos de pensamiento humano, actividades como la toma de decisiones, resolución de problemas y aprendizaje
  • Sistemas que actúan como humanos.- Estos sistemas tratan de actuar como humanos; es decir, imitan el comportamiento humano; por ejemplo la robótica. El estudio de cómo lograr que los computadores realicen tareas que, por el momento, los humanos hacen mejor.
  • Sistemas que piensan racionalmente.- Es decir, con lógica (idealmente), tratan de imitar o emular el pensamiento lógico racional del ser humano; por ejemplo los sistemas expertos. El estudio de los cálculos que hacen posible percibir, razonar y actuar.
  • Sistemas que actúan racionalmente (idealmente).– Tratan de emular de forma racional el comportamiento humano; por ejemplo los agentes inteligentes. Está relacionado con conductas inteligentes en artefactos




8 definiciones de inteligencia artificial

1. "La interesante tarea de lograr que las computadoras piensen... maquinas con mentes, en su amplio sentido literal." (Hugeland,1985).

2."La automatización de actividades que vinculamos con procesos de pensamiento humano, actividades tales como toma de decisiones, resolución de problemas, aprendizaje." (Belman,1978)

3."El arte de crear maquinas con capacidad de realizar funciones que realizadas por personas, requieren inteligencia." (Kurswell,1990).

4."El estudio de como lograr que las computadoras realicen tareas que, por el momento, los humanos hacen mejor". (Rich y Knight,1991).

5."El estudio de las facultades mentales mediante el uso de modelos computacionales".
(Charniak y McDermott,1985).

6."El estudio de los cálculos que permiten percibir y razonar". (Winston,1992).

7."Un campo de estudio que se enfoca en la explicación y emulación de la conducta inteligente en función de procesos computacionales". (Sholkoof,1990).

8."La rama de la computación que se ocupa de la automatización de la conducta inteligente".
(Luger y Stubble Fied,1993).


Puede encontrar mas información aquí

lunes, 17 de junio de 2019

Backtracking


Es un algoritmo general para encontrar todas (o algunas) soluciones a algunos problemas de cómputo, especialmente los problemas de satisfacción restringida , que incrementan los candidatos a las soluciones y abandonan a un candidato ("backtracks") tan pronto como determina que el candidato no puede Se completará a una solución válida. 

El ejemplo clásico del libro de texto sobre el uso del retroceso es el rompecabezas de las ocho reinas, que solicita todos los arreglos de ocho reinas de ajedrez en un tablero de ajedrez estándar para que ninguna reina ataque a ninguna otra. En el enfoque de retroceso común, los candidatos parciales son arreglos de k reinas en las primeras k filas del tablero, todas en diferentes filas y columnas. Cualquier solución parcial que contenga dos reinas mutuamente atacantes puede ser abandonada.



El algoritmo de retroceso enumera un conjunto de candidatos parciales que, en principio, podrían completarse de varias maneras para dar todas las soluciones posibles al problema dado. La finalización se realiza de forma incremental, mediante una secuencia de pasos de extensión candidatos.
Conceptualmente, los candidatos parciales se representan como los nodos de una estructura de árbol, el árbol de búsqueda potencial. Cada candidato parcial es el padre de los candidatos que difieren de él en un solo paso de extensión; Las hojas del árbol son los candidatos parciales que no se pueden extender más.
El algoritmo de retroceso recorre este árbol de búsqueda de forma recursiva, desde la raíz hacia abajo, en primer orden de profundidad. En cada nodo c, el algoritmo verifica si c puede completarse para una solución válida. Si no puede, todo el subárbol enraizado en c se omite (se recorta). De lo contrario, el algoritmo (1) verifica si c en sí es una solución válida, y si es así lo informa al usuario; y (2) enumera recursivamente todos los subárboles de c. Las dos pruebas y los hijos de cada nodo se definen mediante procedimientos dados por el usuario.
Por lo tanto, el árbol de búsqueda real que atraviesa el algoritmo es solo una parte del árbol potencial. El costo total del algoritmo es el número de nodos del árbol real por el costo de obtener y procesar cada nodo. Este hecho debe tenerse en cuenta al elegir el posible árbol de búsqueda e implementar la prueba de poda.