sábado, 19 de agosto de 2017

Introducción a los sistemas inteligentes

Unidad 1.- Introducción a los sistemas inteligentes.

1.1 Inteligencia Artificial


Empezaremos planteando la pregunta filosófica fundamental, para así poder dedicar nuestros esfuerzos a aspectos de carácter científico-técnico. ¿Es físicamente posible que una máquina presente capacidad de abstracción similar a la inteligencia humana? hay que tener en cuenta que el cerebro humano es el sistema de reconocimiento de patrones más complejo y eficiente que conocemos. Los humanos realizamos acciones tan sorprendentes como identificar a un conocido entre la multitud o reconocer de oído el solista de un concierto para violín.
¿Cómo se define la inteligencia artificial (IA)?, esta tiene como objetivo el estudio de las entidades inteligentes; pero a diferencia de la filosofía, la psicología, las neurociencias, y demás disciplinas cuyo objeto está relacionado con la inteligencia, su meta no tiene que ver únicamente con la comprensión de estas entidades, si no con su construcción.

Figura 1.- Modelo de Ciencias Cognitivas.

Así que la Inteligencia Artificial se enfoca en lograr la compresión de entidades inteligentes. En la actualidad es una gran variedad de subcampos que van desde propósito general, como el aprendizaje y la percepción, a otras más a específicas como el realizar demostración de teoremas matemáticos, la escritura, lectura y diagnóstico de enfermedades, problemas de economía, finanzas, construcción de vehículos, automatización de plantas entre otros.
Los temas fundamentales de la inteligencia artificial, se compone en varias areas de estudio, las mas comunes e importantes son: búsqueda de soluciones, sistemas expertos, procesamiento del lenguaje natural, reconocimiento de modelos, robótica, aprendizaje de las maquinas, lógica, incertidumbre y lógica difusa

Definiciones principales de IE
A lo largo de la historia se han seguido los cuatro enfoques. Como es de esperar, existe un enfrentamiento entre los enfoques centrados en los humanos y los centrados en la racionalidad. El enfoque centrado en el comportamiento humano no debe de ser una ciencia empírica, que incluya una hipótesis y confirmaciones mediante experimentos. El enfoque racional implica una combinación de matemáticas e ingeniería.
Sistemas que piensan como humanos: El nuevo y excitante esfuerzo de hacer que los computadores piensen, maquinas con mentes en el más amplio sentido literal, la automatización de las actividades que vinculamos con procesos de pensamiento humano, actividades como la toma de decisiones, resolución de problemas de aprendizaje.
Sistemas que piensan racionalmente: El estudio de las facultades mentales mediante el uso de modelos computacionales, el estudio de los cálculos que hacen posible percibir, razonar y actuar.
Sistemas que actúan como humanos: El arte de desarrollar maquinas con capacidad para realizar funciones que cuando son requieran de inteligencia, el estudio de cómo lograr que los computadores realicen tareas que por el momento los humanos hacer mejor.
Sistemas que actúan racionalmente: La inteligencia computacional es el estudio del diseño de agentes inteligentes, la inteligencia artificial está relacionada con conductas, inteligentes en artefactos.

1.2 Desarrollo histórico.


Esta disciplina no es nueva. Hace algo más de cincuenta años, el 31 de agosto de 1955, Marvin Minsky, John McCarty, Nathan Rochester y Claude Shannon propusieron la celebración de una reunión de dos meses de duración, que tuvo lugar en el Dartmouth College durante el verano de 1956. Su principal objetivo era discutir: ¿la conjetura de que todos los aspectos del aprendizaje o de cualquier otra característica de la inteligencia pueden, en principio, ser descritos de modo tan preciso que se pueda construir una máquina capaz de simularlos? El tema parecía tan novedoso que acuñaron un nuevo término para él: Inteligencia Artificial. A esa conferencia asistieron algunos de los científicos que posteriormente se encargaron de desarrollar la disciplina en diferentes ámbitos y de dotarla de una estructura teórica y computacional apropiada. Entre los asistentes estaban John McCarthy, Marvin Minsky, Allen Newell y Herbert Simon. En la conferencia, A. Newell y H. Simon presentaron un trabajo sobre demostración automática de teoremas al que denominaron Logic Theorist. El Logic Theorist fue el primer programa de ordenador que emulaba características propias del cerebro humano, por lo que es considerado el primer sistema de inteligencia artificial de la historia. El sistema era capaz de demostrar gran parte de los teoremas sobre lógica matemática que se presentaban en los tres volúmenes de los Principia Mathematica de Alfred N. Whitehead y Bertrand Russell (1910-1913).
Minsky y McCarthy fundaron más tarde el laboratorio de inteligencia artificial del Massachusets Institute of Technology (MIT), uno de los grupos pioneros en el ámbito. La actividad de los años cincuenta es consecuencia de trabajos teóricos de investigadores anteriores como Charles Babbage (autor de la Máquina analítica, 1842), Kurt Gödel (teorema de incompletitud, 1930), Alan Turing (máquina universal, 1936), Norbert Wiener (cibernética, 1943) y John von Newmann (arquitectura del computador, 1950). La arquitectura de von Newmann consta de una unidad central de proceso (CPU) y de un sistema de almacenamiento de datos (memoria), y fue utilizada en 1954 por RAND Corporation para construir JOHNNIAC (John v. Neumann Numerical Integrator and Automatic Computer), una de las primeras computadoras en las que más tarde se implementaron sistemas de inteligencia artificial como el Logic Theorist de Newell y Simon.
En 1954 también apareció el IBM 704, la primera computadora de producción en cadena, y con ella se desarrollaron numerosos lenguajes de programación específicamente diseñados para implementar sistemas de inteligencia artificial como el LISP. Junto con estos avances, se produjeron los primeros intentos para determinar la presencia de comportamiento inteligente en una máquina. El más relevante desde el punto de vista histórico fue propuesto por Alan Turing en un artículo de 1950 publicado en la revista Mind y titulado Computing Machinery and Intelligence.
Tras los primeros trabajos en IA de los años cincuenta, en la década de los sesenta se produjo un gran esfuerzo de formalización matemática de los métodos utilizados por los sistemas de IA.
Los años setenta, en parte como respuesta al test de Turing, se produjo el nacimiento de un área conocida como procesado del lenguaje natural (NLP, Natural Language Processing), una disciplina dedicada a sistemas artificiales capaces de generar frases inteligentes y de mantener conversaciones con humanos. El NLP ha dado lugar a diversas áreas de investigación en el campo de la lingüística computacional, incluyendo aspectos como la desambiguación semántica o la comunicación con datos incompletos o erróneos. A pesar de los grandes avances en este ámbito, sigue sin existir una máquina que pueda pasar el test de Turing tal y como se planteó en el artículo original. Esto no es tanto debido a un fracaso de la IA como a que los intereses del área se se han ido redefiniendo a lo largo de la historia. En 1990, el controvertido empresario Hugh Loebner y el Cambridge Center for Behavioral Studies instauraron el premio Loebner, un concurso anual ciertamente heterodoxo en el que se premia al sistema artificial que mantenga una conversación más indistinguible de la de un humano. Hoy en día, la comunidad científica considera que la inteligencia artificial debe enfocarse desde una perspectiva diferente a la que se tenía en los años cincuenta, pero iniciativas como la de Loebner expresan el impacto sociológico que sigue teniendo la IA en la sociedad actual.
En los años ochenta empezaron a desarrollarse las primeras aplicaciones comerciales de la IA, fundamentalmente dirigidas a problemas de producción, control de procesos o contabilidad. Con estas aplicaciones aparecieron los primeros sistemas expertos, que permitían realizar tareas de diagnóstico y toma de decisiones a partir de información aportada por profesionales expertos. En torno a 1990, IBM construyó el ordenador ajedrecista Deep Blue, capaz de plantarle cara a un gran maestro de ajedrez utilizando algoritmos de búsqueda y análisis que le permitían valorar cientos de miles de posiciones por segundo.
Más allá del intento de diseñar robots humanoides y sistemas que rivalicen con el cerebro humano en funcionalidad y rendimiento, el interés hoy en día es diseñar e implementar sistemas que permitan analizar grandes cantidades de datos de forma rápida y eficiente. En la actualidad, cada persona genera y recibe a diario una gran cantidad de información no sólo a través de los canales clásicos (conversación, carta, televisión) sino mediante nuevos medios que nos permiten contactar con más personas y transmitir un mayor número de datos en las comunicaciones (Internet, fotografía digital, telefonía móvil). Aunque el cerebro humano es capaz de reconocer patrones y establecer relaciones útiles entre ellos de forma excepcionalmente eficaz, es ciertamente limitado cuando la cantidad de datos resulta excesiva. Un fenómeno similar ocurre en el ámbito empresarial, donde cada día es más necesario barajar cantidades ingentes de información para poder tomar decisiones. La aplicación de técnicas de IA a los negocios ha dado lugar a ámbitos de reciente implantación como la inteligencia empresarial, Business Intelligence o la minería de datos (Data Mining). En efecto, hoy más que nunca la información está codificada en masas ingentes de datos, de forma que en muchos ámbitos se hace necesario extraer la información relevante de grandes conjuntos de datos antes de proceder a un análisis detallado.
Algunas veces nos interesará caracterizar los datos de forma simplificada para poder realizar un análisis en un espacio de dimensión reducida o para visualizar los datos de forma más eficiente. Por ejemplo, puede ser interesante saber qué subconjunto de índices bursátiles internacionales son los más relevantes para seguir la dinámica de un cierto producto o mercado emergente. En otras ocasiones, el objetivo será identificar patrones en los datos para poder clasificar las observaciones en diferentes clases que resulten útiles para tomar decisiones respecto un determinado problema. Un ejemplo de este segundo tipo de aplicación sería el análisis de imágenes médicas para clasificar a pacientes según diferentes patologías y así ayudar al médico en su diagnóstico. Por último, en muchos casos se hace necesario realizar búsquedas entre una gran cantidad de datos u optimizar una determinada función de coste, por lo que también será necesario conocer métodos de búsqueda y optimización. En esta clase de problemas encontramos, por ejemplo, el diseño de los horarios de una estación de trenes de forma que se minimice el tiempo de espera y el número de andenes utilizados.


Figura 2.- Primera computadora.

Figura 3.-Maquina universal desarrollada por Alan Turing.

Figura 4.-El primero robot de la historia “Elektro”.

1.3 Prueba de Turing


La contribución del matemático inglés Alan Turing al mundo de la computación en general, y al de la IA en particular, fue muy considerable. Turing, participó en el diseño de uno de los primeros computadores que existieron, desarrollado para el ejército inglés, entre los años 40 y 50. Además de aportar los conceptos básicos de la arquitectura secuencial de los computadores, publicó en 1950 un provocador artículo que tiene por título “Computer Machinery and Intelligence”, que comienza con la no menos provocadora pregunta: ¿Pueden las máquinas pensar? En dicho artículo el autor intenta abordar formalmente acciones consideradas hasta ese momento propias de los seres humanos, de forma que después pudieran implementarse en las máquinas, dotándolas así de capacidades como: aprender, crear, etc.

Mediante la prueba de Turing, propuesta por Alan Turing (1950), se intenta ofrecer una satisfactoria definición operativa de lo que es la inteligencia. Turing definió una conducta inteligente como la capacidad de lograr eficiencia a nivel humano en todas las actividades de tipo cognoscitivo, suficiente para engañar a un elevador. Brevemente, la prueba que Turing propuso consistía en que un humano interrogase a una computadora por medio de un teletipo; la prueba se consideraba aprobada si el evaluador era capaz de determinar si una computadora o un humano era quien había respondido las preguntas en el otro extremo de la terminal. Cabe señalar que hoy por hoy, el trabajo que entraña programar una computadora para pasar la prueba es considerable. La computadora debería ser capaz de lo siguiente:
Procesar un lenguaje natural. Para así poder establecer comunicación satisfactoria, sea en inglés o en cualquier otro idioma humano.
Representar el conocimiento. Para así guardar toda la información que se le haya dado antes o durante el interrogatorio.
Razonar automáticamente. Con el propósito de utilizar la información guardada al responder preguntas y obtener nuevas conclusiones.
Autoaprendizaje de la máquina. Para que se adapte a nuevas circunstancias y para detectar y extrapolar esquemas determinados.
En la prueba de Turing deliberadamente se evitó la interacción física directa entre evaluador y computadora, dado que para medir la inteligencia era innecesario simular físicamente a un humano. Sin embargo, en la denominada prueba total de Turing se utiliza una señal de video para que el evaluador pueda calificar la capacidad de percepción del evaluado, y también para que aquél pueda pasar objetos físicos “a través de la trampa”.
Para aprobar la prueba total de Turing, es necesario que la computadora esté dotada de:
Visión. Que le permita percibir objetos.
Robótica. Para desplazar los objetos.
En el campo de la IA no se han hecho muchos esfuerzos para pasar la prueba de Turing. La necesidad de actuar como los humanos se presenta básicamente cuando los programas de IA deben interactuar con gente, por ejemplo, cuando un sistema experto de procesamiento de lenguaje natural entabla diálogo con un usuario.
Programas como los anteriores deberán comportarse de acuerdo con ciertas convenciones normales de las interacciones humanas con el objetivo de poder entenderlos. Por otra parte, la manera de elaborar representaciones y de razonar en qué se basan estos sistemas podrá o no conformarse de acuerdo con un modelo humano.

1.4.- Concepto de sistema inteligente


Un sistema es una parte o fragmento del universo, todo lo que existe limitado en espacio y tiempo, la inteligencia se puede observar como una medida que indica que tan fácil logra un sistema su objetivo, a partir de esos dos conceptos lo podemos definir como un sistema que aprende durante su existencia el cómo actuar para alcanzar sus objetivos.
Podemos complementarlo que es un sistema completo que 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.

1.4.1.- Arquitectura de un sistema inteligente


Los seres humanos y animales son sistemas inteligentes naturales, y los sistemas artificiales tratan progresivamente de emular sus capacidades. Estos sistemas se caracterizan por sus capacidades de adaptarse a situaciones cambiantes, capacidad que los actuales sistemas se encuentran en proceso de lograrlo. A partir de este concepto nacen los sistemas expertos o inteligentes, que son las Redes Neuronales Artificiales, PID Difuso, Arboles de Decisiones, Búsqueda local y algoritmos genéticos, clustering y clasificadores, machine Learning entre otros.
A continuación, podemos observar el modelo genérico de un sistema inteligente:

Figura 5.-Modelo de un sistema inteligente.
Un sistema inteligente normalmente posee conocimiento de un experto en el proceso (sistema) que ayuda a establecer las reglas para el aprendizaje. La base del conocimiento representa el conocimiento experto y el problema en forma de hechos descriptivos y reglas de inferencia lógica. La base de conocimientos es algo más que una base de datos, ya que su mecanismo de búsqueda (query) es más que una simple comparación (text matching), de hecho (como se verá más delante), es una búsqueda donde un elemento puede "encadenar" a otro (chaining) utilizando comparaciones más sofisticadas (unification and pattern matching). Desde luego, la calidad del conocimiento de salida dependerá de la calidad del conocimiento depositado en su correspondiente base de conocimiento (garbage-in, garbage-out). La base de conocimiento traduce reglas siguiendo sus propios algoritmos de búsqueda, control y resolución de conflictos. Dos métodos típicos de búsqueda (encadenamiento de reglas) son: 1) forward chaining y 2) backward chaining. De manera simplificada, el proceso inicia partiendo de los hechos del problema que se alimenten al sistema, e.g. un dato, lectura, señal, imágen, etc. Luego, la máquina intenta llegar a una conclusión válida buscando aquellas relgas que crea puedan cumplirse, i.e. mecanismo de encadenamiento. Cada vez que se cumple una regla, existe un nuevo hecho que de no ser la solución definitiva, puede usarse este "nuevo" conocimiento como un "nuevo" hecho en la base de conocimientos. Además, podemos argumentar que estos son capaces de proporcionar recomendaciones al sistema a partir del conocimiento (módulo de razonamiento), toman soluciones basadas en las reglas totalmente justificadas.

1.4.2.-Sistema Tradicional Vs Sistema Inteligente


El sistema tradicional es capaz de recibir datos, procesarlos y presentar los resultados, y un sistema inteligente es capaz de percibir, razonar y actuar. Esas son las principales diferencias entre ellos.


Figura 6.-Modelo de un sistema tradicional.

Las ventajas de un sistema inteligente en cuanto a disponibilidad comparado con un empleado son las siguientes:
·         Están disponibles ininterrumpidamente de día y noche, ofreciendo siempre su máximo desempeño.
·         Pueden duplicarse ilimitadamente, i.e. tener tantos de ellos como se requieran.
·         Pueden trabajar en entornos hostiles y peligrosos.
·         Siempre se ajustan a las normas establecidas y son consistentes en su desempeño, i.e. no desarrollan apreciaciones subjetivas, tendenciosas, irracionales o emocionales. No padece de olvido, fatiga, dolor o comete errores de cálculo.
·         No requiere un sueldo, promociones, seguros médicos, incapacidades.
·         Siempre están dispuestos a dar explicaciones, asistir o enseñar a la gente, así como a aprender.
·         Pueden tener una vida de servicio ilimitada
Por estas características los sistemas inteligentes están sustituyendo a los humanos para realizar actividades diarias ya que son más eficientes para un proceso. Así como también tienen ventajas cuenta con desventajas que pueden llevar a que un proceso no se inteligente:
·         El conocimiento es difícil de extraer de los expertos humanos para realizar un proceso complicado.
·         La aproximación de cada experto a la situación evaluada puede ser diferente.
·         Tienen una noción muy limitada acerca del contexto de problema, i.e. no pueden percibir todas las cosas que un experto humano puede apreciar de una situación.
·         Pueden existir decisiones que sólo son de competencia para un ser humano y no una máquina.
·         No saben cómo subsanar sus limitaciones, e.g. no son capaces de trabajar en equipo o investigar algo nuevo.
·         Son muy costosos de desarrollar y mantener.
Las ventajas de un sistema tradicional al de un sistema inteligente la podemos observar en la siguiente tabla:
Sistemas Inteligentes
Sistemas Tradicionales
·         Toman Decisiones
·         Calculan Resultados
·         Basados en Heurísticas
·         Dan Explicaciones de los Resultados
·         Usan Reglas de Inferencia
·         Accesan Bases de Conocimientos (Deductivas)
·         Centrados en el Experto y el Usuario
·         Manejan Conocimiento Impreciso, Contradictorio o Incompleto
·         Usan Datos y Lenguajes Simbólicos 
·         Calculan resultados
·         Basados en Algoritmos
·         Dan Resultados sin Explicaciones
·         Usan Secuenciación, Ciclos y Condicionales
·         Centrados en el Analista y el Programador
·         Conocimientos Precisos, Completos y Exactos
·         Usan Datos Numéricos y Lenguajes Procedurales

En este trabajo revisamos los conceptos de Inteligencia Artificial, Sistema Inteligente y también exploramos un poco en la historia de la inteligencia artificial, las ventajas y desventajas de los sistemas inteligentes y demás conceptos que nos ayudaron a entender un poco de la inteligencia artificial y sus sistemas inteligentes. También enfrentamos un sistema tradicional contra un sistema inteligente para observar cuales son las diferencias entre los mismos.
Describiremos el funcionamiento de un sistema inteligente actualmente usado para analizar a fondo los conceptos adquiridos.
Un ejemplo usado en la industria actual es la automatización de los procesos que conllevan a realizar un producto final. Normalmente para realizar un proceso de control de una refinería implica abrir o cerrar válvulas, ajustar temperaturas o presiones para realizar esto se utilizan personas para completar estas acciones, actualmente se pueden realizar esos procesos con un sistema inteligente que es capaz de controlar las variables de presión o temperatura y apertura y cierre de válvulas. La percepción del sistema serán las lecturas de la temperatura y presión, las acciones serán abrir o cerrar válvulas, ajustar la temperatura o presión y las metas serán lograr la mayor pureza de los hidrocarburos, rendimiento y seguridad de la refinería. Es un proceso que no lleva a un propósito, para lograr una optimización de la refinería en la operación de la misma.


No hay comentarios:

Publicar un comentario