Issuu on Google+

INTEGRANTES: ARIAS GUSTAVO RODRÍGUEZ JUAN VERDE IRIANA LEAL BARBARÁ FONSECA SERELYS MORALES THAYDE

Sistema experto Los sistemas expertos son llamados así porque emulan el comportamiento de un experto en un dominio concreto y en ocasiones son usados por éstos. Con los sistemas expertos se busca una mejor calidad y rapidez en las respuestas dando así lugar a una mejora de la productividad del experto.

Es una aplicación informática capaz de solucionar un conjunto de problemas que exigen un gran conocimiento sobre un determinado tema. Un sistema experto es un conjunto de programas que, sobre una base de conocimientos, posee información de uno o más expertos en un área específica. Se puede entender como una rama de la inteligencia artificial, donde el poder de resolución de un problema en un programa de computadora viene del conocimiento de un dominio específico. Tipos de SE Principalmente existen tres tipos de sistemas expertos: Basados en reglas previamente establecidas. Basados en casos o CBR (Case Based Reasoning). Basados en redes bayesianas. En cada uno de ellos, la solución a un problema planteado se obtiene: Aplicando reglas heurísticas apoyadas generalmente en lógica difusa para su evaluación y aplicación. Aplicando el razonamiento basado en casos, donde la solución a un problema similar planteado con anterioridad se adapta al nuevo problema. Aplicando redes bayesianas, basadas en estadística y el teorema de Bayes.


Tareas que realiza un Sistema Experto Monitorización Diseño Planificación Control Simulación Recuperación de información Enlaces

La lógica difusa En Inteligencia artificial, la lógica difusa, o lógica borrosa se utiliza para la resolución de una variedad de problemas, principalmente los relacionados con control de procesos industriales complejos y sistemas de decisión en general, la resolución la compresión de datos. Los sistemas basados en lógica difusa imitan la forma en que toman decisiones los humanos, con la ventaja de ser mucho más rápidos. Estos sistemas son generalmente robustos y tolerantes a imprecisiones y ruidos en los datos de entrada. Algunos lenguajes de programación lógica que han incorporado la lógica difusa serían por ejemplo las diversas implementaciones de Fuzzy PROLOG o el lenguaje Fril. Consiste en la aplicación de la lógica difusa con la intención de imitar el razonamiento humano en la programación de computadoras. Con la lógica convencional, las computadoras pueden manipular valores estrictamente duales, como verdadero/falso, sí/no o ligado/desligado. En la lógica difusa, se usan modelos matemáticos para representar nociones subjetivas, como caliente/tibio/frío, para valores concretos que puedan ser manipuladas por los ordenadores. En este paradigma, también tiene un especial valor la variable del tiempo, ya que los sistemas de control pueden necesitar retroalimentarse en un espacio concreto de tiempo, pueden necesitarse datos anteriores para hacer una evaluación media de la situación en un período anterior...


Funcionamiento La lógica difusa se adapta mejor al mundo real en el que vivimos, e incluso puede comprender y funcionar con nuestras expresiones, del tipo "hace mucho calor", "no es muy alto", "el ritmo del corazón está un poco acelerado", etc. La clave de esta adaptación al lenguaje, se basa en comprender los cuantificadores de nuestro lenguaje (en los ejemplos de arriba "mucho", "muy" y "un poco"). En la teoría de conjuntos difusos se definen también las operaciones de unión, intersección, diferencia, negación o complemento, y otras operaciones sobre conjuntos (ver también subconjunto difuso), en los que se basa esta lógica. Aplicaciones generales La lógica difusa se utiliza cuando la complejidad del proceso en cuestión es muy alta y no existen modelos matemáticos precisos, para procesos altamente no lineales y cuando se envuelven definiciones y conocimiento no estrictamente definido (impreciso o subjetivo). Ventajas e inconvenientes Como principal ventaja, cabe destacar los excelentes resultados que brinda un sistema de control basado en lógica difusa: ofrece salidas de una forma veloz y precisa, disminuyendo así las transiciones de estados fundamentales en el entorno físico que controle. Por ejemplo, si el aire acondicionado se encendiese al llegar a la temperatura de 30º, y la temperatura actual oscilase entre los 29º-30º, nuestro sistema de aire acondicionado estaría encendiéndose y apagándose continuamente, con el gasto energético que ello conllevaría. Si estuviese regulado por lógica difusa, esos 30º no serían ningún umbral, y el sistema de control aprendería a mantener una temperatura estable sin continuos apagados y encendidos. También está la indecisión de decantarse bien por los expertos o bien por la tecnología (principalmente mediante redes neuronales) para reforzar las reglas heurísticas iniciales de cualquier sistema de control basado en este tipo de lógica.


La minería de datos La minería de datos (DM, Data Mining) consiste en la extracción no trivial de información que reside de manera implícita en los datos. Dicha información era previamente desconocida y podrá resultar útil para algún proceso. En otras palabras, la minería de datos prepara, sondea y explora los datos para sacar la información oculta en ellos. Bajo el nombre de minería de datos se engloba todo un conjunto de técnicas encaminadas a la extracción de conocimiento procesable, implícito en las bases de datos. Está fuertemente ligado con la supervisión de procesos industriales ya que resulta muy útil para aprovechar los datos almacenados en las bases de datos. Las bases de la minería de datos se encuentran en la inteligencia artificial y en el análisis estadístico. Mediante los modelos extraídos utilizando técnicas de minería de datos se aborda la solución a problemas de predicción, clasificación y segmentación. Un proceso típico de minería de datos consta de los siguientes pasos generales: Selección del conjunto de datos, tanto en lo que se refiere a las variables objetivo (aquellas que se quiere predecir, calcular o inferir), como a las variables independientes (las que sirven para hacer el cálculo o proceso), como posiblemente al muestreo de los registros disponibles. Análisis de las propiedades de los datos, en especial los histogramas, diagramas de dispersión, presencia de valores atípicos y ausencia de datos (valores nulos). Transformación del conjunto de datos de entrada, se realizará de diversas formas en función del análisis previo, con el objetivo de prepararlo para aplicar la técnica de minería de datos que mejor se adapte a los datos y al problema, a este paso también se le conoce como preprocesamiento de los datos. Seleccionar y aplicar la técnica de minería de datos, se construye el modelo predictivo, de clasificación o segmentación.


Técnicas de minería de datos Como ya se ha comentado, las técnicas de la minería de datos provienen de la Inteligencia artificial y de la estadística, dichas técnicas, no son más que algoritmos, más o menos sofisticados que se aplican sobre un conjunto de datos para obtener unos resultados. Las técnicas más representativas son: Redes neuronales.- 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 en una red que colabora para producir un estímulo de salida. Algunos ejemplos de red neuronal son: El Perceptrón. El Perceptrón multicapa. Los Mapas Autoorganizados, también conocidos como redes de Kohonen. Regresión lineal.- Es la más utilizada para formar relaciones entre datos. Rápida y eficaz pero insuficiente en espacios multidimensionales donde puedan relacionarse más de 2 variables. Árboles de decisión.- Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial, dada una base de datos se construyen estos diagramas de construcciones lógicas, muy similares a los sistemas de predicción basados en reglas, que sirven para representar y categorizar una serie de condiciones que suceden de forma sucesiva, para la resolución de un problema. Ejemplos: Algoritmo ID3. Algoritmo C4.5. Modelos estadísticos.- Es una expresión simbólica en forma de igualdad o ecuación que se emplea en todos los diseños experimentales y en la regresión para indicar los diferentes factores que modifican la variable de respuesta. Agrupamiento o Clustering.- Es un procedimiento de agrupación de una serie de vectores según criterios habitualmente de distancia; se tratará de disponer los vectores de entrada de forma que estén más cercanos aquellos que tengan características comunes. Ejemplos: Algoritmo K-means. Algoritmo K-medoids. Según el objetivo del análisis de los datos, los algoritmos utilizados se clasifican en supervisados y no supervisados (Weiss y Indurkhya, 1998)


Minería de datos basada en teoría de la información Todas las herramientas tradicionales de minería de datos asumen que los datos que usarán para construir los modelos contienen la información necesaria para lograr el propósito buscado: obtener suficiente conocimiento que pueda ser aplicado al negocio (o problema) para obtener un beneficio (o solución). El inconveniente es que esto no es necesariamente cierto. Además, existe otro problema mayor aún. Una vez construido el modelo no es posible conocer si el mismo ha capturado toda la información disponible en los datos. Por esta razón la práctica común es realizar varios modelos con distintos parámetros para ver si alguno logra mejores resultados. Tendencias La Minería de Datos ha sufrido transformaciones en los últimos años de acuerdo con cambios tecnológicos, de estrategias de marketing, la extensión de los modelos de compra en línea, etc. Los más importantes de ellos son: La importancia que han cobrado los datos no estructurados (texto, páginas de Internet, etc.).

Algoritmo genético Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. En los años 1970, de la mano de John Henry Holland, surgió una de las líneas más prometedoras de la inteligencia artificial, la de los algoritmos genéticos. Son llamados así porque se inspiran en la evolución biológica y su base genéticomolecular. Estos algoritmos hacen evolucionar una población de individuos sometiéndola a acciones aleatorias semejantes a las que actúan en la evolución biológica (mutaciones y recombinaciones genéticas), así como también a una Selección de acuerdo con algún criterio, en función del cual se decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que son descartados. También es denominado algoritmos evolutivos, e incluye las estrategias evolutivas, la programación evolutiva y la programación genética. Dentro de esta última se han logrado avances curiosos: En 1999, por primera vez en la historia, se concedió una patente a un invento no realizado directamente por un ser humano: se trata de una antena de forma extraña, pero que funciona perfectamente en las condiciones a las que estaba destinada. No hay, sin embargo, nada injusto en el hecho de que el autor del algoritmo genético del que salió la forma de la antena se haya atribuido la autoría de la patente, pues él escribió el programa e ideó el criterio de selección que condujo al diseño patentado.


Funcionamiento Los algoritmos genéticos establecen una analogía entre el conjunto de soluciones de un problema, llamado fenotipo, y el conjunto de individuos de una población natural, codificando la información de cada solución en una cadena, generalmente binaria, llamada cromosoma. Los símbolos que forman la cadena son llamados los genes. Cuando la representación de los cromosomas se hace con cadenas de dígitos binarios se le conoce como genotipo. Los cromosomas evolucionan a través de iteraciones, llamadas generaciones. En cada generación, los cromosomas son evaluados usando alguna medida de aptitud. Las siguientes generaciones (nuevos cromosomas), llamada descendencia, se forman utilizando dos operadores genéticos, de sobrecruzamiento y de mutación. Cuándo usar estos algoritmos Los algoritmos genéticos son de probada eficacia en caso de querer calcular funciones no derivables (o de derivación muy compleja) aunque su uso es posible con cualquier función. Deben tenerse en cuenta también las siguientes consideraciones: Si la función a optimizar tiene muchos máximos/mínimos locales se requerirán más iteraciones del algoritmo para "asegurar" el máximo/mínimo global. Si la función a optimizar contiene varios puntos muy cercanos en valor al óptimo, solamente podemos "asegurar" que encontraremos uno de ellos (no necesariamente el óptimo). Funcionamiento de un algoritmo genético básico Un algoritmo genético puede presentar diversas variaciones, dependiendo de cómo se aplican los operadores genéticos (cruzamiento, mutación), de cómo se realiza la selección y de cómo se decide el reemplazo de los individuos para formar la nueva población. En general, el pseudocódigo consiste de los siguientes pasos: Algoritmo genético i: inicialización, f(X): evaluación, ?: condición de término, Se: selección, Cr: cruzamiento, Mu: mutación, Re: reemplazo, X*: mejor solución. Inicialización: Se genera aleatoriamente la población inicial, que está constituida por un conjunto de cromosomas los cuales representan las posibles soluciones del problema. En caso de no hacerlo aleatoriamente, es importante garantizar que dentro de la población inicial, se tenga la diversidad estructural de estas soluciones para tener una representación de la mayor parte de la población posible o al menos evitar la convergencia prematura. Evaluación: A cada uno de los cromosomas de esta población se aplicará la función de aptitud para saber qué tan "buena" es la solución que se está codificando.


Aplicaciones Diseño automatizado, incluyendo investigación en diseño de materiales y diseño multiobjetivo de componentes automovilísticos: mejor comportamiento ante choques, ahorros de peso, mejora de aerodinámica, etc. Diseño automatizado de equipamiento industrial. Diseño automatizado de sistemas de comercio en el sector financiero. Construcción de árboles filogenéticos. Optimización de carga de contenedores. Diseño de sistemas de distribución de aguas. Diseño de topologías de circuitos impresos. Diseño de topologías de redes computacionales. En Teoría de juegos, resolución de equilibrios. Análisis de expresión de genes.

Robótica El término robótica procede de la palabra robot. La robótica es, por lo tanto, la ciencia o rama de la ciencia que se ocupa del estudio, desarrollo y aplicaciones de los robots. Otra definición de robótica es el diseño, fabricación y utilización de máquinas automáticas programables con el fin de realizar tareas repetitivas como el ensamble de automóviles, aparatos, etc. y otras actividades. Básicamente, la robótica se ocupa de todo lo concerniente a los robots, lo cual incluye el control de motores, mecanismos automáticos neumáticos, sensores, sistemas de cómputos, etc. En la robótica se aúnan para un mismo fin varias disciplinas confluyentes, pero diferentes, como la Mecánica, la Electrónica, la Automática, la Informática, etc. El término robótica se le atribuye a Isaac Asimov. Los tres principios o leyes de la robótica según Asimov son:

Un robot no puede lastimar ni permitir que sea lastimado ningún ser humano. El robot debe obedecer a todas las órdenes de los humanos, excepto las que contraigan la primera ley.


Robots: Los robots son dispositivos compuestos de sensores que reciben datos de entrada y que pueden estar conectados a la computadora. Esta, al recibir la información de entrada, ordena al robot que efectúe una determinada acción. Puede ser que los propios robots dispongan de microprocesadores que reciben el input de los sensores y que estos microprocesadores ordenen al robot la ejecución de las acciones para las cuales está concebido. En este último caso, el propio robot es a su vez una computadora. Tipos de robots Robots impulsados neumaticamente: La programación consiste en la conexión de tubos de plástico a unos manguitos de unión de la unidad de control neumático. Esta unidad está formada por dos partes: una superior y una inferior. La parte inferior es un secuenciador que proporciona presión y vacío al conjunto de manguitos de unión en una secuencia controlada por el tiempo. La parte superior es el conjunto de manguitos de unión que activan cada una de las piezas móviles del robot. Son los más simples que existen. Hay quien opina que a este tipo de máquinas no se les debería llamar robots; sin embargo, en ellas se encuentran todos los elementos básicos de un robot: estas máquinas son programables, automáticas y pueden realizar gran variedad de movimientos. Robots equipados con servomecanismos: El uso de servomecanismos va ligado al uso de sensores, como los potenciómetros, que informan de la posición del brazo o la pieza que se ha movido del robot, una vez éste ha ejecutado una orden transmitida. Esta posición es comparada con la que realmente debería adoptar el brazo o la pieza después de la ejecución de la orden; si no es la misma, se efectúa un movimiento más hasta llegar a la posición indicada. Robots punto a punto: La programación se efectúa mediante una caja de control que posee un botón de control de velocidad, mediante el cual se puede ordenar al robot la ejecución de los movimientos paso a paso. Se clasifican, por orden de ejecución, los pasos que el robot debe seguir, al mismo tiempo que se puede ir grabando en la memoria la posición de cada paso. Este será el programa que el robot ejecutará. Una vez terminada la programación, el robot inicia su trabajo según las instrucciones del programa. A este tipo de robots se les llama punto a punto, porque el camino trazado para la realización de su trabajo está definido por pocos puntos.


Robots: Los robots son dispositivos compuestos de sensores que reciben datos de entrada y que pueden estar conectados a la computadora. Esta, al recibir la información de entrada, ordena al robot que efectúe una determinada acción. Puede ser que los propios robots dispongan de microprocesadores que reciben el input de los sensores y que estos microprocesadores ordenen al robot la ejecución de las acciones para las cuales está concebido. En este último caso, el propio robot es a su vez una computadora. Tipos de robots Robots impulsados neumaticamente: La programación consiste en la conexión de tubos de plástico a unos manguitos de unión de la unidad de control neumático. Esta unidad está formada por dos partes: una superior y una inferior. La parte inferior es un secuenciador que proporciona presión y vacío al conjunto de manguitos de unión en una secuencia controlada por el tiempo. La parte superior es el conjunto de manguitos de unión que activan cada una de las piezas móviles del robot. Son los más simples que existen. Robots equipados con servomecanismos: El uso de servomecanismos va ligado al uso de sensores, como los potenciómetros, que informan de la posición del brazo o la pieza que se ha movido del robot, una vez éste ha ejecutado una orden transmitida. Esta posición es comparada con la que realmente debería adoptar el brazo o la pieza después de la ejecución de la orden; si no es la misma, se efectúa un movimiento más hasta llegar a la posición indicada. Robots punto a punto: La programación se efectúa mediante una caja de control que posee un botón de control de velocidad, mediante el cual se puede ordenar al robot la ejecución de los movimientos paso a paso. Se clasifican, por orden de ejecución, los pasos que el robot debe seguir, al mismo tiempo que se puede ir grabando en la memoria la posición de cada paso. Este será el programa que el robot ejecutará.

Futuro de la robótica A pesar de que existen muchos robots que efectúan trabajos industriales, aquellos son incapaces de desarrollar la mayoría de operaciones que la industria requiere. Al no disponer de unas capacidades sensoriales bien desarrolladas, el robot es incapaz de realizar tareas que dependen del resultado de otra anterior.


Agente inteligente Un agente inteligente, es una entidad capaz de percibir su entorno, procesar tales percepciones y responder o actuar en su entorno de manera racional, es decir, de manera correcta y tendiendo a maximizar un resultado esperado.

En este contexto la racionalidad es la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado. Este concepto de racionalidad es más general y por ello más adecuado que inteligencia (la cual sugiere entendimiento) para describir el comportamiento de los agentes inteligentes. Por este motivo es mayor el consenso en llamarlos agentes racionales. Un agente inteligente puede ser una entidad física o virtual. Si bien el término agente racional se refiere a agentes artificiales en el campo de la Inteligencia Artificial, también puede considerarse agentes racionales a los animales incluido el hombre. Los agentes inteligentes se describen esquemáticamente como un sistema funcional abstracto. Por esta razón, los agentes inteligentes son a veces llamado Agentes Inteligentes Abstractos (AIA) para distinguirlos de sus implementaciones del mundo real como sistemas informáticos, los sistemas biológicos, o de organizaciones. Algunas definiciones de agentes inteligentes hacen énfasis en su autonomía por lo que prefieren el término agente inteligente autónomo. Y otros (en particular, Russell y Norvig (2003)) considera conducta dirigida a objetivos como la esencia de lo inteligente y prefieren un término tomado de la economía "Agente Racional". En Ciencias de la Computación el término agente inteligente puede ser usado para referirse a un agente de software que tiene algo de inteligencia, independientemente de si no es un agente racional por definición de Russell y Norvig. Por ejemplo, programas autónomos utilizados para asistencia de un operador o de minería de datos (a veces denominado robots) son también llamados "agentes inteligentes". Definiciones sobre Agentes Inteligentes Los agentes inteligentes se han definido de diferentes maneras. [2] Según Nikola Kasabov [3] los sistemas de IA deben exhibir las siguientes características: Aprender nuevos problemas e incrementar normas de solución. Capacidad de adaptación en línea y en tiempo real. Ser capaz de analizar condiciones en términos de comportamiento, el error y el éxito.


Clasificación Es posible clasificar los agentes inteligentes en 5 categorías principales: agentes reactivos agentes reactivos basados en modelo agentes basados en objetivos agentes basados en utilidad agentes que aprenden agentes de consultas La conducta de un agente no suele ser la óptima Paradójicamente, la conducta de un agente rara vez es la óptima. La razón es muy sencilla calcular el óptimo de un criterio lo suficientemente bueno para ser considerado razonable teniendo en cuenta las múltiples restricciones que concurren es muy difícil. Ejemplos de ello es lo difícil que es calcular la mejor ala para un avión, el mejor perfil para un coche o la mejor hélice para un barco. Para un estudiante es fácil calcular el máximo de un polinomio de segundo grado derivando e igualando a cero. En este caso el criterio es muy sencillo -es un polinomio de segundo grado- y no concurre ninguna restricción. Cuando el criterio es una función real de muchas variables y las restricciones también, los cálculos son mucho más complicados. Algunas veces se puede lograr una buena aproximación; pero, si un agente inteligente debe tomar una decisión en muy poco tiempo, deberá conformarse con la mejor aproximación que pueda calcular en el escaso tiempo de que dispone. Por otra parte, no es tan fácil inducir el criterio que permite comparar las distintas estrategias: ¿cómo se puede expresar con una ecuación simple lo que más le conviene a un lagarto que está cazando bajo el sol?


revista inteligencia