revista inteligencia
-
Upload
gustavo-arias -
Category
Documents
-
view
213 -
download
1
description
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?