Introducción a Soft Computing

Slides:



Advertisements
Presentaciones similares
Inteligencia artificial y sus aplicaciones
Advertisements

INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
Comunicacion por medio de Sistemas Expertos en las Redes
Introducción a las Redes neuronales
Historia de la Inteligencia Artificial
Introducción a la minería de datos
DATA MINING MINERIA DE DATOS Gersom Costas.
INTELIGENCIA ARTIFICIAL
Administración de Desastre
Definición de IA Ana Lila Laureano-Cruces Universidad Autónoma Metropolitana - Azacapotzalco.
Inteligencia Artificial
Iván ventura presenta.
Computacion Inteligente
PROYECTO DE GRADO CARLOS STALIN ALVARADO SANCHEZ
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Referente conceptual El pensamiento matemático es un concepto de carácter cognitivo, que hace alusión al conjunto de representaciones mentales, o redes.
Definición Machine learning traducido al español significa el aprendizaje automático o también aprendizaje de las maquinas. A partir de esto podemos darle.
profesor: Luigi Ceccaroni
Taller: Inteligencia Computacional
Representación del Conocimiento Sesion 2. Contenido Representación del Conocimiento. Parte de una representación. Manipulación del Conocimiento. Referencias.
Inteligencia Artificial (BAIA)  Se propone lograr que las computadoras se comporten de manera que podamos reconocerlas como inteligentes.  Tiene por.
REDES NEURONALES ARTIFICIALES
Inteligencia artificial
PROGRAMACIÓN LÓGICA.
Sistemas Evolutivos Introduccion.
INTELIGENCIA DE NEGOCIOS
Representación del Conocimiento
Sesión 2: Métodos Probabilísticos Básicos
Computacion Inteligente
Introducción Calculabilidad clásica Computación celular
Fundamentos e Historia de la Inteligencia Artificial Introducción: Capítulo 1.
INTELIGENCIA ARTIFICIAL
Tema 6 Razonamiento aproximado
Integrantes: Daniel Peña Alfredo Zuñiga
Aplicaciones de Técnicas de IA Ana Lilia Laureano-Cruces UAM-A.
INTELIGENCIA ARTIFICIAL
SISTEMAS ADAPTATIVOS Y FILTRADO
Aprendizaje (Machine Learning)  Pregunta interesante: Podemos hacer que las computadoras aprendan?  Aprender: mejorar automáticamente con la experiencia.
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 13 L. Enrique Sucar / Marco López Sesión 13 L. Enrique Sucar / Marco López.
Practica 4 supercomputadoras.
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca.
Aprendizaje en Árboles de Decisión
Una introducción a la computación evolutiva
Curso de Lógica Difusa Prof. José Edinson Aedo Cobo, Msc. Dr. Ing.
Algoritmos Genéticos en Aprendizaje Clase 3 de Computación Evolutiva.
Inteligencia Artificial
Inteligencia Artificial y Robótica
8.- Inteligencia artificial
INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
NUEVAS TECNOLOGIAS.
ELBER ENRIQUE SALAMANCA Lic. En Informática Educativa. Tema a Tratar. INTELIGENCIA ARTIFICIAL ¿Alguna vez pensarán las máquinas? La Inteligencia Artificial.
Sistemas Expertos Integrantes Javier Farfán Katherine Jara Héctor Gatica.
Introducción a los Sistemas Inteligentes
ALGORITMOS GENETICOS.
SISTEMA BASADO EN CONOCIMIENTO
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Taller: Inteligencia Computacional
Aplicaciones de la IA Aplicaciones de la Inteligencia Artificial Perspectivas 2003.
INTELIGENCIA ARTIFICIAL
Ramas de I.A. ROBOTICA SISTEMAS DE VISION SISTEMAS EXPERTOS
Heurística. Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de abstacción dado, como procesos computacionales de algún.
SISTEMAS INTELIGENTES ¿De qué estamos hablando? Carlos Lameda Enero, 2006.
Pablo Arturo Pérez Giraldo Melissa torres 11-C Tecnología e informática.
Introducción a la Inteligencia Artificial
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
NOMBRE: Paula Andrea Bedoya Rojas. GRADO: 7.3. Institución Educativa Debora Arango P.
NOMBRE: TATIANA APELLIDO: TANGARIFE POSADA GRADO: 7°3 Inteligencia artificial.
Conclusiones: En este trabajo se ha demostrado que se pueden aplicar los algoritmos OCH al ajuste de los parámetros de un modelo borroso mediante la discretización.
Transcripción de la presentación:

Introducción a Soft Computing Tomás Arredondo Vidal 4/05/09

Introducción a Soft Computing Contenidos Introducción a los sistemas inteligentes Sistemas basados en conocimientos o KBS (Knowledge Based Systems) Introducción a soft computing

Introducción a los sistemas inteligentes Dado que una simple definición de inteligencia no esta disponible… Los sistemas inteligentes generalmente tienen la capacidad de adquirir información, aplicar y utilizar conocimientos en la manera que demuestra capacidades inteligentes para generar su output (idea de M. Minsky) Algunas capacidades inteligentes incluyen por ejemplo: aprender de sus experiencias previas, utilización de memoria, inferir y razonar en situaciones inesperadas o nuevas basándose en información incompleta Reconocimiento de patrones y clasificación son parte importante del procesamiento inteligente de la información

Introducción a los sistemas inteligentes Ejemplos de tareas típicas: Diagnosis medico Aplicaciones de tarjetas de crédito o transacciones / detectar fraude en e-commerce Detectar spam, viruses y troyanos en email Personalizar noticias o sistemas web o educación Recomendar inversiones financieras Reconocer palabras habladas Discriminar huellas digitales Catalogar imágenes astronómicas Resolver problemas de calculo Jugar damas, ajedrez Péndulo invertido Manejar un vehículo Volar un avión o un cohete Controlar un ascensor o un sistema de frenos u otro sistema Controlar un agente inteligente en un juego o una aplicación Controlar un robot

Introducción a los sistemas inteligentes Reconocimientos de palabras habladas SPHINX (Lee 1989) Aprender a manejar un vehículo autónomo ALVINN (Pomerleau 1989) Aprender a clasificar objetos celestiales (Fayyad et al 1995) Aprender a jugar backgammon a nivel internacional TD-GAMMON (Tesauro 1992) Diseno automatizado de ”organismos” electro-mechanicos GOLEM (Lipton, Pollock 2000) Ver otras en: http://en.wikipedia.org/wiki/Artificial_intelligence

Maneja automáticamente a 70 mph en una carretera pública ALVINN Maneja automáticamente a 70 mph en una carretera pública Imagen de cámara 30 outputs para manejar 4 unidades escondidas 30x32 pixels de input

GOLEM: Artificial Life GOLEM Project (Nature: Lipson, Pollack 2000) http://demo.cs.brandeis.edu/golem Se evolucionan maquinas electromechanicas simples desde bloques básicos (barras, actuadores, neuronas artificiales) en una simulación del mundo real (con gravedad, fricción etc) Los mejores individuos son fabricados usando prototipos rápidos

GOLEM: Evolvable Robot

Evolved creatures: Sims (1994) http://genarts.com/karl/evolved-virtual-creatures.html Creación evolutiva de criaturas que pueden nadar, saltar, seguir, competir etc

Introducción a los sistemas inteligentes Un sistema o maquina inteligente puede tener un significado mas amplio que una computadora inteligente Sensores, actuadores y controladores son componentes integrales de este tipo de proceso y trabajan cooperativamente en lograr que tenga “inteligencia” La percepción sensorial con entendimiento es muy importante para el comportamiento inteligente Los humanos usamos visión, olfato, escuchar, tocar y sentir para facilitar nuestro comportamiento inteligente También se necesita una mente o “machine intelligence” Asimo Mars rover: Spirit

Introducción a los sistemas inteligentes Modelo de Máquina inteligente

Introducción a los sistemas inteligentes Actualmente existen Muchos algoritmos efectivos y eficientes disponible Gran cantidad de datos y recursos computacionales disponible en línea Disciplinas relacionadas Inteligencia artificial Minería de datos Probabilidad y estadística Teoría de la información Optimización numérica Teoría de complejidad computacional Teoría de control adaptativo Psicología (cognitiva y de desarrollo) Neurobiología Lingüística Filosofía

Clasificación Dado: Determinar: Una descripción de una instancia (datos), xX, en el cual X es el lenguaje de instancia o espacio de instancia. Un conjunto fijo de categorías: C={c1, c2,…cn} Determinar: La categoría de x: c(x)C, en el cual c(x) es una funcion de categorizacion en el cual el dominio es X y el rango es C. Si c(x) es una función binaria C = {0,1} ({true,false}, {positive, negative}) entonces se llama un concepto.

Aprender para la Clasificación Un ejemplo de entrenamiento es una instancia xX, apareada con su categoría correcta c(x): <x, c(x)> para una función de categorización, c. Dado un conjunto de ejemplos de entrenamiento, D. Encontrar una función de categorización (hipótesis), h(x), la cual: Consistencia

Aprender para la Clasificación Espacio de instancia: <size, color, shape> size  {small, medium, large} color  {red, blue, green} shape  {square, circle, triangle} C = {positive, negative} D: Example Size Color Shape Category 1 small red circle positive 2 large 3 triangle negative 4 blue

Selección de Hipótesis Muchas hipótesis pueden ser consistentes con los datos de entrenamiento. red & circle (small & circle) or (large & red) (small & red & circle) or (large & red & circle) not [ ( red & triangle) or (blue & circle) ] not [ ( small & red & triangle) or (large & blue & circle) ] Bias Cualquier criterio aparte de la consistencia con los datos de entrenamiento que se usan para seleccionar una hipótesis.

Generalización Las hipótesis deben correctamente generalizar para correctamente clasificar instancias no en los datos de entrenamiento. Simplemente memorizando datos de entrenamiento es una hipótesis consistente que no generaliza. Occam’s razor: Encontrar una hipótesis lo mas simple posible ayuda a garantizar la generalización.

Espacio de las Hipótesis Se puede restringir las funciones aprendidas a un espacio de hipótesis, H, de las funciones h(x) que pueden ser consideradas como definiciones de c(x). Para aprender conceptos en instancias descritas por n características de valores discretos, considere el espacio de hipótesis conjuntivas representados por un vector de n restricciones <c1, c2, … cn> en el cual cada ci es uno de: ?, cualquier valor (wild card) indicando que no hay restricción Un valor especifico del dominio de la característica numero i Ø indicando que no hay valor aceptable Algunas hipótesis conjuntivas son: <big, red, ?> <?, ?, ?> (hipótesis más general) < Ø, Ø, Ø> (hipótesis más específica)

Introducción a Soft Computing Contenidos Introducción a los sistemas inteligentes Sistemas basados en conocimientos (Knowledge-based systems) Introducción a soft computing

Sistemas basados en conocimientos Sistemas basados en conocimientos (Knowledge based systems o KBS) han sido ampliamente usados en sistemas expertos (Expert Systems) de la Inteligencia Artificial (AI) para emular la estrategia de razonamiento de uno o mas expertos humanos Un KBS se puede definir como un programa que resuelve problemas dentro de un contexto limitado usando datos del problema, conocimientos relacionados y capacidades “inteligentes” de toma de decisiones Esto es diferente de técnicas de programación tradicional que pueden resolver problemas al ejecutar un conjunto prescrito de pasos de acuerdo a un algoritmo que da soluciones fijas (o duras) a problemas fijos (o duros)

Sistemas basados en conocimientos Componentes de un sistema experto

Sistemas basados en conocimientos Un KBS puede ser desarrollado y organizado de acuerdo a una o una combinación de arquitecturas de bases de conocimiento. Algunas de ellas son: Sistemas de producción (reglas) Sistemas de marcos (frames) Sistemas de pizarra (blackboard) Árboles de decisión (decision trees)

Sistemas basados en conocimientos Ejemplo: Considere un sistema de producción para seleccionar una técnica de control, dada por las siguientes reglas: R1: If plant is linear and uncoupled then use Control Category A. R2: If the plant is linear and coupled then use Control Category B. R3: If the plant is nonlinear use Control Category C. R4: If Category A and a plant model is known then use Subgroup 1. R5: If Category B and a plant model is known then use Subgroup 2. R6: If Subgroup 1 and high model uncertainty then use H-control. R7:If Subgroup 1 and low model uncertainty then use LQG-control ...etc… Asumiendo que se recibe el siguiente contexto (inputs y datos actuales) : I1: Linear, uncoupled; model available, model uncertainty high Que regla se dispara usando la estrategia de forward chaining?: En este case los dos primeros ítems en el contexto van a disparar R1. Estos resultados van a generar un nuevo ítem en el contexto. Este nuevo item en conjunto con el tercer ítem en el contexto antiguo dispara R4. R4 y el ultimo input va a disparar R6 que causa la selección de H-control.

Sistemas basados en conocimientos Representación de una celda de manufactura usando frames

Sistemas basados en conocimientos Una arquitectura de blackboard (pizarra) es una estructura cooperativa para resolver problemas La característica principal de estos sistemas es un área común de datos (blackboard) que es compartida y visible por el sistema completo Un sistema de tipo pizarra tiene la flexibilidad de acomodar diferentes fuentes de conocimiento (knowledge sources) Los knowledge sources cooperan como pares para la toma de decisiones Una unidad de control (scheduler) supervisa el acceso a la pizarra (e.g. cuando se actualiza un dato en la pizarra activa la fuente de conocimiento correspondiente)

Sistemas basados en conocimientos Los árboles de decisión son otra base de conocimientos para poder tomar decisiones La toma de decisiones requiere aproximar funciones objetivos de valores discretos Los árboles de decisión también pueden ser representados como conjunto de reglas (if…then) para lectura mas facil Los árboles de decisión clasifican instancias ordenando desde la raíz hacia una de las hojas, cada nodo en el árbol especifica una prueba de un atributo de la instancia y cada rama es uno de los posibles valores del atributo Una instancia se clasifica al comenzar desde la raíz del árbol y avanzar nodo a nodo probando los atributos hasta llegar a una hoja terminal En general estos árboles representan una disyunción de conjunciones de constricciones en los valores de atributos de las instancia Existen varios algoritmos para generar un árbol de decisión entre los que están ID3, su sucesor C4.5 y otros

Árbol de Decisión para Jugar Tenis Outlook Sunny Overcast Rain Humidity Yes Wind High Normal Strong Weak No Yes No Yes

Introducción a Soft Computing Contenidos Introducción a los sistemas inteligentes Sistemas basados en conocimientos (Knowledge-based systems) Introducción a soft computing

From Wikipedia, the free encyclopedia: Soft computing refers to a collection of computational techniques in computer science, machine learning and some engineering disciplines, which study, model, and analyze very complex phenomena: those for which more conventional methods have not yielded low cost, analytic, and complete solutions. Hard computing is bound by a Computer Science concept called NP-Complete, which means, in layman's terms, that there is a direct connection between the size of a problem and the amount of resources needed to solve the problem (there are problems so large that it would take the lifetime of the Universe to solve them, even at super computing speeds). Soft computing aims to surmount NP-complete problems by using inexact methods to give useful but inexact answers to intractable problems.

Introducción a Soft Computing Soft computing es un área importante de estudios en lo concierne a los sistemas inteligentes y los KBS Ha efectivamente complementado la Inteligencia Artificial convencional (AI) en variadas aplicaciones Los métodos y algoritmos computacionales de soft computing están basados principalmente en conceptos biológicos como: la lógica inexacta (lógica difusa), los sistemas neuronales (redes neuronales), la computación evolutiva (algoritmos genéticos, programación genética)

Introducción a la Lógica Difusa La lógica difusa es una extensión de la lógica tradicional (Booleana) que utiliza conceptos de pertenencia de sets mas parecidos a la manera de pensar humana El concepto de un subset difuso fue introducido por L.A. Zadeh en 1965 como una generalización de un subset exacto (crisp subset) tradicional Los subsets exactos usan lógica Booleana con valores exactos como por ejemplo la lógica binaria que usa valores de 1 o 0 para sus operaciones. Lotfi Zadeh

Introducción a la Lógica Difusa Un set exacto (crisp set) : función característica 1 μs(x) x N μS : X -> {0,1} μS(x) = 1 si x es un miembro de S μS(x) = 0 si x no es un miembro de S

Introducción a la Lógica Difusa Función de pertenencia de x al set difuso F: μF(x) Ej: μF(x) corresponde al grado de pertenecia de x a F (nivel de frío medido en la variable x) frío mas o menos frío 1 No tan frío μF(x) Definitivamente no frío -40 -20 0 10 20 30 x (Co)

Introducción a la Lógica Difusa Reglas IF-THEN difusas: Una regla IF-THEN difusa es de la forma IF x is A THEN y is B En la cual A y B son variables lingüísticas definidas por sets difusos en los universos X e Y. La parte IF x is A es llamada el antecedente o premisa, mientras la parte THEN y is B es llamada la consecuencia o conclusión.

Introducción a la Lógica Difusa Ejemplo de lógica difusa en la robótica: HEXAPOD En el robot hexapodo MKIII se utilizaron reglas fuzzy para interpretar valores de sus sensores y actuar para evitar obstáculos [7] En el caso de un hexapodo este siempre tiene estabilidad dado que siempre mantiene tres pies en el suelo en una configuración estable

Introducción a la Lógica Difusa Ejemplo en la robótica: HEXAPOD (cont) Se uso un sistema de reglas de inferencia fuzzy para evitar obstáculos Variables lingüísticas (y funciones de membresía) usadas fueron: A es el set fuzzy, x es el input o output, α es el centro y σ el ancho: FIS:

Introducción a la Lógica Difusa Ejemplo en la robótica: HEXAPOD (cont) Reglas fuzzy:

Introducción a la Lógica Difusa Ejemplo en la robótica: HEXAPOD (cont) Resultados fueron que el robot lograra navegar sin chocar incluyendo obstáculos dinámicos Pequeños ajustes a las reglas fueron necesarios para evitar que se entrampara en mínimas locales con algunas combinaciones de inputs. Se uso fuzzificacion con singletons y defuzzificacion con promedios de centro (center average defuzzification) y’i es el centro de la función Bm (para la regla m), μAm(xi) es el grado de membresia de xi a la regla Am y M =27 es el numero de reglas.

Introducción a la Lógica Difusa Ejemplo en la robótica: HEXAPOD (cont) Rutas:

Introducción a las Redes Neuronales ¿Que son las redes neuronales artificiales (ANNs)? Las ANNs son un paradigma para hacer cómputo y para la detección de patrones basado en la interconexión paralela de unidades denominadas neuronas La neurona artificial es un modelo basado en los complejos sistemas nerviosos de los animales y seres humanos con su gran cantidad de interconexiones y paralelismo

Introducción a las Redes Neuronales Este ejemplo de un multilayer neural network es capaz de resolver el problema del XOR Los valores sobre las líneas indican pesos y los en los círculos indican umbrales (thresholds) La función no lineal es un step function con valores de 1 si el umbral el excedido y de 0 si el umbral no es excedido

Introducción a las Redes Neuronales Aprendizaje de las ANNs El aprendizaje de las ANNs puede utilizar un entrenador (teacher) o puede depender de la capacidad de auto- organizarse (e.g SOM) y generalizar basado en conjuntos limitados de información

Introducción a los Algoritmos Genéticos ¿Que es un algoritmo genético (GA)? Los algoritmos genéticos (GA) son algoritmos de búsqueda y optimización basados en los mecanismos de selección natural y genética. Los GA usan los siguientes mecanismos: la sobrevivencia de los organismos con mejor capacidad dentro de una población uso de secuencias de caracteres (generalmente 1s y 0s) en strings como representación del ADN de estos organismos (codificación) el uso de métodos aleatorios (random) para la generación de la población y para su reproducción

Introducción a los Algoritmos Genéticos

Introducción a los Algoritmos Geneticos Los GA utilizan lo siguiente: Esquema de codificación de la información de los miembros en strings (ADN de 1s y 0s) Evaluación de capacidad (fitness) de cada miembro Selección aleatoria de los miembros que se van a reproducir Cruce (crossover) de la información de los miembros de la población Mutación de la información de los miembros de la población

Introducción a los sistemas inteligentes Ejemplos de tareas típicas: Diagnosis medico Aplicaciones de tarjetas de crédito o transacciones / detectar fraude en e-commerce Detectar spam, viruses y troyanos en email Personalizar noticias o sistemas web o educación Recomendar inversiones financieras Reconocer palabras habladas Discriminar huellas digitales Catalogar imágenes astronómicas Resolver problemas de calculo Jugar damas, ajedrez Péndulo invertido Manejar un vehículo Volar un avión o un cohete Controlar un ascensor o un sistema de frenos u otro sistema Controlar un agente inteligente en un juego o una aplicación Controlar un robot

Introducción a Soft Computing Referencias: [1] Yager, R., Filev, D., Essentials of Fuzzy Modeling and Control, Wiley Interscience, NY, 1994 [2] Kartalopoulos, S., Understanding Neural Networks and Fuzzy Logic, IEEE PRESS, NY, 1994 [3] www.seattlerobotics.org [4] Mitchel, T., Machine Learning , McGraw Hill, 1997 [5] Karray, F., De Silva, C., Soft Computing and Intelligent Systems Design, Addison Wesley, 2004 [6] Jang, J., Sun, C., Mizutani, E., Neuro-Fuzzy and Soft Computing, Prentice Hall, 1997 [7] Kern, M., Woo, P., Implementation of a hexapod mobile robot with a fuzzy controller, Robotica, v23, p. 681-688, 2005. [8] Arredondo, T., Freund,W., Muñoz, C., Navarro, N., and Quirós, F.: "Fuzzy Motivations for Evolutionary Behavior Learning by a Mobile Robot". LNAI, Vol. 4031. Springer, Berlin (2006) p. 462-471