jueves, 28 de noviembre de 2013

INFORMACIÓN COMPLEMENTARIA

En el siguiente link encontrara un vídeo donde se brinda información complementaria acerca del tema de este blog, por parte de los integrantes del grupo colaborativo.

https://www.youtube.com/watch?v=SqtLEDjyUUM

miércoles, 27 de noviembre de 2013

CONCLUSIONES


  • Las técnicas de Inteligencia Artificial son una gran herramienta que nos permiten llegar a resolver problemas que debido a nuestras limitaciones no podemos resolver.

  • Se identificaron los campos de aplicación de la IA como agentes inteligentes, algoritmos genéticos, sistemas expertos, robótica, etc., también en el desarrollo de software que agilizan y ayudan a resolver problemas cotidianos  del hombre.

  • Se aplicaron los conocimientos a lo largo de curso de Inteligencia Artificial.

martes, 26 de noviembre de 2013

REFERENCIAS BIBLIOGRÁFICAS

Phine Jose. (2003, Noviembre). Los Agentes Inteligentes. Recuperado el 22 de Noviembre de 2013 de la página web: http://es.kioskea.net/faq/4474-los-agentes-inteligentes

N.N. (2013, 20 de Agosto). Agente inteligente (inteligencia artificial). Recuperado el 22 de Noviembre de 2013 de la página web:http://es.wikipedia.org/wiki/Agente_inteligente_%28inteligencia_artificial%29

Montes J. S. (s/f). Sistemas Expertos (SE). Recuperado el 22 de Noviembre de 2013 de la página web: http://www.monografias.com/trabajos16/sistemas-expertos/sistemas-expertos.shtml


Díaz Alexis. (2013, 23 de Julio). Tipos de Busqueda Inteligencia Artificial. Recuperado el 25 de Noviembre de 2013 de la página web: http://www.slideshare.net/UpScito/tipos-bsicos-de-bsqueda


N.N. (2013, 18 de Octubre). Java Agent Development Framework. Recuperado el 26 de Noviembre de 2013 de la página web:http://es.wikipedia.org/wiki/Java_Agent_Development_Framework

Salg Eduardo. (2013, 17 de Noviembre). Visión artificial. Recuperado el 26 de Noviembre de 2013 de la página web: http://es.wikipedia.org/wiki/Visi%C3%B3n_artificial

N.N. (2006, 30 de Diciembre). Descripción de Pythia. Recuperado el 26 de Noviembre de 2013 de la página web: http://www.softpedia.es/programa-Pythia-28033.html
  

ASPECTOS GENERALES DE INTELIGENCIA ARTIFICIAL

INICIOS


La Inteligencia Artificial comenzó como el resultado de la investigación en psicología cognitiva y lógica matemática. Se ha enfocado sobre la explicación del trabajo mental y construcción de algoritmos de solución a problemas de propósito general. Punto de vista que favorece la abstracción y la generalidad.

PRINCIPALES TEORÍAS SOBRE DE LA INTELIGENCIA ARTIFICIAL


Tratar de describir qué es la Inteligencia Artificial con
precisión no es tan fácil.

 
Sistemas que piensan como humanos
Sistemas que actúan como humanos
 Sistemas que piensan racionalmente
Sistemas que actúan racionalmente
Depende del autor



Turing (1950) “Computing machinery and intelligence”:

¿Pueden pensar las máquinas? 

¿Pueden las máquinas comportarse inteligentemente?



  •  Prueba operacional para comportamiento inteligente: el Juego de la Imitación.
  •  Predijo que para el 2000, una máquina podría tener 30% de posibilidad de engañar a
  • una persona por 5 minutos.
  • Se anticiparon muchos argumentos de peso contra la IA en los siguientes 50 años.
  • Se sugirieron los principales componentes de IA: conocimiento, razonamiento,
  • entendimiento de lenguaje, aprendizaje.
Pensamiento Racional: Leyes del pensamiento


  • Normativo (o prescriptivo) en lugar de descriptivo; conduce a la lógica.
  • Línea directa a través de las matemáticas y la filosofía a la IA moderna.
  • No todo comportamiento inteligente se realiza por deliberación lógica
  • (brincar para escapar del camino de un auto).
  • No todo es fácil de representar formalmente como lo requiere la lógica.

LINEA DE TIEMPO

 

 

CARACTERÍSTICAS


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én procesan 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). 


 OBJETIVOS DE LA INTELIGENCIA ARTIFICIAL


Los investigadores en inteligencia artificial se concentran principalmente en los sistemas expertos, la resolución de problemas, el control automático, las bases de datos inteligentes y la ingeniería del software (diseños de entornos de programación inteligente).


Otros investigadores están trabajando en el reto del reconocimiento de patrones donde se espera un rápido progreso en este campo que abarca la comprensión y la síntesis del habla, el proceso de imágenes y la visión artificial.


Finalmente, la fundamental investigación sobre la representación del conocimiento, la conceptualización cognoscitiva y la comprensión del lenguaje natural.


RAMAS DE LA INTELIGENCIAS ARTIFICIAL

  

- ROBOTICA
- REALIDAD VIRTUAL
- REDES NEURONALES
- SISTEMAS EXPERTOS
- AGENTES INTELIGENTES
- PROCESAMIENTO DEL LENGUAJE NATURAL
- SISTEMAS DE APRENDIZAJE
- MINERIA DE DATOS
 

lunes, 25 de noviembre de 2013

TIPOS DE BUSQUEDA EN INTELIGENCIA ARTIFICCIAL

TIPOS BÁSICOS DE BUSQUEDA



REDES Y BÚSQUEDAS

Encontrar una trayectoria del punto S al punto G involucra dos costos:

El costo del cálculo para encontrar la trayectoria.

El costo del viaje cuando se sigue la trayectoria


ÁRBOL DE BÚSQUEDA

  • Es una representación que considera todas las trayectorias posibles en la red:  

    Los nodos representan trayectorias, y las ramas conectan trayectorias a extensiones de trayectoria de un solo paso. 
  • Idea es construir al vuelo este árbol, siguiendo una estrategia de búsqueda.
  • El número total de trayectorias de un árbol con factor de ramificación b y profundidad d es bd. 


BÚSQUEDA EN PROFUNDIDAD PRIMERO


Para llevar a cabo una búsqueda en profundidad, 

1. Inserte en una pila el elemento raíz (nodo de partida) 

2. Hasta que el elemento tope sea el nodo meta, o se vacié la pila

           1. Si nodo tope tiene hijos, insertar el hijo siguiente aun no visitado, según ordenamiento. 

              2. Si no, entonces eliminar nodo tope. 

3. Si el nodo meta se alcanza, mencione éxito, de lo contrario, notifique el fracaso. 

La búsqueda por profundidad se usa cuando queremos probar si una solución entre varias posibles cumple con ciertos requisitos. 


 BÚSQUEDA EN AMPLITUD PRIMERO


Para llevar a cabo una búsqueda en profundidad

1. Inserte en una pila el elemento raíz (nodo de partida) 

2. Hasta que el elemento tope sea el nodo meta, o se vacié la pila 

       1. Si nodo tope tiene hijos, insertar el hijo siguiente aun no visitado, según ordenamiento. 
       2. Si no, entonces eliminar nodo tope. 

3. Si el nodo meta se alcanza, mencione éxito, de lo contrario, notifique el fracaso. 

Sirve para cualquier estado, sin embargo para algunos es muy tardado.

Es una estrategia sencilla en la que se expande el nodo raíz, a continuación se expande todos los sucesores del nodo raíz, después sus sucesores etc.  









RAMIFICACIÓN Y COTA

 
Menos sacrificado para encontrar la ruta óptima. 

Idea básica es expandir en cada ocasión la ruta parcial con el menor costo hasta el momento. 

          ◦ Es decir, todos los nodos abiertos hasta el momento entran en consideración. 

Similar a método “primero el mejor”, pero al revés. 

         ◦ En lugar de seguir el trayecto que aparentemente tiene la menor distancia hacia él.

ALGORITMO BÁSICO

 

Formar una cola de trayectos parciales. Inicialmente sólo tiene el elemento raíz.

Hasta que la cola se vacié o se alcance el nodo objetivo, determinar si el primer elemento alcanza el nodo objetivo. 

         ◦ Si alcanza el objetivo, salir. 
         ◦ Si no, entonces; 

Borrar el nodo de la cola.

Agregar sus hijos a la cola.

Ordenar los nodos por costo acumulado.

Si el nodo objetivo fue encontrado mencionar éxito, de lo contrario anunciar falla. 



PROCEDIMIENTO A*


Es una búsqueda de ramificación y cota con: 

      ◦ Estimación de distancia restante 
      ◦ Eliminación de trayectorias redundantes

Si la estimación de la distancia restante es un limite inferior de la distancia real, entonces A* produce solucione. 
  

BÚSQUEDA HEURÍSTICA

 

Sirve para asignar a cada estado una estimación del coste optimo a la solución.

Se usa 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 mejor respuesta, sino que casi siempre encuentra una buena respuesta. 

Una técnica heurística mejora la eficiencia del proceso de búsqueda sacrificando, usualmente, exhaustividad. 


ALGORITMO BÁSICO



Formar una cola de trayectos parciales. Inicialmente sólo tiene el elemento raíz. 

Hasta que la cola se vacié o se alcance el nodo objetivo, determinar si el primer elemento alcanza el nodo objetivo. 

     ◦ Si alcanza el objetivo, salir. 
     ◦ Si no, entonces; 

           - Borrar el nodo de la cola 

           - Agregar sus hijos a la cola.

           - Ordenar los nodos por costo acumulado 

Si el nodo objetivo fue encontrado mencionar éxito, de lo contrario anunciar falla. 



ASEGURA LA RUTA OPTIMA

 

 

¿cuál es la respuesta del método? 
¿cómo podemos asegurar encontrar la ruta óptima? 
¿cuándo debemos terminar el algoritmo? 

◦ Cuando todas las rutas parciales tengan igual o mayor peso que la trayectoria

viernes, 22 de noviembre de 2013

AGENTES INTELIGENTES


Un agente inteligente es un programa especialmente concebido para realizar ciertas tareas de manera autónoma en una red por encargo de un usuario. Esta herramienta permite ganar tiempo en la vigilancia y la colecta de información de interés para la empresa. El usuario define los parámetros de la tarea que realizará de manera autónoma el agente, luego el agente informa de los resultados al usuario.

Todas las fuentes de información accesibles en una red (por lo general Internet) pueden ser vigiladas por un agente inteligente: archivos, páginas web, bases de datos, foros, newsletters, etc.

 

 

Cómo trabaja un agente inteligente


Un agente inteligente es más que un simple sistema de búsqueda de información. El agente puede operar sin la intervención del usuario aun si éste está desconectado. Los agentes inteligentes incorporan funciones procedentes de la inteligencia artificial. 

Tres características fundamentales de los agentes inteligentes:
  • 1. La inteligencia: el agente sabe razonar y aprende a partir de la información que recoge
  • 2. La interactividad: el agente puede interactuar con su entorno y otros agentes con el propósito de realizar una tarea
  • 3. La autonomía: el agente puede tomar decisiones de manera autónoma.
Atener en cuenta: 

  • Un simple comparador de precios no es un agente inteligente ya que únicamente cumple las funciones para lo que ha sido programado.
  • Un agente inteligente se caracteriza por su autonomía en el proceso y el análisis de la información que maneja
  • Un agente inteligente puede ser controlado por una persona o por otro agente del mismo tipo

Clasificación


 Es posible clasificar los agentes inteligentes en 6 categorías principales:

1.      agentes reactivos
2.      agentes reactivos basados en modelo
3.      agentes basados en objetivos
4.      agentes basados en utilidad
5.      agentes que aprenden
6.      agentes de consultas

La Racionalidad es Necesaria


En muchos textos se define agente inteligente como todo agente capaz de tener conciencia de su entorno y actuar sobre él. No obstante es necesario exigir que estas decisiones sean racionales en el sentido de que persigan algún fin.


Vamos a mostrarlo con un contraejemplo: cuando un fotón con la suficiente energía incide sobre un átomo, puede arrancar de él un electrón. Podríamos considerar al átomo inteligente puesto que percibe su entorno (la incidencia del fotón) y actúa sobre su entorno (emite un electrón). La ausencia de relación entre la emisión del electrón y cualquier hipotético interés del átomo muestra que este no es un agente inteligente pese a verificar la definición de Bertrand Russell.
Sin ese término no tendría sentido la palabra racionalidad.

Aplicaciones de los agentes inteligentes

Los agentes inteligentes pueden ser utilizados por las empresas en numerosos dominios, entre estos:
  • La e-Reputación
  • La gestión de riesgos
  • La inteligencia territorial
  • El lanzamiento de productos
  • La vigilancia de la competencia
  • La vigilancia de líderes de opinión y del lobbying
  • La vigilancia de las tendencias
Por ejemplo, en el sector de la banca, del turismo o del trasporte aéreo, las empresas recurren a agentes inteligentes para rellenar formularios en línea en lugar del cliente. 

Un agente inteligente también puede ofrecer una solución para detectar con anticipación fallas en el funcionamiento de una máquina o de un parque de máquinas. Esto lo puede realizar analizando una gran cantidad de información en un periodo determinado. 

La configuración del agente requiere de buenos conocimientos informáticos. Los prestatarios de soluciones suelen incluir la formación en la venta de sus productos.

sábado, 16 de noviembre de 2013

REDES NEURONALES

Las redes de neuronas artificiales (denominadas habitualmente como RNA o en inglés como: "ANN"  son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas que colaboran entre sí para producir un estímulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales.

Una red neuronal se compone de unidades llamadas neuronas. Cada neurona recibe una serie de entradas a través de interconexiones y emite una salida. Esta salida viene dada por tres funciones:
  1. Una función de propagación (también conocida como función de excitación), que por lo general consiste en el sumatorio de cada entrada multiplicada por el peso de su interconexión (valor neto). Si el peso es positivo, la conexión se denomina excitatoria; si es negativo, se denomina inhibitoria.
  2. Una función de activación, que modifica a la anterior. Puede no existir, siendo en este caso la salida la misma función de propagación.
  3. Una función de transferencia, que se aplica al valor devuelto por la función de activación. Se utiliza para acotar la salida de la neurona y generalmente viene dada por la interpretación que queramos darle a dichas salidas. Algunas de las más utilizadas son la función sigmoidea (para obtener valores en el intervalo [0,1]) y la tangente hiperbólica (para obtener valores en el intervalo [-1,1]).



Estructura

Biológicamente, un cerebro aprende mediante la reorganización de las conexiones sinápticas entre las neuronas que lo componen. De la misma manera, las RNA tienen un gran número de procesadoresvirtuales interconectados que de forma simplificada simulan la funcionalidad de las neuronas biológicas. En esta simulación, la reorganización de las conexiones sinápticas biológicas se modela mediante un mecanismo de pesos, que son ajustados durante la fase de aprendizaje. En una RNA entrenada, el conjunto de los pesos determina el conocimiento de esa RNA y tiene la propiedad de resolver el problema para el que la RNA ha sido entrenada.
Por otra parte, en una RNA, además de los pesos y las conexiones, cada neurona tiene asociada una función matemática denominada función de transferencia. Dicha función genera la señal de salida de la neurona a partir de las señales de entrada. La entrada de la función es la suma de todas las señales de entrada por el peso asociado a la conexión de entrada de la señal. Algunos ejemplos de entradas son la función escalón de Heaviside, la lineal o mixta, la sigmoide y la función gaussiana, recordando que la función de transferencia es la relación entre la señal de salida y la entrada.


Diseño y programación de una RNA

En contraposición, la aproximación basada en las RNA parte de un conjunto de datos de entrada suficientemente significativo y el objetivo es conseguir que la red aprenda automáticamente las propiedades deseadas. En este sentido, el diseño de la red tiene menos que ver con cuestiones como los flujos de datos y la detección de condiciones, y más que ver con cuestiones tales como la selección del modelo de red, la de las variables a incorporar y el preprocesamiento de la información que formará el conjunto de entrenamiento. Asimismo, el proceso por el que los parámetros de la red se adecuan a la resolución de cada problema no se denomina genéricamente programación sino que se suele denominar entrenamiento neuronal.