viernes, 19 de mayo de 2017

REDES NEURONALES ARTIFICIALES

Ejercicio de aplicación de una red neuronal en AND.


EJEMPLOS DE APLICACIÓN DE LAS REDES NEURONALES


  • NetTalk, Conversión texto a voz

Uno de los principales romotores en esta área es Terrence Sejnowski, estas conversaciones consiste en cambiar los gráficos del texto a un lenguaje hablado, este sistema convierte texto en fonemas y con un sintetizador de voz se genera está a partir del texto escrito.
Las ventajas refiriéndose al uso de la red neuronal es el hecho de que sería más fácil que programar una gran cantidad de reglas lingüísticas, cosa que no tendría que realizarse con la red neuronal ya que esta aprende, también se posibilita el hecho de investigar y ser usado de forma comercial.

  • Puntuación para la solicitud de un crédito
Esta tarea representa un gran riesgo en instituciones crediticias, ya que estas selecciones se hacen por criterios propios o utilizando un sistema de puntuación numérico, estos mecanismos tienen varios aspectos negativos, empezando por el hecho de que se hace de forma subjetiva.
Para utilizar una red neuronal que solucionara esos problemas primero se empezó con la recolección de datos, para así poder enseñarle a la red neuronal, con este fin se recaudó información en instituciones crediticias y se codificaron, luego de esto se realizaron varios entrenamientos y validaciones en la red hasta lograr resultados acertados.
  •  Deep dream
Deep dream es un proyecto de google, el cual es un algoritmo de procesamiento de imágenes, el cual enseña a las computadoras sobre la forma en la que se ve el mundo, el algoritmo está formado por una red neuronal artificial, la cual identifica la imagen y la clasifica, fue entrenada mostrándole millones de imágenes, hasta que aprendiera a identificarlas con tan solo observarlas.
La red solo identificara imágenes que se muestran tal como son, es muy difícil para ella rescatar la esencia o la base de algunas figuras, haciendo así que ella solo pueda detectar cosas específicas, por lo cual la red terminara dando una interpretación de lo que cree haber visto.  
  • Chef Watson IBM
Se trata de un programa encargado de dar las mejores recetas según los ingredientes que se le agreguen, para realizar esto hace uso de las redes neuronales artificiales, lo que hace es extraer información de varios lugares y relacionarla entre sí, y al final lograr lo mejores sabores según las sustancias y componentes de cada alimento.




AGENTE INTELIGENTE 

Un agente inteligente es una entidad poseedora de una gran cantidad de capacidades, una de ellas es la de percibir su entorno, procesar y actuar de acuerdo al estímulo, en el entorno, de manera racional.
Los agentes poseen sensores, lo cuales ayudan a identificar los factores externos, pasando la información a los actuadores, que son los encargados de actuar en el medio. Cuentan con la capacidad de tomar elecciones correctas, actuando según su racionalidad, este puede ser capaz de tener conciencia, tanto de los acontecimientos ocurridos, como de su entorno, para después poder actuar, estas acciones pueden ser reactivas, como por ejemplo, si una puerta está abierta, un agente puede reaccionar cerrándola, porque esta sería su reacción, teniendo en cuenta su racionalidad, tomando decisiones que persigan un fin.

También se puede definir un agente inteligente como una entidad, específicamente un software, que basando en su conocimiento  y racionalidad es capaz de realizar diferentes acciones u operaciones, para así satisfacer un usuario, o algunas condiciones dadas. Se consideran entidades individuales, ya que tienen control sobre sus propios movimientos y realizando tareas de forma autónoma, estas tareas son asignadas por algún usuario y luego el agente da informes de resultados sobre la tarea que se le fue asignada.

Las tres características principales de un agentes inteligente, es la inteligencia, la interactividad y la autonomía.

Algunas aplicaciones que tienen los agentes inteligentes, son en la vigilancia, en la recolección de información de una empresa, la NASA hace uso de estos, y demás ejemplos.

Los agentes inteligentes se pueden clasificar en 6 categorías diferentes:

  • Agentes reactivos
  •  Agentes reactivos basados en modelo 
  • Agentes basados en objetivos
  •  Agentes basados en utilidad 
  • Agentes que aprenden
  •  Agentes de consultas

miércoles, 3 de mayo de 2017

EXPECTIMINIMAX

Es una variación del algoritmo minimax, el cual tiene un gran uso en la teoría de juegos en inteligencia artificial, especialmente a aquellos que son de suma cero y son búsqueda con adversario, pero en estos especialmente son aquellos que el resultado depende de la combinación de la habilidad del jugador y del azar, como por ejemplo los dados.

En expectiminimax además de los nodos Min y Max de minimax, también se le agrega una variante, que son los nodos casuales o aquellos que deben moverse por naturaleza, sin ningún tipo de intervención del jugador. Estos nodos se alternan con los nodos Max y Min, y estos en vez de tomar el valor máximo o mínimo lo que hacer es tomar un promedio, haciendo uso de la probabilidad de que ese nodo sea alcanzado.


Esta alternación se entrelaza, pero esto depende netamente del juego, en el cual primero se evalúa el nodo con el Max, seguido de un nodo change, después se evaluar el nodo con el Min del oponente, y vuelve a jugar el nodo change.

EJEMPLO

El backgammon es un juego que utiliza el expectiminimax para su realización; este juego tiene 2 jugadores, al tirar los dados se decide qué número de casillas puede mover cada uno de los jugadores, por lo tanto el número obtenido en el lanzamiento es representado en el árbol como el nodo change, al realizar el lanzamiento de los dados, pueden ser muchas las opciones que se pueden desprender, y ahí es donde se hace uso del máximo y mínimo, dependiendo del turno de cada jugador.

En la siguiente imagen se puede ver que el jugador blanco lanzo los dados y obtuvo 6 y 5 u 11, estos valores estarían comprendidos en el nodo change y dependiendo de si es máximo o mínimo se decidirá cuál de las opciones se tomara.


Aquí se muestra la forma en la que se representa la búsqueda en el árbol, generándolo cada vez que se realiza una jugada y cuando el movimiento sea realzado, este se borra y con el siguiente turno se vuelve a generar otro árbol, teniendo en cuenta los nodos change, que como en el ejemplo anterior, se generan con el lanzamiento de los dados, pero esto puede variar en cada juego.


COMPLEJIDAD
El costo de la búsqueda incrementa del de minimax, ya que en este se deben agregar los movimientos al azar, por esto la complejidad varia en el orden de:
Donde n es el número de resultados al azar. 

SEUDOCODIGO