jueves, 3 de marzo de 2011


Fuente proviene de http://www.youtube.com/watch?v=As0B2f8fJ54

Sistemas expertos

INTRODUCCIÓN A LOS SISTEMAS EXPERTOS Y ALGUNOS EJEMPLOS

Como hemos explicado antes, los sistemas expertos fueron creados para un mayor entendimiento en un mundo particular, es decir, poder "educar" de algún modo a las computadoras, sobre algún tema particular para que estas se la puedan transmitir a los humanos y suplirlos en algunas de sus funciones en tareas repetitivas o en ausencia de suficientes profesionales.
Es por esto que se crearon sistemas expertos que además basandosé en algunas reglas de acción (silogismos) y el análisis de posibilidades nos dan una ayuda muy útil en todas las ramas de la acción humana. De este modo se crearon sistemas expertos para las tareas genéricas: es decir para la monitorización y el diagnóstico, además de los trabajos de simulación de la realidad.
Las posibilidades de este sistema, aunque tiene sus limitaciones propias (al ser un especilista en tan sólo un área pero un completo idiota en casi todas las otras ramas del pensamiento humano y al ser rule-base-systems, sistemas basados en reglas fijas, donde se pierden algunas veces la creatividad y el sentido común) es inmensa y se lo está usando en gran medida para la monitorización y diagnóstico: como en plantas de energía, grandes industrias, cohetes, control del tráfico aereo, busqueda de yacimientos petrolíferos y hasta hospitales.
Se cita el caso de una empresa energética muy importante que compró un sistema diseñado para monitorear y diagnosticar fallos en un tipo determinado de plantas generadoras de energia eléctrica. Al probar una versión del programa, utilizando los datos reales que condujeron a que una de las plantas de la compañia tuviera que ser cerrada en 1981, se encontró que el sistema dió, en tan sólo unos segundos, con la causa del problema que les había conducido al cierre. A los expertos humanos les hubiera llevado días sin fin el llegar a la misma conclusión.
Pero aquí no acaba el valor de los sistemas expertos, ya que estos pueden en cierto punto manipular las reglas que se le han dado y sacar conclusiones a partir de ellas. En otras palabras puede descubrir nuevas posibilidades y guardarlas en su base de datos. Los mecanismos de manipulación y deducción son, hasta cierto punto, independientes de la base de datos.
Algunos ejemplos de sistemas expertos que se utilizan en el mundo podrian ser
 DENDRAL: Es capaz de calcular o descubrir hechos relativos a las estructuras moleculares a partir de unos datos químicos sin elaborar.
MYCIN: El más famoso de todos, que diagnostica infecciones en la sangre y meningitis y además sugiere el tratamiento que se debe seguir en cada caso.
PUFF: El hermano menor de MYCIN, que diagnostica y trata enfermedades del pulmon.
MOLGEN0: "MOLecular GENetics" ayuda a los biólogos que trabajan en el campo del DNA y la ingeniería genética.
PROGRAMMER'S APPRENTICE: Como su propio nombre lo indica, se trata de un sistema que ayuda a la escritura de programas.
EURISKO: Un sistema experto capaz de aprender a medida que funciona, que crea circuitos microeléctricos tridimensionales.
 GENESIS: Permite a los cinetíficos planificar y simular experimentos en el campo de la unión de genes.
EXPERT SYSTEMS TO COMBAT INTERNATIONAL TERRORISM: Para ayudar a expertos a entender la totalidad de la misión en que trabajan y asistirlos en la toma de desiciones.
LEGAL DECISIONMAKING
TATR: Tactical Air Targeting.
 TWIRL: Tactical Warfare. Simulaciones de guerras completas y guía de mejores acciones posibles a realizar, en casi todas las situaciones.
R1: Programa utilizado para el descubrimiento de yacimientos petroliferos bajo aguas marínas.
Aunque no podemos citar en este trabajo las características y las ventajas de cada uno de los sistemas, y como fueron contribuyendo a esta parte importante de la Inteligencia Artificial, nos contentamos con dar algunas características más de estos programas.
- Capacidad de inferencia deductiva: Esto significa que los agentes no solo de recuperar información almacenada en la base de datos sino hacer deducciones usando la información para hacer deducciones que produzcan nuevas informaciones para la base de datos.
-Crecimiento dinámico: Porque los datos y las reglas estan sujetas a constante revisión. Es decir es fácil borrar o modificar los datos y las reglas que hacen las decisiones.
- Colección integrada de Conocimiento: Los agentes que constituyen el sistema pueden representar los juícios de muchos expertos en varias partes del globo. Estas experiencias es guardada en un solo lugar por lo que es posible su utilización luego por expertos o no expertos también. Sin embargo, la real utilidad de este sistema es que permite un constante intercambio de datos y juicios de líderes expertos, y esto permite la formación de nuevas reglas e ideas acerca del tema.

Diferencia entre experto humano y experto artificial
EXPERTO HUMANO
EXPERTO ARTIFICIAL
NO PERDURABLE
PERMANENTE
DIFICIL DE TRANSFERIR
FACIL
DIFICIL DE DOCUMENTAR
FACIL
IMPREDECIBLE
CONSISTENTE
CARO
ALCANZABLE
CREATIVO
NO INSPIRADO
ADAPTATIVO
NECESITA SER ENSEÑADO
EXPERIENCIA PERSONAL
ENTRADA SIMBÓLICA
ENFOQUE AMPLIO
ENFOQUE CERRADO
CONOCIMIENTO DEL SENTIDO COMUN
CONOCIMIENTO TECNICO

 Elementos de un SE.
Base de conocimientos: contiene una gran cantidad de información sobre un tema específico, generalmente introducida por un experto en dicho tema, sobre el cual se desarrola la aplicación.
Base de hechos: proporciona al sistema los datos sobre la situación concreta en la cual se va a realizar la aplicación.
Motor de inferencia: utiliza la base de conocimientos y la base de hechos, los fusiona y los combina realizando de esta manera una serie de razonamientos acerca del problema que se le ha presentado.
Interface hombre-máquina: son módulos de interacción con el usuario, o sea, posibilitan la fácil comunicación entre la máquina y el operador.

Partes principales de un SE

La base de conocimientos y el motor de inferencias son las principales partes de un sistema experto. El motor de inferencia de buscar la información y partiendo de ella deduce una respuesta o una solución para el usuario. Este contiena mecanismos lingüísticos que permiten al paquete relizar búsquedas de encadenamiento hacia adelante y hacia atrás en los datos y reglas de la base de conocimientos, esto significa que tiena la capacidad de contestar preguntas mediante mecanismos entrelazados contenidos en la base de conocimientos.
Las categorías de Mecanismos de Inferencia son:
Determinismo: Lo inferido es una verdad universal. Por ej: el Químico dice con certeza que si un átomo tiene dos electrones, entonces es un átomo de Helio.
Probabilístico: Son predicciones o probabilidades que no siempre son ciertas (se elige la probabilidad de mayor valor). Por ej: las respuestas a la prevención de abandonos de los cursos de bachillerato, dadas por un sociólogo son tan sólo probabilidades, que pueden o no ser acertadas.

TIPOS DE SISTEMAS EXPERTOS

Interpretacion:infieren la descripcion de situaciones por medio de sensores de datos.estos S.E. usan datos reales ,con errores, con ruidos, incompletos etc. Ejemplos:medicion de temperatura, reconocimiento de voz, analisis de señales etc.
Prediccion:infieren probables consecuencias de situaciones dadas.Algunas vaces usan modelos de simulacion para generar situaciones que puedan ocurrir.Ejemplos:predecir daños a cosechas por algun tipo de insecto.
Diagnostico:infieren las fallas de un sistema en base a los sintomas.Utilizan las caracteristicas de comportamiento, descripcion de situaciones o conocimiento sobre el diseño de un componente para inferir las causas de la falla.Ejemplos:diagnostico de enfermedades en base a sintomas, encontrar componentes defectuosos o fallas en circuitos.
Diseño:configuracion de objetos.Utilizan un conjunto de limitaciones y restricciones para configurar objetos.Utilizan un proceso de analisis para construir un diseño parcial y una simulacion para verificar o probar las ideas.Ejemplos:configuracion de equipos de oficina, de equipos de computo.
Planeacion:diseñan un curso completo de accion, se descompone la tarea en un subconjunto de tareas.Ejemplo:transferir material de un lugar a otro, comunicaciones, ruteo, planificacion financiera.
Monitoreo:comparan observaciones del comportamiento del sistema con el comportamiento standard, se compara lo actual con lo esperado.Ejemplo: asistir a un paciente de cuidados intensivos, trafico aereo, uso fraudulento de tarjetas de creditos
Depuracion:(debugging)sugieren remedios o coreciones de una falla.Ejemplo:sugerir el tipo de mantenimiento a cables dañados, la prescripcion medica a un paciente.
Reparacion:sigue un plan para administrar un remedio prescrito.Poco se ha hacho,requiere planeacion, revision y diagnostico.
Instruccion:diagnostican, revisan y reparan el comportamiento de un estudiante.Ejemplo:educar a un estudiante de medicina, usa un modelo del estudiante y planea la correcion de deficiencias.
Control:gobierna el comportamiento del sistema.Requieren interpretar una situacion actual, predecir el futuro, diagnosticar las causas de los problemas que se pueden anticipar, formular un plan para remediar estas fallas y monitorear la ejecucion de este.
Aspectos metodológicos de ayuda al desarrollo de sistemas expertos
Para desarrolar sistemas expertos, debemos primero identificar y analizar el problema para poder saber si este problema es solucionable a partir de una serie de reglas y experiencias, y luego se tiene que idear algún modo de adquirir y modelar el conocimiento para por último reducirlo a nivel simbólico para poder educar así a la maquina.
Por supuesto que con este trabajo no intentamos de ningún modo explicarles todas las implicancias de este proceso, pero trataremos de darles una idea bastante sencilla de como esto se realiza.
Como dijimos antes, lo primero que debemos hacer es saber si este problema es abarcable por un sistema experto, es decir que cumpla las siguientes condiciones:
 Informacion declarativa: El verdadero desafio al programar los sistemas expertos es alguna manera de capturar el conocimiento usados por los expertos en cuestion, en otras palabras, la forma de ir educando a las máquinas.
Para ello, se hace inevitable la necesidad de considerar al conocimiento como modular, y de este modo si un sistema experto en desarrollo falla en algunas de sus conclusiones, sería lógico pensar que esto se debe de alguna manera al hecho de que falta algún conocimiento o experiencia en el programa como para dar con el resultado satisfactorio. Como es generalmente dificil el poder cambiar las largas líneas de códigos para alterar o actualizar algún dato de la base de conocimientos, entonces se programa a los SE de alguna manera para que puedan ser actualizados y mantenidos por los usuarios.
Esta condición de que el conocimiento debe ser considerado como un módulo impide la solución de problemas en que intervenga el sentido común o el conocimiento de otras áreas del saber humano.

 Ventajas de la interfaz: Como las inferencias hechas por un SE son similares a las hechas por los mismos expertos humanos, el comportamiento de un SE es naturalmente amigable, y los usuarios generalmente pueden mantener el sistema. Otra ventaja es que el conocimiento faltante en la base de conocimientos puede ser fácilmente obtenida de un modo natural.

El ES debe ser capaz de explicar sus conclusiones: La característica más importante de los ES es su habilidad para explicar sus conclusiones. Esto se debe a que se puede defender las conclusiones en términos de las oraciones de la base de datos que fueron usados para llegar a esa conclusión.
La importancia de este proceso no es sólo que de esta forma se puede verificar fácilmente algún razonamiento incorrecto de la máquina o tal vez la falta de algún conocimiento importante para llegar a una conclusion valedera, sino que de esta forma la máquina es capaz de enseñar a los humanos a partir de sus experiencias.


El método para la adquisición y el modelado de la información, y su posterior reducción a un nivel simbólico es estudiado por la sección de representación del conocimiento y por la heurística al cuá daremos una pequeña explicacion de como funciona

EVALUACION

Para resolver un problema o contestar una pregunta un sistema experto posee una gran cantidad de posibilidades a elegir. Para la elección de una de esas posibilidades se las estructura mediante "arboles" donde cada nodo representa una posibilidad y c/u de ellos conduce a otro nodo (otra posibilidad) y así sucesivamente; a cada nodo le corresponde un valor teniendo en cuenta las siguientes posibilidades y será seleccionado el de mayor valor.
Un ejemplo es la computadora DEEP BLUE que para el juego de ajedrez evalúa cada jugada según la posición en el tablero de cada ficha, las fichas amenazadas, las capturas ya sea del ordenador o del contrincante eligiendo la de mayor valor para el programa.

La BÚSQUEDA ES EL INGREDIENTE CRITICO DE LA INTELIGENCIA

La búsqueda exhaustiva consume recursos y tiempo. A continuación se muestran solo dos maneras de realizar BUSQUEDAS:

•Depth-First Searching

En este método se realiza la búsqueda bajando de nodo en nodo por la izquierda hasta llegar al último, después se sube un nodo para continuar por el que se encuentra a la derecha, bajando por la izquierda y así sucesivamente hasta encontrar la solución.

•Breadth-First Searching

En este método se realiza la búsqueda bajando un nodo, subiendo y bajando al que se encuentra a la derecha y así sucesivamente hasta que se acaba el nivel, después se baja al nodo de la extrema izquierda para decender al siguente nivel y continuar con la búsqueda en todo ese nivel, tal como se describió para el nivel anterior y se continúa así hasta encontrar la solución.

Evaluación de Búsquedas
•Que tan rápido se encuentra la solución.
•Que tan buena es la solución. 

Heurística

* Forma de saber cúal es el nodo que más combiene.

APRENDIZAJE


Cambio adaptativo que permite, al repetir una tarea sobre la misma población, realizarla más efectivamente.
Cuando una persona realiza la misma tarea, una y otra vez, sin realizarla de una manera más efectiva, decimos que esa persona no ha aprendido, al menos en relación a esa tarea.

METODOS DE APRENDIZAJE

DISCOVERY LEARNING
Es un método de aprendizaje que consiste en introducir una base de datos al programa siendo éste capaz de descubrir nuevos conceptos y sacar nuevas conclusiones a partir de la base de datos introducida. Por ejemplo: el programa AM al que se le introdujo en lenguaje LISP algunos conceptos de "Teoría de conjuntos" como unión, intersección, conjunto vacío e información acerca de cómo hacer matemática. A partir de esta base de datos el programa pudo descubrir los números enteros, la adición, la multiplicación, los números primos e incluso la conjetura de Goldbach.
Luego se creó un programa llamado EURISKO, que era más bien una extensión de AM pero con un dominio más general. Las aplicaciones de EURISKO fueron muy limitadas.

INDUCTIVE LEARNING 

Es un método de aprendizaje que consiste en un conjunto de verdades particulares y llegar a una generalización o a una verdad universal.

EXPLANATION-BASED LEARNING

La idea básica de este método de aprendizaje es utilizar la solución de un problema ya resuelto para ayudar a encontrar la solución de otros, o sea dichas soluciones se utilizan como axiomas para resolver otros problemas.

APRENDIZAJE POR IMPLANTACIÓN

Cuando el conocimiento es colocado en el sujeto, sin pasar por un proceso previo de razonamiento. como la simple memorización.

APRENDIZAJE POR EJEMPLOS: 

Cuando después de utilizar otro método, se presentan muestras ampliamente descriptivas o gráficas de un conocimiento recién expuesto.

APRENDIZAJE POR OBSERVACIÓN: 

Método valioso cuando se ha desarrollado un nivel razonable de competencia en el dominio seleccionado. Este método nos permite detectar los detalles de la solución a un problema en un ambiente no inventado.

¿Cómo sabremos cuando tengamos éxito al construir un programa INTELIGENTE ?

EN 1950 Alan Turing propuso: La PRUEBA de TURING 
Cuando la combinación de Software y Hardware nos de como resultado el que personas normales en nuestra sociedad no puedan determinar si quien ha estado respondiendo a sus preguntas es un ser humano o una computadora, entonces podremos decir que hemos logrado el objetivo de construir un programa inteligente.

Es de esa pregunta de donde surgió la idea de CYC y otros proyectos VLKB.

CYC Y OTROS PROYECTOS VLKB

Al ir progresando los sistemas expertos, los bases de conocimiento en los que estos sistemas trabajan han ido creciendo. Entonces nos preguntamos: ¿Sería posible que un Sistema experto exhiba inteligencia general y pasar el test de Touring?.
¿ Seria posible pasar las tres restricciones básicas de todo sistema experto?

Para que esto se posible debe:

Solucionar un problema que tome a un humano entre 5 min. y 5 horas: Esta restriccion seria pasada con tecnicas declarativas y un mejoramiento de la tecnologia computacional. No hay nada malo en resolver los problemas en forma declarativa, sino que nos parece que no vale la pena el esfuerzo. Aun cuando el harware y el control del razonamiento mejoren sustancialmente, seria necesario demasiado tiempo computacional para solucionar estos problemas.
 Experiencia existente: Esto seguramente es imposible de concretar porque cada ser humano se especializa en algun tema y es imposible reunir todo eso en una maquina. Pero, el programa no necesita ser un mago de wall street para realizar el test de Touring, por lo que se puede educar a la máquina hasta cierto punto en cada tema.
Dominio restringuido: En esta parte es que los ES no tienen escapatoria. La gente es increiblemente buena en los dominios del sentido común que dependen de un conocimiento global del mundo. Y es aqui donde la tecnologia del AI no pueden comportarse de igual manera, al no poder retener las ideas como un todo. Los sistemas expertos no tienen ni idea cuando los limites de sus conocimientos han sido alcanzados. Por ejemplo el MYCIN si es consultado para diagnosticar a una rana, no sabria la diferencia entre una rana y un humano y seguramente le preguntaria si tiene dolor de estomago y la presion de su sangre.

Aunque para nosotros esto es imposible, al ser el sentido comun inmensamente incalculable, muchos como el doctor Feigenbaum piensan lo contrario, y sostienen que la inteligencia es solo cuestion de ingeniería. Es por eso que estan construyendo proyectos VLKB - "very large knowledge base" para generar comportamiento inteligente.
La idea es capturar en una sola base todo lo que sabemos de un objeto de este tipo. Un proyecto mas ambicioso es el del doctor Doug Lenat en Texas, que esta tratando de capturar "todo" el conocimiento, implicito e explicito, que se encuentra en cientos de articulos de la EnCYClopaedia Britannica (es por eso que el proyecto se llama CYC).
El hacer esta gigantesca base de datos, enfrenta a por lo menos 3 problemas cruciales:
El primero es el tamaño de la misma base de datos, ya que el sistema debe encontrar entre un millon de datos o mas la informacion que necesita. Para direccionar esto, se necesitaria una especie de control de conocimientos. CYC lo hace en dos formas distintas: una epistemological form (usado para ingresar el conocimiento, examinarlo y seguir) y una forma heurística (usado para razonar con el conocimiento e incluyendo modificaciones de proposito especial para hacer el proceso más eficiente).
El segundo problema es la forma de mantener y modificar la base de datos. Es aqui que cobra esencial importancia el mecanismo de la explicacion, ya que el sistema debe ser capaz de poder explicarnos como llego a esa conclusion de alguna manera consisa y tener una suerte de herramienta de busqueda para contarnos todo lo que sabe de algun tema.
Y el último gran problema es que los diseñadores tiene que sacar de algún lado la información. Aqui hay por lo menos 3 posibilidades:
* La informacion puede ser codificada individualmente por especialistas de cada area.
* La informacion puede ser obtenida leyendo.
* Y por último la computadora podría descubrir el conocimiento por sí misma.

Es evidente que estos últimos métodos son muy dificilies de concretar y se estan realizando estudios para ver la factibilidad de esto.
Pero en todo caso, si de algun modo este proyecto pueda ayudar a otros a descubrir la manera de dotar de la capacidad de leer y aprender de alli a las máquinas, todo el esfuerzo habrá valido la pena.
Entornos para el desarrollo de SE
Para el correcto desenvolvimiento y desarrollo de los sistemas expertos se utilizan lenguajes de ingeniería del conocimiento. Los lenguajes más difundidos para el desarrollo de los SE son RITA, ROSIE, y ROOS.
Comenzaremos hablando de ROSIE, un lenguaje evolucionado de RITA. Este lenguaje permite al programador describir relaciones complejas y manipularlas simbólica y deductivamente.
Además soporta trabajo en redes, trabaja en una forma interactiva, compilada e interpretada y cuenta con una serie de depuradores y herramientas de programación.
Como puede ser programada en una sintaxis parecida al Ingles esto la hace bastante leíble y entendible para los usuarios.
Este lenguaje integra dos paradigmas programáticos que lo hace especial: modelacimiento basado en reglas y procedure-oriented computing (al ser lenguajes secuenciales y al mismo tiempo orientados a objetos).
Y por último es que puede ser organizado como un programa LISP lo que la hace fácil de aprender.

El lenguaje ROSS, es un lenguaje de programación orientado a objetos, y combina la Inteligencia Artificial y los Sistemas Expertos principalmente en el área de simulaciónes.
Entre sus ventajas se citan las facilidades para buscar entre objetos y su comportamiento. El programa se desarrolla de una forma que los objetos se comunican mandando mensajes para causar que las reglas o comportamientos apropiados sean ejecutados.

TECNICAS DE ADQUISICION DEL CONOCIMIENTO

Las técnicas sobre las que hablaremos se especializan en las áreas de adquisición del conocimiento, representación de ese conocimiento y maneras de solucionar problemas distribuídos.

 Exemplary programming:

Es una forma de programación en donde el conocimiento es adquirido a partir de ejemplos. El prototipo de programa que está haciendo este trabajo se llama EP.
Su función principal es crear programas a partir de ejemplos y trabaja del sgte. modo:
Cuando el usuario hace alguna tarea, EP "mira sobre sus hombros" y se fija como lo hace el usuario, crea un algoritmo de como hacerlo, si lo puede hacer lo mejora o crea algunas variantes. Esta sorprendente forma de programar tendrá muchísima importancia a la hora de acercar a la gente común, sin mayores conocimientos infórmaticos, a las ventajas de la tecnología.
El primer paso que realiza la máquina es aprender de un usuario y organizar estos conociminetos de la forma que puedan ser ejecutados.

Adquisición y refinamiento del conocimiento:

El principio básico de esta técnica es que el conocimiento inicial es ingresado por los programadores, y luego el programa descubre las falencias de las reglas y las remienda. Para que este proceso sea posible el programa experimenta y analiza sucesivamente la base de datos y su funcionamiento y de allí descubre sus debilidades.
Este acercamiento hace que las capacidades de la máquina más la experiencia humana sean aplicables a la generación y mejoramiento interactivo de los SE.

INFERNO: Una aproximación cautelosa a una inferencia incierta.

Inferno es un programa que informa al usuario acerca de las inconsisencias que podrían existir existir en las información que se le presenta, y hace sugerencias de como cambiar la información para hacerla consistente.
Para lograr esto se necesitan incluir en el programa un razonamiento subjetivo de Bayes, medidas del creer y no creer, y la teoría de la evidencia de Dempster-Shafer.
Creemos que es evidente con todos los retos que presenta esta técnica el nombre "inferno" es digno.

Resolviendo problemas distribuídos

Es un proceso en el que varios agentes interactuúan para lograr una meta común. Un ejemplo clásico de problemas distribuidos es el control aéreo en un aeropuerto.
Usa el knowledge-base-simulation para probar varias estrategias y conductas para llegar lo más eficientemente a la meta.
En el cap 11 del libro "Expert Systems: tools, techniques and applications", se discute sobre la implementación de los múltiples agentes operativos y se contrastan las metodologías, las oportunidades de los problemas distribuidos y centralizados.

CONCLUSION

La pregunta sigue cerniéndose sobre nosotros, ¿es realmente inteligente la máquina? Debemos admitir que muestra dos rasgos muy importantes de la inteligencia, la capacidad de aprender y la capacidad de razonar, pero aún así no alcanza el grado de perfección del ser humano, no es conciente del proceso que esta llevando a cabo.
Los ordenadores son procesadores en serie, avanzan de un punto a otro estando los futuros pasos determinados por los resultados presentes.El cerebro humano además piensa en paralelo, razón por la cual la capacidad humana es hasta ahora inalcanzable. Otra ventaja del humano sobre la máquina es que el humano posee una visión global de lo que nos rodea y el sentido común, mientras la máquina ni siquiera puede acercarse a estos principios.
De todas maneras al comienzo del desarrollo de los programas de inteligencia artificial salieron a la luz todas estas cuestiones, sobre todo la interrogante de que si el programa sabía o no lo que estaba ocurriendo, pero hoy esto ha dejado de ser un problema, lo que importa es que funcionan y facilitan una gran cantidad de tareas al hombre.
Luego de la derrota de Kasparov por la computadora Deep Blue, muchos se preguntan cúal será el futuro de la raza humana. ¿Serán las máquina mejores que los hombres y lo reemplazaran en sus tareas?, ¿Que pasará con los desocupados por las máquinas?. Nunca ninguna máquina podrá reemplazar al hombre en cuanto a su creatividad y su gran inteligencia, las máquinas están creadas como herramientas e instrumentos del hombre y siempre deben ser tomadas como eso, herramientas. El fin de toda máquina es servir al hombre y por eso nunca deben estar en detrimento de la calidad de vida del hombre.



miércoles, 26 de enero de 2011

Biobayex desarrolla un sistema experto para crear tipos de hortícolas a menor coste

La empresa de base tecnológica basa su software en las redes bayesianas · La herramienta asiste al genetista y reduce el tiempo, dinero y la probabilidad de error al obtener una nueva variedad de producto




La empresa de base tecnológica (EBT) de la Universidad de Almería Biobayex, compuesta por Semillas Almería y profesionales de las tecnologías de la información entre los que está el departamento de Estadística y Matemáticas Aplicada de la UAL, pretende ser la primera empresa española en desarrollar un sistema inteligente basado en la aplicación de las redes bayesianas, que permita ayudar a los genetistas en la mejora vegetal para la obtención de nuevas variedades hortícolas.

Según Francisco Bermúdez, uno de los impulsores de Biobayex, el objetivo de la empresa es especializarse en el diseño y desarrollo de sistemas expertos o inteligentes aplicados a distintos ámbitos, como la biología, los negocios, la medicina y algunos campos de las ciencias sociales.

Sencillamente, Bermúdez explica que las redes bayesianas consisten en utilizar la probabilidad en un ámbito donde hay exceso de información para la toma de decisiones a través de la fórmula causa-efecto. "Puesto que la empresa que forma parte de la sociedad es una empresa de semillas hortícolas, pretendemos ayudar a los genetistas de ésta con una asistencia artificial para tomar decisiones, además de ofrecer paralelamente un servicio de consultoría e ingeniería matemática, estadística y bioinformática a empresas o grupos de I+D que lo necesiten".

Biobayex une en un proyecto de I+D interdisciplinar las matemáticas, informática y genética para conseguir una aplicación tecnológica con la que ahorrar costes en el departamento de investigación de una empresa de semillas y optimizar procesos en el ámbito de la sección vegetal o toma de decisiones. "Se trata de obtener las variedades vegetales mejor adaptadas a las condiciones de cultivo con el mejor aprovechamiento de los insumos y parámetros exigidos por los consumidores". El objetivo es buscar nuevas variedades ya sea en forma, sabor o más resistentes, mediante cruces que puedan ser de utilidad en el mercado y tengan un valor añadido para el mismo. "Un genetista decide qué puede querer el mercado y determina la influencia de los distintos componentes ambientales y genéticos en una variedad vegetal para valorar su carácter cuantitativo". Para entenderlo mejor, Bermúdez pone un ejemplo: un pimiento, en su banco de germoplasma puede tener mil variedades, cada una de ellas puede tener entre 200 y 500 variables en su caracterización, "es imposible que el genetista pueda tener en cuenta ese volumen de datos, y se limita a 20 ó 30 variables como color, tamaño o productividad para poder conseguir la variedad que se propone. Por tanto, tiene que incrementar el número de ensayos para sacar como conclusión qué variedades sacar y conseguir por ensayo-error ese ejemplar". Debe disponer así de una finca más grande para experimentar las siembras en campo y cometer más ensayos y errores para conseguir una cuota de aciertos mínima, "la decisión de un cruce implica un coste, esto se minimiza con la aplicación".

Con la herramienta de Biobayex, el primer paso es introducir el conocimiento del genetista en un sistema experto, un software que contenga todo el banco de germoplasma de un producto, a continuación, se identifica el comportamiento de los cruces de sus variedades, es decir, qué caracteres tienen primacía sobre otros; el software realiza los análisis como un genetista. En un principio, el traslado del conocimiento de un genetista senior al sistema experto puede tener un coste inicial alto, sin embargo, una vez creado puede ser replicable para otros clientes, asimismo el que esté insertado en un software garantiza a los socios y accionistas de la empresa una estabilidad en el conocimiento. Otra de las ventajas, así, es que un genetista junior con este sistema experto puede tomar decisiones con la probabilidad de acierto de un senior.

Los sistemas bayesianos, no son nuevos. Según argumenta Bermúdez ya se usaban en los 70 en Estados Unidos en el ámbito de la medicina para asistir a los médicos a la hora de identificar una enfermedad. También los utilizan en las compañías de seguros para ver cuándo puede haber fraude; en las de teléfonos para intentar averiguar cuántos clientes van a abandonar la empresa para hacerles una oferta especial y en los sistemas de correo electrónico para determinar si un correo es spam.

Actualmente, la iniciativa de Biobayex se encuentra en fase de desarrollo, sin bien prevé concluirla para el presente año. "Del producto pretendemos obtener ahora un banco de germoplasma que servirá para jardines botánicos, grupos de investigación de biodiversidad, universidades, empresas de semillas, que inicialmente permita un sistema de organización de la colección de semillas, sobre el que se añadirá el sistema experto para que en la parte de toma de decisiones de hibridación y mejora genética pueda utilizarse como asistente".

 Fuente proviene de http://www.elalmeria.es/article/finanzasyagricultura/881557/biobayex/desarrolla/sistema/experto/para/crear/tipos/horticolas/menor/coste.html

Sistemas Expertos




lunes, 13 de diciembre de 2010

Estructura básica de un Sistema Expertos (S.E)


 Un Sistema Experto está conformado por:
Base de conocimientos (BC): Contiene conocimiento modelado extraído del diálogo con un experto.
Base de hechos (Memoria de trabajo): contiene los hechos sobre un problema que se ha descubierto durante el análisis.
Motor de inferencia: Modela el proceso de razonamiento humano. 
Módulos de justificación: Explica el razonamiento utilizado por el sistema para llegar a una determinada conclusión.
Interfaz de usuario: es la interacción entre el SE y el usuario, y se realiza mediante el lenguaje natural.
Tipos de Sistemas Expertos
Principalmente existen tres tipos de sistemas expertos:
  1. Basados en reglas previamente establecidas.
  2. Basados en casos o CBR (Case Based Reasoning).
  3. 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.
Ventajas y limitaciones de los Sistemas Expertos

Ventajas
  1. Permanencia: A diferencia de un experto humano un SE (sistema experto) no envejece, y por tanto no sufre pérdida de facultades con el paso del tiempo.
  2. Duplicación: Una vez programado un SE lo podemos duplicar infinidad de veces.
  3. Rapidez: Un SE puede obtener información de una base de datos y realizar cálculos numéricos mucho más rápido que cualquier ser humano.
  4. Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la capacidad de duplicación el coste finalmente es bajo.
  5. Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dañinos para el ser humano.
  6. Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano sí (cansancio, presión, etc.).
  7. Consolidar varios conocimientos.
  8.  Apoyo Académico.
Limitaciones
  1. Sentido común: Para un Sistema Experto no hay nada obvio. Por ejemplo, un sistema experto sobre medicina podría admitir que un hombre lleva 40 meses embarazado, a no ser que se especifique que esto no es posible ya que un hombre no puede procrear hijos.
  2. Lenguaje natural: Con un experto humano podemos mantener una conversación informal mientras que con un SE no podemos.
  3. Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad de sus errores y de errores ajenos, que un SE haga esto es muy complicado.
  4. Perspectiva global: Un experto humano es capaz de distinguir cuales son las cuestiones relevantes de un problema y separarlas de cuestiones secundarias.
  5. Capacidad sensorial: Un SE carece de sentidos.
  6. Flexibilidad: Un humano es sumamente flexible a la hora de aceptar datos para la resolución de un problema.
  7. Conocimiento no estructurado: Un SE no es capaz de manejar conocimiento poco estructurado.

sábado, 4 de diciembre de 2010

Historia De Los Sistemas Expertos

Estas pensando que la inteligencia artificiales una cosa de los últimos 3, 5 o como mucho los 10 últimos años, pero NO!, los primeros pasos en la inteligencia artificial se dieron en los !AÑOS 50!. Tu te imaginas crear un programa inteligente con el Hardware de esa época. Sencillamente es increíble.
A comienzos de los años 50 el conocido Alan Mathinsong Turing publicó "Inteligencia y Funcionamiento de las Máquinas" con el fin de demostrar hasta que punto estas tienen inteligencia.
En estos años se dieron varias definiciones de lo que significaba la inteligencia en una máquina. Sobre lo que denominamos la inteligencia artificial.
Definición de Elaim Reich:La inteligencia artificial es el estudio de como hacer que los ordenadores hagan cosas que, en estos momentos, hace mejor
el hombre.
Definición de Alexander Sporl (1971):
En su obra "Sporls-Computerbuch": Bajo Inteligencia entiendo la capacidad de un ser vivo o una máquina de ordenar informaciones, extensas observaciones, experiencias, descubrir interrelaciones para abstraer de esta forma cosas y poderlas ligar entre sí.
Uno de los primeros sistemas expertos se llamo Dendral y era capaz de calcular o descubrir hechos relativos a la
estructura molecular a partir de unos datos químicos sin elaborar.Otro sistemas expertos famosos son MYCIN que diagnostica enfermedades de la sangre y que sugiere un tratamiento y PUFF, un sistema similar pero para enfermedades de pulmón.
En el año 1950 el campo de la automática recibe un gran impulso cuando Wiener desarrolla el principio de la
retroalimentación. La teoría de la retroalimentación es base fundamental de los sistemas de control.
En 1955 Newell y Simon desarrollan la Teoría de la
lógica. Este desarrollo permitió desarrollar un programa que exploraba la solución a un problema utilizando ramas y nudos, seleccionando únicamente las ramas que más parecían acercarse a la solución correcta del problema.
En 1956, se celebra una
conferencia en Vermont (USA) de gran trascendencia en el desarrollo de la I.A. John McCarthy propone por primera vez el uso del término "Inteligencia Artificial" para denominar el estudio del tema.
En 1957, aparece la primera versión de "The General Problem Solver" (
GPS, Solucionador general de problemas), un programa capaz de solucionar problemas de sentido común pero no problemas del mundo real como diagnósticos médicos. El GPS utilizaba la teoría de la retroalimentación de Wiener..
En 1958 McCarthy anuncia su nuevo desarrollo
el lenguaje LISP (LISt Procesing), el lenguaje de elección para todos aquellos desarrolladores inmersos en el estudio de la IA.
En 1963, el Instituto Tecnológico de Massachussets (MIT) recibe una subvención de 2,2 millones de dólares del
gobierno de los Estados Unidos en concepto de investigación en el campo de la IA. De esa forma, se comprueba la importancia que el Gobierno concede a la investigación dentro de ese campo.
En 1965 aparece DENDRAL, el primer sistema experto. Es en ese año cuando Feigenbaum entra a formar parte del departamento de
informática de Stanford. Allí conoció a Joshua Lederberg, el cual quería averiguar cual era la estructura de las moléculas orgánicas completas. El objetivo de DENDRAL fue estudiar un compuesto químico. El descubrimiento de la estructura global de un compuesto exigía buscar en un árbol las posibilidades, y por esta razón su nombre es DENDRAL que significa en griego "árbol".Antes de DENDRAL los químicos solo tenían una forma de resolver el problema, estar era tomar unas hipótesis relevantes como soluciones posibles, y someterlas a prueba comparándolas con los datos.
La realización de DENDRAL duró más de diez años (1965-1975). Se le puede considerar el primer sistema experto.
En 1965 también se empezaron a utilizar
técnicas para la resolución de problemas que se caracterizaban por la búsqueda heurística como modelo para la resolución de problemas, y con ellas comenzó la investigación y desarrollo de los sistemas expertos.
En 1972, en la
Universidad de Standford se desarrolla MYCIN, sistema experto dentro del campo de la medicina para diagnostico de enfermedades infecciosas en la sangre. MYCIN se trataba de un sistema experto para el diagnóstico de enfermedades infecciosas. Desde los resultados de análisis de sangre, cultivos bacterianos y demás datos, el prog rama era capaz de determinar, o en lo menos, sugerir el microorganismo que estaba causando la infección. Después de llegar a una conclusión, MYCIN prescribía una medicación que se adaptaba perfectamente a las características de la persona, tales como el peso corporal de este.
Al mismo tiempo, Davir Marr propone nuevas
teorías sobre la capacidad de reconocimiento visual de las diferentes máquinas.
En 1972 aparece el lenguaje PROLOG basado en las teorías de Minsky.
En 1973 se desarrolla el sistema experto llamado TIERESIAS. El cometido de este sistema experto era el de servir de intérprete entre MYCIN y los especialistas que lo manejaban, a la hora introducir nuevos conocimientos en su
base de datos. El especialista debía utilizar MYCIN de una forma normal, y cuando este cometiera un error en un diagnóstico (hecho producido por la falta o fallo de información en el árbol de desarrollo de teorías) TEIRESIAS corregiría dicho fallo destruyendo la regla si es falsa o ampliándola si es eso lo que se necesita.
En 1979 aparece XCON, primer programa que sale del
laboratorio Su usuario fue la Digital Equipament Corporation (DEC).
El cometido de XCON sería configurar todos los ordenadores que saliesen de la DEC. El
proyecto presentó resultados positivos y se empezó a trabajar en el proyecto más en serio en diciembre de 1978.
En abril de 1979 el equipo de investigación que lo había diseñado pensó que ya estaba preparado para salir, y fue entonces, cuando se hizo una prueba real, esperando resolver positivamente un 95% de las configuraciones, este porcentaje tal alto se quedó en un 20% al ser contrastado con la realidad; XCON volvió al laboratorio, donde fue revisado y a finales de ese mismo año funcionó con resultados positivos en la DEC.
En 1980 se instauró totalmente en DEC. Y en 1984, el XCOM había crecido hasta multiplicarse por diez. El XCOM supuso un
ahorro de cuarenta millones de dólares al año para la DEC.
Entre los años 80 a 85 se produce la
revolución de los Sistemas ExpertosEn estos 5 años se crearon diversos sistemas expertos como el DELTA, de General Electric Company, para la reparación de locomotoras diesel y eléctricas. "Aldo en Disco" para la reparación de calderas hidroestáticas giratorias usadas para la eliminación de bacterias.
Se crearon multitud de
empresas dedicadas a los sistemas expertos como Teknowledge Inc., Carnegie Group, Symbolics, Lisp Machines Inc., Thinking Machines Corporation, Cognitive Systems Inc. formando una inversión total de 300 millones de dólares. Los productos más importantes que creaban estas nuevas compañías eran las "máquinas Lisp", que se trataba de unos ordenadores que ejecutaban programas LISP con la misma rapidez que en un ordenador central, y el otro producto fueron las "herramientas de desarrollo de sistemas expertos".
En 1987 XCON empieza a no ser rentable. Los técnicos de DEC tuvieron que actualizar XCOM rápidamente llegándose a gastar más de dos millones de dólares al año para
mantenimiento y algo parecido ocurrió con el DELTA..También en 1987 aparecieron los microordenadores Apple y compatibles IBM con una potencia parecida a los LISP. El software se transfirió a máquinas convencionales utilizando el lenguaje "C" lo que acabó con el LISP.
A partir de los 90 y con el desarrollo de la informática, se produce un amplio desarrollo en el campo de la IA y los sistemas expertos, pudiéndose afirmar que estos se han convertido en una herramienta habitual en determinadas empresas en la actualidad.
La
evolución histórica de los métodos utilizados en el desarrollo de los sistemas expertos también se ha producido a medida que se ha ido desarrollando la IA y los diferentes métodos que se han empleado para su resolución. El desarrollo de lenguajes como LISP y PROLOG condicionaron esa evolución, así como investigaciones en diversos campos relacionados. Los primeros sistemas expertos que se desarrollaron en los años 60 eran capaces de resolver solo problemas basados en situaciones determinadas, mediante sistemas de reglas .Es a partir de los 70 cuando se empiezan a resolver problemas basados en situaciones inciertas, basados en medidas difusas al principio y en redes probabilísticas con posterioridad.

Sus principales aplicaciones se dan en las gestiones empresariales debido a que;
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 esta realizando) Fiscalidad, planificación,
análisis financiero y la contabilidad financiera.