sábado, 22 de marzo de 2014

HEURÍSTICAS Y EL PROBLEMA DEL AGENTE VIAJERO

HEURÍSTICAS Y EL PROBLEMA DEL AGENTE VIAJERO


Los métodos heurísticos son preferibles a los métodos no informados en la solución de problemas difíciles para los que una búsqueda exhaustiva necesitaría un tiempo demasiado grande. Esto cubre prácticamente la
totalidad de los problemas reales que interesan en Inteligencia Artificial
El concepto de heurística es difícil de aprehender. Newell, Shaw y Simon en 1963 dieron la siguiente definición: "Un proceso que puede resolver un problema dado, pero que no ofrece ninguna garantía de que lo hará, se llama una heurística para ese problema"
Si nos planteamos seguir concretando como aprovechar la información sobre el problema en sistemas de producción, la siguiente idea consiste en concentrar toda la información heurística en una única función que se denomina  función de evaluación heurística. Se trata de una función que asocia a cada estado del espacio de estados una cierta cantidad numérica que evalúa de algún modo lo prometedor que es ese estado para acceder a un estado objetivo. Habitualmente, se denota esa función por h(e). La función heurística puede tener dos interpretaciones. Por una parte, la función puede ser una estimación de lo próximo que se encuentra el estado de un estado objetivo. Bajo esta perspectiva, los estados de menor valor heurístico son los preferidos. Pero en otros casos puede suceder que lo que convenga sea maximizar esa función.
El problema del viajante.

  • Estado inicial: un viajante se encuentra en una capital de provincia.
  • Estado meta: quiere viajar a otra capital por la mejor ruta posible (la más corta)
  • Medios: Las capitales de provincia colindantes están unidas por carreteras; se dispone de un mapa con la disposición de las provincias y sus "coordenadas" en kilómetros respecto al "centro" (por ejemplo, Madrid, con coordenadas (0,0)).



  • Una función heurística para ese problema consiste en asignar a cada estado un valor que es la distancia aérea (en línea recta) con el estado objetivo. Dicha distancia es la distancia euclídea entre las coordenadas de dos ciudades.



  • Se elige una ciudad como siguiente en el camino cuando la suma de la distancia a la ciudad actual más la distancia aérea a la meta sea la menor.





  • Cuatro alternativas en la primera etapa: Cáceres, Palencia, Zaragoza y Valencia.
  • Función heurística considerando la distancia aérea: Distancia (Madrid, Santander)=Distancia(Madrid, Palencia)+Distancia aérea (Palencia, Santander) que es más pequeña que la obtenida a través de Cáceres Distancia (Madrid,Santander)=Distancia(Madrid, Cáceres)+Distancia aérea (Cáceres, Santander)
  • Función heurística considerando distancias parciales: Distancia (Madrid, Santander)=Distancia(Madrid, Palencia)+Distancia (Palencia, Santander)
El problema del cartero viajante (Traveling Salesman Problem – TSP) es un problema típico de optimización. En este documento se presentan algunas técnicas heurísticas de optimización (Algoritmos Genéticos, Simulated Annealing, Colonia de Hormigas, Búsqueda Tabú y Grasp) aplicadas a la solución de este problema. La solución al problema consiste en encontrar la 
ruta óptima para recorrer n ciudades sin repetirlas finalizando en la ciudad de origen.


OPINIÓN:

A pesar de que el sistema de prueba es pequeño, se podrán establecer algunas conclusiones respecto a los métodos de optimización utilizados en su solución: Todos los métodos alcanzan la solución óptima, sin embargo, estos presentan inconvenientes si se implementan en su forma natural, por lo que tienen que ser usados operadores especializados, como en el caso de los AG, que requieren operadores especializados tanto para el crossover como para la mutación con el fin de evitar la generación de rutas infactibles, así todos los métodos usados requieren que el movimiento que se lleve a cabo no produzca infactibilidades, caso contrario no será posible encontrar la solución. 

El problema del viajante de comercio

EJEMPLO: Se conocen las distancias entre un cierto número de ciudades. Un viajante de comercio debe partir de una de ellas, visitar cada ciudad exactamente una vez, y regresar al punto de partida habiendo recorrido en total la menor distancia posible. Supondremos que la distancia entre dos ciudades nunca es negativa. Todos los algoritmos exactos conocidos necesitan un tiempo exponencial. Son inviables para ejemplares grandes del problema.
Se puede representar este problema mediante un grafo completo no dirigido con n vértices (el grafo sería dirigido si la matriz de distancias no fuese simétrica). Un posible algoritmo voraz escogería en cad iteración la arista más corta aún no considerada que cumpliera las dos condiciones siguientes:
  • no formar un ciclo con las arista ya seleccionadas (excepto en la última iteración, que completa el viaje);
  • no es la tercera arista que incide en el mismo vértice de entre los escogidos.
Por ejemplo, consideremos el problema con seis ciudades y con la siguiente matriz de distancias
 
 
Nodos
2
3
4
5
6
1
3
10
11
7
25
2
 
6
12
8
26
3
 
 
9
4
20
4
 
 
 
5
15
5
 
 
 
 
18
Se escogerían las aristas en el orden {1,2}, {3,5}, {4,5}, {2,3}, {4,6}, {1,6} para formar el ciclo (1,2,3,5,4,6,1) de longitud 58. La arista {1,5} sería rechazada porque formaría el ciclo incompleto (1,2,3,5,1) y además porque sería la tercera arista que incide en el vértice 5.
En este caso, el algoritmo voraz no encuentra el ciclo óptimo ya que, por ejemplo, el ciclo (1,2,3,6,4,5,1) tiene una longitud de 56.
Puedes ver el funcionamiento del algoritmo. Tienes que tener en cuenta que debes rellenar los datos tal como lo ves en la tabla anterior (de forma triangular), ya que como se ha comentado anteriormente, la matriz de distancias es simétrica. Puedes cambiar las distancias; el algoritmo siempre empezará el ciclo eligiendo la arista menor, por tanto el nodo de salida será el que forme parte de esa arista ( Si la arista de menor longitud fuese la formada por los nodos (3,5), el ciclo empezaría  con los nodos (3,5,.......).







lunes, 10 de marzo de 2014

Problemas y Espacios de Estados


PROBLEMAS Y ESPACIOS DE ESTADOS

La resolución de problemas es una capacidad que consideramos inteligente

  • Somos capaces de resolver problemas muy diferentes
  • Encontrar el camino en un laberinto
  • Resolver un crucigrama
  • Jugar a un juego
  • Diagnosticar una enfermedad
  • Decidir si invertir en bolsa

El objetivo es que un programa también sea capaz de resolverlos un problema típico de la Inteligencia Artificial consiste en buscar un estado concreto entre un conjunto determinado, al que se le llama espacio de estados.
Imaginemos, por ejemplo, una habitación con estantes en la que hay un libro.Un robot se desea desplazar por la habitación con el fin de llegar a dicho libro. ¿De quémanera lo hará? En este punto es donde entran en juego las estrategias y los algoritmos de búsqueda.El primer paso para diseñar un programa que resuelva un problema es crear una descripción formal y manejable del propio problema. Sería adecuado contar con programas que produzcan descripciones formales a partir de descripciones informales, proceso denominado operacionalización. Dado que por ahora no se conoce la forma deconstruir estos programas este proceso debe hacerse manualmente.Hay problemas que por ser artificiales y estructurados son fáciles de especificar (por ej.el ajedrez, el problema de las jarras de agua, etc. ). Otros problemas naturales, como por ej. la comprensión del lenguaje, no son tan sencillos de especificar.Para producir una especificación formal de un problema se deben definir:
- espacio de estados;
- estado inicial del problema;
- estado objetivo o final;
- reglas que se pueden aplicar para pasar de un estado a otro.

Introducción
Para poder resolver el problema, debemos construir 
un modelo para basar nuestras decisiones en las 
consecuencias (hipotéticas) de nuestras acciones:

Berkeley CS188
Problema Problema típico en I.A. en I.A.

=> representa la aplicación de algún operador o transformación del sistema.
¿Cómo se selecciona, en cada momento, el operador que se debería aplicar? 

Ejemplo Ejemplo: Ajedrez Ajedrez
  • Se dispone de varios operadores (movimientos legales). 
  • Se ha de elegir cuál es el más adecuado en cada momento (¿qué pieza movemos y a dónde?). 
  • No tiene sentido aplicar (ejecutar) el primer operador que sea válido, sino que se debe realizar un proceso previo de búsqueda del mejor operador, tras lo cualse procederá a su aplicación.
Un problema problema de búsqueda búsqueda en I.A. en I.A. consta de:
  • Un espacio espacio de estados estados.
  • Un conjunto conjunto de operadores (acciones acciones, con costes)..
  • Un estado inicial inicial (punto de partida partida de la búsqueda búsqueda)..
  • Una función objetivo (comprueba comprueba si el estado actual corresponde a una solución del  problema).. 
Espacios de búsqueda
  • La búsqueda la realiza un programa (o agente). 
  • El espacio de búsqueda será un grafo dirigido en el que cada nodo representa un posible estado del sistema.
NOTA: Dependiendo del problema, cada nodo incluirá una descripción completa del sistema,o bien sólo las modificaciones necesarias para pasar de un nodo padre a su hijo. 

Búsqueda en un espacio de estados
  • Espacio de estados:
Representación del problema a través de las (posibles) acciones del agente.
  • Búsqueda en el espacio de estados: 
Resolución del problema mediante la proyección de las distintas acciones del agente.

Posibles acciones del agente (operadores)
Búsqueda en un espacio de estados
Grafo del espacio de estados / Grafo implícito
  • Representación matemática de un problema de búsqueda (nodos: estados; arcos: operadores):Grafo teórico que representa todas las posibles transformaciones del sistema aplicando todos los operadores posibles recursivamente.
  • Debido a su complejidad exponencial, que requeriría una cantidad inviable de memoria y tiempo, el grafo del espacio de estados no puede generarse por completo. 
Espacios de búsqueda

Búsqueda en un espacio de estados
Árbol de búsqueda / Grafo explícito
  • Debido a la complejidad exponencial del grafo implícito, se irá generando, paso a paso, una porción del grafo conforme avance el proceso de búsqueda.
  • El grafo explícito es el subgrafo subgrafo del grafo implícito del grafo implícito que se va generando durante el proceso de búsqueda de una secuencia de operadores que resuelva nuestro problema (camino solución) .
  • Usualmente, en forma de árbol, de ahí su nombre. 
Espacios de búsqueda

Búsqueda en un espacio de estados
Árbol de búsqueda / Grafo explícito
  • Nodo raíz: Estado inicial.
  • Hijos de un nodo: Posibles sucesores (nodos correspondientes a estados resultantes de la aplicación de un operador al nodo padre).
  • Los nodos del árbol representan estados, pero corresponden a PLANES mediante los cuales se alcanzan dichos estados.
Búsqueda en un espacio de estados
Árbol de búsqueda / Grafo explícito

Búsqueda en un espacio de estados
Árbol de búsqueda / Grafo explícito
Condiciones de parada
  • Se ha encontrado la solución.
  • Se ha acabado el tiempo disponible.
  • Se ha llegado a un nivel de profundidad determinado.
Espacios de búsqueda
Ejemplo: 8 Ejemplo: 8-puzzle

En el problema del 8 En el problema del 8--puzzle hay que encontrar puzzle hay que encontrar 
un camino desde la configuración inicial 
hasta una determinada configuración final.

Ejemplo: 8 Ejemplo: 8-puzzle


Ejercicio: Problema del mono y los plátanos
Un mono está en la puerta de una habitación. En el centro de la habitación hay un plátano colgado del 
techo, pero no puede alcanzarle desde el suelo. En la ventana de la habitación hay una caja, que el mono 
puede mover y a la que puede encaramarse para alcanzar el plátano. El mono puede realizar las 
siguientes acciones: desplazarse de la puerta al centro, del centro a la ventana y viceversa; empujar la 
caja a la vez que se desplaza; subirse y bajarse de la caja; coger el plátano. 

El problema consiste en encontrar una secuencia de acciones que permita al mono coger el plátano. 
Según el tipo de problema, nos podemos encontrar con:
  • Agentes de búsqueda que devuelven un único operador
vg. . Juegos con adversario (como el ajedrez)
  • Agentes de búsqueda que devuelven una secuencia de operadores
vg.. Juegos sin adversario adversario (como el 8 --puzzle) puzzle)
Sistemas Sistemas de planificación planificación
Sistemas Sistemas expertos expertos (con encadenamiento encadenamiento hacia adelante adelante)
Agentes de búsqueda
… que devuelven un único operador , p.ej. ajedrez

… que devuelven una secuencia de operadores
p.ej. 8 p.ej. 8--puzzle Descripción

  • Un problema puede tener varias soluciones, pero debido a la extensión del grafo implícito, no podemos explorarlo por completo, por lo que tampoco podemos buscar la mejor solución al problema (suponiendo algún criterio de algún criterio de optimalidad optimalidad). . 
  • Por eso, en muchos problemas de I.A. nos conformamos con buscar soluciones aceptables (cualquier camino a una solución lo suficientemente buena) y no soluciones óptimas (la mejor solución posible).
NOTA: Existen técnicas matemáticas/algorítmicas para resolver determinados tipos de problemas de 
optimización, p.ej. programación dinámica.

Uso de información
Heurísticas
Las heurísticas son criterios, métodos o principios para decidir cuál de entre varias acciones promete 
ser la mejor para alcanzar una determinada meta.

  • En la generación del árbol de búsqueda, nos podemos guiar con heurísticas que nos den una indicación acerca de cómo de bueno o prometedor es un determinado estado u operador.             p.ej. ¿Qué pieza deberíamos mover en una partida de ajedrez?¿Qué regla aplicamos en primer lugar al hacer un diagnóstico?
  • El uso de heurísticas nos permite convertir nuestra búsqueda de una solución en un proceso guiado de ensayo y error.
NOTA: Compárese el uso heurístico de información para guiar el proceso de búsqueda en Inteligencia Artificial con formalismos como la teoría de la decisión o la teoría de juegos, que en ocasiones nos permitirán determinar la decisión óptima si somos capaces de identificar todos los factores relevantes para el problema en cuestión (y las incertidumbres asociadas a ellos !!).
http://en.wikipedia.org/wiki/Decision_theory
http://en.wikipedia.org/wiki/Game_theory 26
Búsqueda sin  información
  • Sólo realizaremos una búsqueda a ciegas [blindsearch] cuando no exista información específica sob ] cuando no exista información específica sobre el problema que nos ayude a determinar cuál es el mejor operador que se debería aplicar en cada momento o el mejor nodo por el que continuar la búsqueda.
  • Se pueden utilizar distintos criterios para explorar el espacio de búsqueda, p.ej. LIFO (en profundidad) o FIFO (en anchura).

  • En problemas medianamente complejos, no obstante, tendremos que utilizar algún tipo de información para guiar nuestra búsqueda. 
p.ej... Para generar el grafo completo del juego Para generar el grafo completo del juego 
del ajedrez (1047 estados), generando 3 
billones de nodos por segundo y sin 
restricciones de memoria, tardaríamos 
unos 1030 años en resolver el problema, 
¡1020 veces la edad estimada del universo!
http://www.wolframalpha.com/input/?i=universe+age

Se pueden distinguir dos casos básicos:
  • Información incluida en la descripción del propio conocimiento que tenemos del problema.          p.ej... Uso de prioridades en los S.E.B.R. Uso de prioridades en los S.E.B.R.
  • Información especificada aparte de la descripción del conocimiento.                                            p.ej... Uso de una función heurística que evalúa la Uso de una función heurística que evalúa la bondad de un estado del sistema:                                                                                                                   f(estado) ∈ R 29Búsqueda Búsqueda con información información
Ejemplo: 8 Ejemplo: 8-puzzle
Ya que conocemos el estado final deseado, podemos utilizar la siguiente función heurística:
f(tablero)= - número de piezas mal colocadas con respecto al objetivo


Búsqueda con información
Ejemplo: 8 Ejemplo: 8-puzzle

Estrategias Estrategias de control de control
El tipo de estrategia de control que utilice nuestro 
agente de búsqueda (irrevocable o tentativa) 
determinará la respuesta a las siguientes preguntas:
  • ¿Cómo vamos generando el árbol de búsqueda en un proceso de búsqueda?
  • ¿Guardamos todos los nodos generados?
  • ¿Guardamos sólo el camino explorado hasta el último nodo generado?
  • ¿Guardamos exclusivamente el último nodo?

Estrategias  de control
Estrategias irrevocables 
En cada momento, sólo mantenemos en memoria un único nodo, que incluye la descripción completa del 
sistema en ese momento:
  • Se selecciona un operador R.
  • Se aplica sobre el estado del sistema E, para obtener un nuevo estado E’ = R(E). Se borra de memoria E y se sustituye por E‘.
Estrategias  irrevocables



Estrategias  irrevocables
  • Búsqueda sin información                                                                                                                  vg.. CLIPS ( CLIPS (estrategias estrategias greedy FIFO, LIFO o LEX) greedy FIFO, LIFO o LEX)
  • Búsqueda con información                                                                                                           vg.. CLIPS ( CLIPS (conocimiento conocimiento: prioridades prioridades de las reglas) Ascensión de colinas (función heurística)
Estrategias de control
Estrategias tentativas de control
En memoria se guardan todos los estados o nodos generados hasta el momento, de forma que la búsqueda 
puede proseguir por cualquiera de ellos:
1.. Seleccionar un estado E del grafo.
2.. Seleccionar un operador R aplicable sobre E.
3.. Aplicar R, para obtener un nuevo nodo R(E).
4.. Añadir el arco E → R(E) al grafo 
5.. Repetir el proceso.

Estrategias de control 
Estrategias tentativas sin información 
  • Al no disponer de información que nos guíe en el proceso de búsqueda, seguimos criterios generales vg. . Exploración del grafo en profundidad Exploración del grafo en profundidad Exploración del grafo en anchura  
  • Podemos definir criterios de parada (p.ej. detener la generación cuando se haya llegado a un nivel de profundidad determinado o se haya consumido el tiempo disponible).
Estrategias tentativas con información
Exploración  primero el mejor
Se explora exhaustivamente el grafo utilizando una función heurística para determinar el orden en que se 
exploran los nodos:
1.. Seleccionar el nodo E del grafo que tenga mayor valor para la función heurística.
2.. Seleccionar un operador R aplicable sobre E.
3.. Aplicar R, para obtener un nuevo nodo R(E).
4.. Añadir el arco E → R(E) al grafo 
5.. Repetir el proceso. 38

Características del problema
¿Cuáles son las características de un problema que obligan a utilizar una determinada estrategia?
  • “ Problemas “ignorables ignorables”..
  • “ Problemas “ignorables ignorables” monótonos.
  • “ Problemas “ignorables ignorables” reversibles. 
  • “no Problemas “no ignorables ignorables” o irrecuperables. 
Características del problema 
“ Problemas “ ignorables”
Un problema es Un problema es ignorable ignorable cuando, cuando, 
si se puede alcanzar el objetivo desde un estado E, 
también puede alcanzarse 
desde cualquier otro estado R(E), 
donde R es un operador arbitrario.
En definitiva, no corremos ningún riesgo en la aplicación de cualquier operador.

Problemas “ ignorables”  monótonos
Cuando la aplicación de cualquier operador se limita a añadir más hechos, sin modificar los ya existentes.

Este tipo de problemas son los tratados en la lógica clásica (que es monótona).

EJEMPLO
R1.. Si hace calor, entonces el profesor no está cómo Si hace calor, entonces el profesor no está cómodo
R2.. Si hace calor, entonces recomendar piscina Si hace calor, entonces recomendar piscina
R3.. Si el profesor no está cómodo, Si el profesor no está cómodo, 
entonces los alumnos suspenden 

Problemas “ignorables” monótonos 

  • El ejemplo anterior ilustra la “ignorabilidad” de un problema: siempre que sea posible, se llegará a la solución (aunque tal vez sea necesario aplicar más reglas de las estrictamente necesarias).
  • Al ser el problema ignorable, el grafo de búsqueda, puede explorarse utilizando una estrategia irrevocable (así lo haremos, sobre todo, si el coste de representación de los estados en memoria es elevado).
NOTA: Obviamente, siempre se puede explorar Obviamente, siempre se puede explorar
con una estrategia de control retroactiva.
 
Problemas “ignorables” reversibles 
Cuando las acciones de los operadores son reversibles;es decir, ∀ estado E, ∀ operador R, ∃ operador R--1 tal que 
R--1(R(E))=E

EJEMPLOS
  • 8--puzzle. puzzle.
  • Planificación de movimientos de un robot con STRIPS.                                                
 Problemas “ignorables” reversibles 
  • Se les puede aplicar una estrategia irrevocable:                                                                                Si se decide no proseguir la búsqueda por un estado E', generado a partir de otro estado E aplicando R(E), siempre se puede aplicar R--1 a E’ para obtener de nuevo E y buscar otro operador aplicable a E.
  • Si el coste computacional de la aplicación de los operadores es alto y no hay muchas restricciones de memoria, entonces es mejor utilizar una estrategia retroactiva. . 

Problemas “no ignorables” o irrecuperables
Cuando la aplicación de un operador puede generar un estado desde el cual no sea posible llegar a un 
estado objetivo.
EJEMPLOS
  • Control de la adición de sustancias químicas en el proceso realizado por una planta industrial.
  • Juegos con adversario, como el ajedrez.
Problemas “no ignorables” o irrecuperables 
EJEMPLO: Sustituciones simbólicas en una cadena
R1: C → DL
R2: C → BM
R3: B → MM
R4: Z → BBM
Estado inicial: E0 = {C B Z}
Estado final: Estado final: Cadena sólo con emes Cadena sólo con emes
  • Si aplicamos R1 es imposible llegar a un estado final, por lo que el problema es irrecuperable. 
  • Si quitásemos R1, entonces el problema sí sería “ignorable”.

Lo usual será utilizar una estrategia tentativa:



Inteligencia Artificial

Inteligencia

La inteligencia es una cualidad que todos los seres humanos poseemos, aunque no todos 
podemos tenerla de igual manera estimulada y desarrollada. Capacidad y habilidad potencial para adquirir, retener y aplicar experiencia, entendimiento, conocimiento, raciocinio y juicio, en la resolución de conflictos y en el enfoque de nuevas experiencias.La inteligencia es la capacidad de relacionar conocimientos que poseemos para resolver una determinada situación. Si indagamos un poco en la etimología de la propia palabra encontramos en su origen latino inteligere, compuesta de intus (entre) y legere(escoger).

Artificial
Que ha sido hecho por el ser humano y no por la naturaleza, es algo que no es natural. Su sentido original, en relación con un artefacto o artificio, se refiere a un producto de la actividad humana; como sinónimo de «hecho por el hombre». También se utiliza en el sentido de «falso», en el sentido de que pretende ser o mostrar lo que no es, como un sustituto de lo natural; como en césped artificial o edulcorante artificial.
Artificial es cualquier cosa hecha con intención y propósito, teniendo la capacidad de modificar su entorno para ello. Este propósito es para obtener un beneficio. Esto significa que no solo el hombre, sino otros seres vivos, producen lo que se pueda llamar artificial

Inteligencia Artificial

inteligencia artificial desarrollado para referirse a los sistemas creados por los seres humanos que son capaces de planificar, elaborar pensamientos abstractos, entender ideas y aprender, es llamada también sistema de inteligencia se origina en la fusión de la ciencia del ordenador, la fisiología y la filosofía y consiste en darle vida inteligente a un objeto carente de ella, se desarrolla a partir de códigos de lenguaje de programación y de acuerdo a la complejidad de los mismos se pueden crear ente mas o menos inteligentes, capaces de tomar buenas, mediocres o malas decisiones, Es la inteligencia que poseen los robots y los aparatos con cierta independencia.
La Inteligencia Artificial es una combinación de la ciencia del computador, fisiología y filosofía, tan general y amplio como eso, es que reune varios campos (robótica, sistemas expertos, por ejemplo), todos los cuales tienen en común la creación de máquinas que pueden pensar.
La de idea construir una máquina que pueda ejecutar tareas percibidas como requerimientos de inteligencia humana es un atractivo. Las tareas que han sido estudiadas desde este punto de vista incluyen juegos, traducción de idiomas, comprensión de idiomas, diagnóstico de fallas, robótica, suministro de asesoría experta en diversos temas.
Es así como los sistemas de administración de base de datos cada vez más sofisticados, la estructura de datos y el desarrollo de algoritmos de inserción, borrado y locación de datos, así como el intento de crear máquinas capaces de realizar tareas que son pensadas como típicas del ámbito de la inteligencia humana, acuñaron el término Inteligencia Artificial en 1956.
La Inteligencia Artificial trata de conseguir que los ordenadores simulen en cierta manera la inteligencia humana. Se acude a sus técnicas cuando es necesario incorporar en un sistema informático,conocimiento o características propias del ser humano.
Podemos interrogar a algunas bases de datos de Internet en lenguaje natural, o incluso charlar con ellas nuestro idioma, porque por detrás se está ejecutando un programa de Inteligencia Artificial.
Otras herramientas inteligentes pueden utilizarse para escrutar entre los millones de datos que se generan en un banco en busca de patrones de comportamiento de sus clientes o para detectar tendencias en los mercados de valores.

Características de la Inteligencia Artificial.

Una característica fundamental que distingue a los métodos de Inteligencia Artificial de los métodos numéricos es el uso de símbolos no matemáticos, aunque no es suficiente para distinguirlo completamente. Otros tipos de programas como los compiladores y sistemas de bases de datos,tambiénprocesan símbolos y no se considera que usen técnicas de Inteligencia Artificial.

El comportamiento de los programas no es descrito explícitamente por el algoritmo. La secuencia de pasos seguidos por el programa es influenciado por el problema particular presente. El programa especifica cómo encontrar la secuencia de pasos necesarios para resolver un problema dado (programa declarativo). En contraste con los programas que no son de Inteligencia Artificial, que siguen un algoritmo definido, que especifica, explícitamente, cómo encontrar las variables de salida para cualquier variable dada de entrada (programa de procedimiento).

Las conclusiones de un programa declarativo no son fijas y son determinadas parcialmente por las conclusiones intermedias alcanzadas durante las consideraciones al problema específico. Los lenguajes orientados al objeto comparten esta propiedad y se han caracterizado por su afinidad con la Inteligencia Artificial.

El razonamiento basado en el conocimiento, implica que estos programas incorporan factores y relaciones del mundo real y del ámbito del conocimiento en que ellos operan. Al contrario de los programas para propósito específico, como los de contabilidad y cálculos científicos; los programas de Inteligencia Artificial pueden distinguir entre el programa de razonamiento o motor de inferencia y base de conocimientos dándole la capacidad de explicar discrepancias entre ellas.

Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de Inteligencia Artificial los programas no pueden trabajar con este tipo de problemas. Un ejemplo es la resolución de conflictos en tareas orientadas a metas como en planificación, o el diagnóstico de tareas en un sistema del mundo real: con poca información, con una solución cercana y no necesariamente exacta.

http://www.muyinteresante.es/tecnologia/video/marvin-minsky-padre-de-la-inteligencia-artificial-premio-fronteras-del-conocimiento-en-tic


Tomasa Castañeda Sierra 8 semestre Ing. Computación