revista inteligencia

12
INTEGRANTES: ARIAS GUSTAVO RODRÍGUEZ JUAN VERDE IRIANA LEAL BARBARÁ FONSECA SERELYS MORALES THAYDE 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. 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. 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.

description

inteligencia artificial

Transcript of revista inteligencia

INTEGRANTES:

ARIAS GUSTAVO

RODRÍGUEZ JUAN

VERDE IRIANA

LEAL BARBARÁ

FONSECA SERELYS

MORALES THAYDE

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.

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.

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ético-

molecular. 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?