1era Edicion. Bqto 11 de Febrero de 2011
Editorial Revoluciones
Integrantes: Sergio perozo Yvanna olmos Giovanny martinez Carlos cordero
Sistemas Expertos: Ordenadores que saben lo que dicen
Los SSEE son software que emula el comportamiento de un experto en un área de conocimiento, como un médico que diagnostica un asesor de bolsa], un asistente para hacer pedidos un ingeniero para predecir donde habrá posibilidad de encontrar minerales… Esquematizando mucho, pero mucho mucho, su esquema es el de un almacén de conocimientos más un conjunto de reglas para obtener conclusiones combinando y explotando lo que ya se sabe. En otras palabras se trata de obtener conocimientos, que „surgen de la capacidad de crear un modelo fidedigno que describa el objeto y ejemplifique las acciones que pueden ejecutarse sobre y con el objeto‟ según Pazos y colegas. Las dos piezas, modelo y acciones se llaman base de concimiento y motor de inferencia y contienen conocimiento declarativo y de control que sirve, en última instancia, para responder a las preguntas que se le planteen.
Los SSEE
son
probablemente
el
software más sofisticado que existe, cuya complejidad incluye además el no dar respuestas categóricas del estilo „el señor X tiene gripe‟ o „hay que comprar Y acciones de X‟, sino de expresar sus conclusiones en términos de probabilidades o incluso en posibilidades. Esto es porque no se llega a conclusiones por un algoritmo o secuencia de pasos prefijada, sino que utiliza reglas heurísticas ¡Como una persona! Del mismo modo que un experto no suele pensar en términos categóricos (aunque a veces se piense que el no dudar es sinónimo de saber mucho, esto es evidentemente una estupidez), un SE puede idealmente decir que „el señor X tiene gripe al 90% o, sino, podría ser tuberculosis, así que hay que hacer la prueba Y‟ o „es muy probable que si compras un número entre X e Y de acciones de la empresa Z, obtengas beneficio a medio plazo‟.
También como ocurre en las personas, otra característica clave de los SSEE es que integran lo obtenido en su propia base de conocimientos, esto es, podríamos decir que aprenden. Y dejé para el final lo mejor; son capaces de „explicar‟ porqué llegan a una determinada conclusión, para que un experto humano re-evalúe las conclusiones a que llegó el sistema, con lo que permiten establecer una especie de diálogo, incluso correcciones de supuestos, acerca de sus mecanismos de decisión. La extracción de lo que saben los expertos humanos –educción de conocimientopara volcarlo a un SE, no es fácil y comporta dificultades en varios ámbitos como 1)qué representación es la más eficaz para los conocimientos, 2)qué „lenguaje‟ utilizo para almacenar las reglas de inferencia, 3)cómo traduzco las explicaciones vagas del experto a reglas o sobretodo 4)cómo convenzo al experto para que desnude su conocimiento y se lo de a algo que, si funciona bien, le puede jubilar antes de tiempo. Y aún con todas esas dificultades, cada vez se invierte más en SSII, porque la gracia está en que un buen SSEE, tras „inyectarle‟ el conocimiento y los métodos de un experto de referencia, ¡acierta más veces en término medio que el propio experto! (Además de otra serie de consideraciones como que no envejece, no enferma, no viaja, no tiene escrúpulos, no tiene pagas extras, no se cansa, no tiene presión o estrés y si trabaja bien no le ficha la competencia… lo que supera con mucho los inconvenientes como su alta inversión, el que no puedes tomar café con él, ni te pregunta por tu familia, y que los seres humanos son más evolutivos, porque pueden aceptar conocimiento no estructurado y trabajar con él).
¿Tenemos delante de nosotros la pesadilla de Matrix de las máquinas dominando a los hombres? Hay que darse cuenta de que una vez el conocimiento está extraído de una persona,
está
potencialmente
disponible en todo momento y ubicuo… No lo creo. Más bien será que haya hombres que dominen a otros utilizando máquinas: ¡Nada nuevo bajo el sol! En
resumen, tenemos dos opciones: o nos apuntamos al rollo y aprendemos de qué forma podemos servirnos de esos conocimientos que contendrá la red (porque al final todo estará en la red y será cuestión de utilizar el conocimiento disponible y, aún más importante, acceder al restringido). O bien seguimos siendo unos románticos y nos quedamos que, aunque de término medio el SE acierta más que el experto y no tiene fluctuaciones, está también demostrado que, en un día de esos que se levanta bien, el humano alcanza resultados por encima de su pariente de lata. Lo cual es poético pero, como mucho de lo poético, por sí sólo, poco rentable. Br. Sergio Perozo
La Robótica y su relación con la Computación
El término robótica se refiere al área que engloba la construcción de dispositivos autónomos que actúan en el mundo real de forma que mimeticen el comportamiento de los seres humanos. Esto quiere decir que estos robots podrán sentir el ambiente usando sus sensores (sentidos si hacemos un paralelo con los seres humanos) y modificar o moverse en el ambiente usando sus actuadores (por ejemplo las extremidades si hacemos un paralelo con los seres humanos). De esta forma, es posible definir un robot como un dispositivo mecánico versátil equipado con sensores y actuadores, controlado por un sistema computacional capaz de extraer informaciones del ambiente y usar su conocimiento al respecto del mundo de forma a actuar sobre el mismo a través de movimientos.
Robótica engloba tres áreas: Mecánica, electrónica y computación. Es por eso que alrededor del mundo no es difícil encontrar proyectos de investigación en robótica en facultades o departamentos académicos de Ingeniería Mecánica, Ingeniería Eléctrica, Ingeniería Electrónica, Ingeniería de Computación, Ciencia de la Computación y en Ingeniería Mecatrónica. Cada profesional realizará aportes a la robótica con mayor énfasis en su área de formación.
En el caso específico de la Computación podemos citar varias subáreas las cuales hacen parte del dominio de la robótica. Por ejemplo la inteligencia artificial, redes
de computadoras, procesamiento digital de imágenes, compiladores, estructuras de datos, sistemas operativos, entre otras. Hablando de la inteligencia artificial primero podemos hablar de la teoría de agentes, que es aplicable directamente en robótica, inclusive es importante notar que algunos autores incluyen a los robots como un tipo de agente, llamándolos de agentes robots. Ya al hablar de algoritmos de aprendizaje (supervisado, no supervisado y por refuerzo) también se aplican a robótica especialmente cuando se desea construir robots autónomos que hagan una conexión “inteligente” entre lo que sienten y sus acciones. También, las redes neuronales con aprendizaje supervisado son muy usadas para controlar robots y sus partes. Por ejemplo se pueden usar redes neuronales para controlar las piernas de un robot bípedo. Al mismo tiempo, la aplicación de estas técnicas representa un gran desafío para los investigadores en esta área pues las mismas funcionan correctamente en condiciones normales donde se puede disponer de un tiempo “muy grande” para su convergencia, sin embargo, al aplicarlos en robótica nos encontramos con que la respuesta de los robots debe ser en tiempo real lo que agrega una restricción mas y hace mucho más interesante esta área de investigación. Si hablamos de redes de computadores, luego viene a la cabeza la construcción de un equipo de robots (sistemas multirobots) donde los elementos del equipo deberán comunicarse unos con los otros de forma eficiente, para esto la arquitectura de la red de comunicación construida entre estos elementos debe ser muy eficiente e inclusive ajustarse a desafíos como pérdida temporal de un elemento del equipo, usar algunos elementos del equipo como ruteadores para poder alcanzar elementos más lejanos, entre otros. Ya al hablar de procesamiento digital de imágenes y visión computacional, podemos hablar de uno de los sensores más eficientes del mundo de la robótica, la cámara, donde después de una adquisición adecuada se podrán aplicar todas las técnicas dentro de estas áreas sumadas a la restricción de que el procesamiento deberá ser realizado en tiempo real.
En relación a compiladores, pienso instantáneamente en robots operados por seres humanos. Por ejemplo, en ambientes industriales es posible encontrar robots que son programados por sus operadores para realizar ciertas tareas dentro de una cadena de ensamblaje. Estos robots tienen su propio lenguaje de programación, generalmente creados por la empresa o institución que los idealizó y construyó. Al mismo tiempo, éste lenguaje tendrá que ser traducido para que pueda ser entendido por el S.O. y procesador del robot con lo que se hace necesario la construcción de compiladores o en su defecto intérpretes. En robótica existe un área de investigación que es la de mapeamento de ambientes estructurados, que consiste en colocar un robot o un equipo de ellos en un ambiente desconocido de forma que ellos lo recorran y construyan el mapa del mismo. Aquí, es necesario el uso de estructuras de datos adhoc para poder almacenar, actualizar y recuperar las informaciones concernientes al mapa generado en forma rápida y eficiente. Ya hablando de robótica educativa, en estos tiempos se ha vuelto indispensable la creación de kits que permitan el aprendizaje de robótica de forma simple e intuitiva tanto para niños como personas con poca o ninguna intimidad con el área tecnológica. Así, muchas instituciones en el mundo vienen sumándose a estos esfuerzos, los cuales nacen en ambientes académicos universitarios. En esta área específica se hace necesaria la creación de procesadores adhoc capaces de soportar directamente los sensores utilizados en robótica y por qué no incluir capacidades de procesamiento digital de imágenes. Luego, es necesario crear el sistema operacional para estos procesadores, así como compiladores y lenguajes de programación específicos para robótica y al mismo tiempo estos lenguajes deben ser lo suficientemente simples para ser entendidos por personas no familiarizadas con el área tecnológica.
Para finalizar, es importante observar que existen muchas áreas de convergencia entre la computación y la robótica y en el Perú no podemos estar ajenos a esta realidad ya que se espera que en el futuro los robots se vuelvan populares y su utilización sea masiva en los más diversos campos de acción. Así, espero que este documento sirva para estimular a los académicos peruanos en el área de la computación a ser parte activa de la gran cantidad de investigadores que dirigen sus esfuerzos a hacer de los robots dispositivos seguros, versátiles y autónomos en todo el sentido de la palabra.
Br. Sergio Perozo
Sistema experto: El propósito de este artículo es de mostrarnos una amplia y precisa descripción de lo que son los Sistemas Expertos (SE), los cuales también son conocidos como Sistemas Basados en Conocimiento. Para mi los sistemas expertos son programas
que pueden resolver una
serie de programas para dar a una solución optima y compleja. Estos sistemas pueden guarda o almacenar conocimientos de expertos para un campo determinado y solucionar un problema mediante deducción lógica de conclusiones. y también tienen como función
ser unos Programas que
manipulan conocimiento codificado para resolver problemas en un dominio especializado en un dominio que generalmente requiere de experiencia humana. Los sistemas expertos poseen algunas aplicaciones: a)Casi todas las empresas disponen de un ordenador que realiza las funciones básicas de tratamiento de la información: contabilidad general, decisiones financieras, gestión de la tesorería, planificación, etc. b) Este trabajo implica manejar grandes volúmenes de información y realizar operaciones numéricas para después tomar decisiones. Esto crea un terreno ideal para la implantación de los SE. Además los SE también se aplican en la contabilidad en apartados como: Auditoria(es el campo en el que más aplicaciones de SE se está realizando) Fiscalidad, planificación, análisis financiero y la contabilidad financieras Sistemas inteligente artículos: Para mí o mejor dicho mi opinión los sistemas inteligentes es la rama fundamental de la inteligencia artificial ya que es o son programa basado a la computación que reúne o agrupa característica similares al de la inteligencia humana o animal.
La expresi贸n "sistema inteligente" se usa a veces para sistemas inteligentes incompletos, por ejemplo para una casa inteligente o un sistema experto. Un sistema inteligente completo incluye "sentidos" que le permiten recibir informaci贸n de su entorno. Puede actuar, y tiene una memoria para archivar el resultado de sus acciones. Tiene un objetivo e, inspeccionando su memoria, puede aprender de su experiencia. Aprende c贸mo lograr mejorar su rendimiento y eficiencia. Carlos cordero C.i: 19.590.734
Logica Difusa La lógica difusa o también llamada lógica borrosa apareció alrededor de 1965 por Lotfi A. Zadech de la universidad de california en Berkeley, y desde que este científico planteó la teoría de conjuntos difusos se han realizado múltiples aplicaciones de este, encontrando su mayor campo en la parte de control automático, y en la robótica móvil. Sin embargo antes de comenzar a hablar de lógica difusa hay que recordar de qué trata la teoría clásica de la lógica y de los conjuntos. Esta se basa en que una persona u objeto hace parte de cierto grupo de objetos llamado conjunto, los conjuntos tienen ciertas cualidades y propiedades, las cuales tienen que cumplirse totalmente para que un objeto pertenezca a este. La pregunta para evaluar la pertenencia a un conjunto clásico tiene la forma ¿este objeto pertenece a este conjunto? , y la respuesta solo puede ser, si o no, pero no puede ser una respuesta ambigua. En cambio en estadística y probabilidad, el enfoque es diferente, la pregunta tiene la forma, ¿Cuál es la probabilidad de que esto pase? Y la respuesta es un valor porcentual de 0 a 100%. De esa forma se representan los conjuntos difusos. Se hayan representaciones porcentuales a cada conjunto. Por ejemplo si se busca saber cuáles son los objetos pertenecientes a x conjunto, el enfoque en lógica difusa seria hallar la pertenencia de cada objeto evaluado al conjunto x, mientras que en lógica clásica se agrupan los elementos que solo pertenecen totalmente a este conjunto, descartando muchos que pertenecen parcialmente, debido que no se permite que un elemento pertenezca y a la vez no pertenezca al mismo conjunto, por ende hay muchos problemas del mundo real que no pueden ser representados por conjuntos clásicos, porque en el mundo real existen muchos problemas donde las respuestas no siempre tienen que ser totalmente ciertas, se incluye un grado de incertidumbre; como decir un vaso está por la mitad, el vaso puede estar medio lleno, pero también medio vacío, estas pertenencias ambiguas si son permitidas en la lógica difusa.
Algoritmos genéticos para diseñar reactores nucleares Los algoritmos genéticos son uno de los métodos que utiliza la ingeniería para aprender e imitar a la naturaleza. Simplificando mucho, consisten en partir de un diseño inicial e ir modificando sus características. Las
versiones
con
mejores
propiedades
sobreviven
y
siguen
“evolucionando”, las versiones menos satisfactorias son eliminadas. Todo de forma automatizada y mediante el uso de potentes ordenadores. El proceso imita la selección natural basada en supervivencia de los ejemplares más aptos. Este proceso puede aplicarse a problemas muy alejados de la naturaleza. Por ejemplo, al desarrollo de mejores reactores nucleares. Mientras se duda sobre su posible utilización como fuente de energía, algunos de sus partidarios proponen modificar unos diseños que, básicamente, no han cambiado en los últimos veinte años Ingenieros pertenecientes al Laboratorio Oak Ridge del Departamento de Energía de los Estados Unidos han partido del esquema básico de un reactor nuclear que han suministrado al programa de Inteligencia Artificial. Este diseño ha sido procesado por algoritmos genéticos que modificaban sus características buscando optimizar alguna de ellas. De esa forma se obtenían nuevas versiones con diversas características innovadoras. Más tarde,
los diseños eran revisados
por especialistas apoyados
por
sofisticados programas de simulación para garantizar la ausencia de problemas. De momento, han diseñado un pequeño reactor nuclear que podría ser utilizado por la NASA en una nave que explorase el cinturón de asteroides. En este caso el objetivo principal era reducir al mínimo el peso del mismo. Ahora esperan aplicar el mismo proceso a reactores utilizables en la Tierra. Aquí sus objetivos principales son la seguridad y el mejor rendimiento económico. Esperemos que el primero sea prioritario en caso de duda.
Sistemas multi-agente Durante las dos últimas décadas investigadores en redes han trabajado en el desarrollo de sistemas multi-agente (multi-agent systems o MAS) y agentes inteligentes (intelligent agents) por considerarlos tecnologías clave para facilitar el diseño y la implementación en el mundo real de sistemas distribuidos abiertos y a gran escala. La idea es emplear múltiples agentes inteligentes que interactúen para resolver problemas científicos complejos. Se parte de la premisa de que un nivel de desarrollo organizativo y operativo que contemple autonomía parcial de sus agentes y cierta descentralización es imprescindible para afrontar la creciente complejidad de ciertos aspectos de los sistemas de comunicaciones por red actuales y futuros. En este contexto cada agente inteligente tiene un cierto nivel de autonomía o “inteligencia” que le permite actuar sobre su entorno e interactuar con otros agentes del sistema e incluso dirigir su actividad hacia la consecución de objetivos.