viernes, 5 de junio de 2015

La inteligencia artificial



El génesis

D
urante años, la ciencia ficción miró hacia un futuro en el que los robots fueran inteligentes y los cyborgs, mezcla de humano y máquina, frecuentes: Terminator, Matrix, Blade Runner y Yo, Robot son buenos ejemplos de ello. No obstante, hasta la última década, cualquier estudio sobre lo que esto podría suponer en el mundo real del futuro carecía de utilidad, ya que todo se consideraba ciencia ficción y no realidad científica. Hoy, sin embargo, la ciencia no solo se ha puesto al día, sino que ha incorporado, con ayuda de algunas de las ideas lanzadas por la ciencia ficción, utilidades a las que aparentemente no lograban llegar los argumentos originales y que en algunos casos siguen sin llegar.

Inteligencia artificial, término que, en su sentido más amplio, indicaría la capacidad de un artefacto de realizar los mismos tipos de funciones que caracterizan al pensamiento humano. La posibilidad de desarrollar un artefacto así ha despertado la curiosidad del ser humano desde la antigüedad; sin embargo, no fue hasta la segunda mitad del siglo XX, cuando esa posibilidad se materializó en herramientas tangibles.

El término Inteligencia Artificial (IA) fue acuñado en 1956 por John McCarthy, del Instituto de Tecnología de Massachusetts. En ese año se celebró la conferencia de Dartmouth, en Hanover (Estados Unidos), y en ella,  establecieron las bases de la inteligencia artificial como un campo independiente dentro de la informática. Previamente, en 1950, Alan M. Turing había publicado un artículo en la revista Mind, titulado “Computing Machinery and Intelligence” (“Computadora e inteligencia”), en el que reflexionaba sobre el concepto de inteligencia artificial y establecía lo que luego se conocería como el test de Turing, una prueba que permite determinar si una computadora se comporta conforme a lo que se entiende como artificialmente inteligente o no.

Con el avance de la ciencia moderna la búsqueda de la IA ha tomado dos caminos fundamentales: la investigación psicológica y fisiológica de la naturaleza del pensamiento humano, y el desarrollo tecnológico de sistemas informáticos cada vez más complejos.

En este sentido, el término IA se ha aplicado a sistemas y programas informáticos capaces de realizar tareas complejas, simulando el funcionamiento del pensamiento humano, aunque todavía muy lejos de éste. En esta esfera los campos de investigación más importantes son el procesamiento de la información, el reconocimiento de modelos, los juegos y las áreas aplicadas, como el diagnóstico médico.

¿Es tan simple como parece?

Cuando pensamos en un robot, lo primero que nos viene a la mente es un pequeño aparato con ruedas o tal vez una cabeza metálica más o menos parecida a la humana . Sea cual fuere su apariencia física, nos inclinamos a pensar que el robot puede ser manejado por control remoto por un humano, como en el caso de un robot capaz de desactivar bombas, que puede ser controlado por un sencillo programa informático o incluso que puede ser capaz de aprender a través de un microprocesador como un cerebro tecnológico. En todos estos casos, consideramos que el robot es simplemente una máquina. Pero ¿qué ocurre cuando el robot tiene un cerebro biológico hecho con células cerebrales (neuronas) y posiblemente incluso a base de neuronas humanas?

La noción de robótica implica una cierta idea preconcebida de una estructura mecánica universal capaz de adaptarse, como el hombre, a muy diversos tipos de acciones, destacando en mayor o menor grado, las características de movilidad, programación, autonomía y multifuncionalidad. 


Sin embargo, en la actualidad abarca una amplia gama de dispositivos con muy diversos trazos físicos y funcionales asociados a su particular estructura mecánica, a sus características operativas y al campo de aplicación para el cual han sido diseñados. Es importante destacar que todos estos factores están íntimamente relacionados, de tal forma que la configuración y el comportamiento de un robot condicionan su adecuación para un campo determinado de aplicaciones y viceversa, a pesar de la versatilidad inherente al propio concepto de robot.
         
Los robots se clasifican según su campo de aplicación en robots industriales y robots de servicios. Van desde robots tortugas en los salones de clases, robots soldadores en la industria automotriz, hasta brazos teleoperadores en el transbordador espacial, lo que evidencia que son utilizados en una diversidad de campos.

¿Programar o no programar he aquí el dilema?

Para mí en lo personal existen dos tipos de informáticos; usuarios y programadores. Los primeros los considero pasivos porque son personas que utilizan las herramientas informáticas ya creadas: procesadores de textos, hojas de cálculo, programas de diseño, etc., los segundos son los que se “hablan de tú a tú” con la computadora estos manejan bases de datos y lo más importante lenguajes de programación. Sin la programación la comunicación con los robots no se podría dar ya que este debe recibir una secuencia de instrucciones para realizar una acción.

Un lenguaje de programación consiste en todos los símbolos, caracteres y reglas de uso que permiten a las personas "comunicarse" con las computadoras. Existen varios cientos de lenguajes y dialectos de programación diferentes. Algunos se crean para una aplicación especial, mientras que otros son herramientas de uso general más flexibles que son apropiadas para muchos tipos de aplicaciones.

Aunque todos los lenguajes de programación tienen un conjunto de instrucciones que permiten realizar dichas operaciones, existe una marcada diferencia en los símbolos, caracteres y sintaxis de los lenguajes de máquina, lenguajes ensambladores y lenguajes de alto nivel.

Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos: C#, Delphi, C, PHP, Perl, Python, Visual Basic, Pascal, Java, entre otros.



Una computadora es totalmente inútil si no dispone de un programa capaz de procesar información, para que se realice dicho procesamiento de información habrá sido necesario pensar, construir, y crear un programa y ejecutar dicho programa o aplicación en la computadora.

Por último la programación pretende que sus programas sean útiles y eficientes, de muchs formas diferentes, la programación nos dará el mismo resultado de un programa, un buen programador llegara al mismo resultado con un mínimo de código y de la forma más clara y lógica posible, un código claro y legible facilita el mantenimiento de la aplicación o sistema.

Los sistemas expertos utilizados en inteligencia artificial son software o programas que emula el comportamiento de un experto humano en la solución de un problema. Los sistemas expertos funcionan de manera que almacenan conocimientos concretos para un campo determinado y solucionan los problemas, utilizando esos conocimientos, mediante deducción lógica de conclusiones. Con ellos se busca una mejora en calidad y rapidez de respuestas dando así lugar a una mejora de la productividad del experto.
Los sistemas expertos pueden estar basados en reglas,  es decir, disponen de unos conocimientos predefinidos que se utilizan para tomar todas las decisiones aplicando heurística o aplicando el razonamiento basado en casos, donde la solución a un problema similar planteado con anterioridad se adapta a un nuevo problema.
Para los verdaderos expertos humanos supone un gran apoyo que reduce tiempo y, en ocasiones puede realizar tareas por sí mismo. Pero, para que un sistema experto sea una herramienta efectiva debe de poseer dos capacidades: por un lado debe ser posible explicar los razonamientos del sistema experto, por otro debe ser capaz de integrar nuevos conocimientos así como modificar sus conocimientos obtenidos por otros mejorados.

Lenguajes de Programación para la Inteligencia Artificial
           
En principio, cualquier lenguaje de programación puede ser utilizado. Tradicionalmente LISP y PROLOG han sido los lenguajes que se han utilizado para la programación de sistemas expertos.
          
Estos lenguajes brindan características especialmente diseñadas para operar problemas generalmente hallados en Inteligencia Artificial.
         
Una de las principales características que comparten los lenguajes LISP y PROLOG, como derivación de su respectiva estructura, es que logran ser utilizados para escribir programas capaces de examinar a otros programas, incluyendo a ellos mismos.
LISP: Su nombre viene de List Processor. LISP fue el primer lenguaje para procesamiento simbólico. Fue desarrollado en 1958, en el Instituto de Tecnología de Massachusetts
PROLOG: PROgramming in LOGic (PROLOG), es otro de los lenguajes de programación utilizados en IA. PROLOG fue desarrollado en Francia, en 1973 en la Universidad de Marseilles.
OPS5: Official Production System 5 (OPS5), es un lenguaje para ingeniería cognoscitiva que aguanta el procedimiento de representación del conocimiento en forma de reglas.

Ventajas de Sistemas Expertos

Permanencia: Una vez entrenado un sistema experto con toda la información requerida, su capacidad de aprendizaje puede ser incrementada y actualizada de acuerdo a las necesidades del cliente para todo el trabajo presente y futuro.
Duplicación: Una vez programado un sistema experto lo podemos duplicar infinidad de veces, lo que se traduce en capacidad multi-operación.
Rapidez: Un Sistema experto puede obtener información de una base de datos y realizar cálculos numéricos mucho más rápido que cualquier ser humano, otorgando altos niveles de procesamiento y capacidad de reacción inmediata.
Bajo costo: Las personas adquieren tecnología de punta bajo un esquema de costo/beneficio que beneficia con demostrados resultados en la inversión.
Fiabilidad: Al ser un mecanismo basado en inteligencia artificial, y entrenado con todo el conocimiento de la institución o empresa y su equipo experto, la confianza en los resultados se maximiza al automatizar el conocimiento.

¿Quién dominara a quién?

Todos sabemos que la evolución tecnológica ha sido muy importante en los últimos años. Haciendo una pequeña visualización a futuro, se hace evidente que el impacto que tendrán los diferentes servicios de telecomunicación, informática y sobre todo la inteligencia artificial o sistemas inteligentes son derivados de esa evolución, en la vida de los ciudadanos será cada vez más importante.
El acceso a Internet será cada vez más rápido, la televisión se hará digital e interactiva, los nuevos operadores ofrecerán alternativas interesantes a la telefonía básica, la domótica entrará de lleno en los hogares, y a través de los sistemas inteligentes puestos algunos ya en marcha en la medicina, industria, agricultura.

Dentro de la sociedad en general la Inteligencia Artificial es una de las ciencias que causa mayor impacto, el aprendizaje de máquinas, resultando importante el proceso de realizar comportamientos inteligentes, que un sistema pueda mejorar su comportamiento sobre la base de la experiencia mediante el proceso de tareas repetitivas y que además que tenga una noción de lo que es un error y que pueda evitarlo, resulta muy interesante.

¿Puede un sistema inteligente aprender a resolver algún problema y razonarlo a partir de un ejemplo?

Esta pregunta abordaba únicamente en la ciencia ficción hace tiempo, pero ahora con los avances tecnológicos vemos que es posible que se realice este tipo de actividades en un sistema esto ha llevado a muchos científicos al estudio profundo de cómo es el aprendizaje sobre las redes neuronales que poseen esta capacidad de aprendizaje por medio de parámetros que se adapten al sistema artificiales para que así se tenga una respuesta deseada.

Como influirán mañana los sistemas inteligentes en la vida de la humanidad, que papel desempeñaran en un futuro más o menos lejano estos extraños mecanismos creados por el propio hombre casi a su imagen y semejanza, quien diría que algún día una maquina fuera comparada semejante al humano fuera capaz de realizar actividades con tanta exactitud, y confiabilidad y que este sustituyera su trabajo, no lo sabemos pero es un hecho que ocurrirá por lo tanto no queda más que prepararnos para las futuras tendencias en la humanidad.

¿Pero qué tan lejos nos encontramos de construir maquinas tan poderosas como el ser humano?


Reflexión.


En la sociedad, dentro de las ciencias de la computación, la de la Inteligencia Artificial es una de las áreas que causa más expectación. Que un sistema pueda mejorar su comportamiento sobre la base de la experiencia y que además, tenga una noción de lo que es un error y que pueda evitarlo, resulta fascinante.  
No obstante, la realización de este tema, me ha servido para darme cuenta de que la Inteligencia Artificial no es algo nuevo, lleva décadas de estudio y está en constante evolución. La realidad es que la mayoría de la gente, al hablar de inteligencia artificial tiende a relacionarlo con el mundo de la robótica y, más concretamente a los robots con formas humanas, capaces de relacionarse.  Al desarrollar el tema he descubierto que no es así. La robótica existía mucho antes de la inteligencia artificial.
Resulta también interesante que, al encontrarse en constante evolución, encontramos antiguas referencias de robots en la ciencia ficción que ahora sabemos que son posibles a medio o largo plazo.

Los métodos tradicionales en Inteligencia Artificial que permitieron el desarrollo de los primeros sistemas expertos y otras aplicaciones, ha ido de la mano de los avances tecnológicos y las fronteras se han ido expandiendo constantemente cada vez que un logro, considerado imposible en su momento, se vuelve posible gracias a los avances en todo el mundo, generando incluso una nueva mentalidad de trabajo que no reconoce fronteras físicas ni políticas. Por ello, soy optimista en relación al futuro siempre que se respeten los límites culturales y éticos. Creando siempre máquinas capaces de ayudar al ser humano, de sustituirlo en tareas desagradables, duraderas, pesadas o como complemento de ocio.

Si gustas ver el documento original en pdf sigue este link.

https://drive.google.com/file/d/0B4UM4PJkqBtfWGdjMDhBRnFKNkk/view?usp=sharing

No hay comentarios:

Publicar un comentario