TAREAS DE INVESTIGACION. MARGARITA CONCEPCION VAZQUEZ . EJEMPLOS DE APLICACIONES DE INTELIGENCIA ARTIFICIAL ROBOTICA En 2002 Honda y Sony, comenzaron a vender comercialmente robots humanoides como “mascotas”. Los robots con forma de perro o de serpiente sin embargo, en una fase de producción muy amplia, el ejemplo más notorio ha sido Aibo de Sony. PROCESAMIENTO DE LENGUAJE NATURAL El robot posee un amplio vocabulario y utiliza avanzadas técnicas de reconocimiento del habla y de procesamiento del lenguaje natural para convertir el audio en texto y extraer las palabras clave. PaPeRo es un robot ideado por NEC con el que puedes hablar para que vaya actualizando tu blog con aquellas cosas que le cuentas. RECONOCIMIENTO DE PATRONES El reconocimiento de patrones se encarga de la descripción y clasificación (reconocimiento) de objetos, personas, señales, representaciones, etc. Los sistemas tutoriales inteligentes (STI) son una nueva forma de programas para adelantar Instrucción Apoyada por Computador (IAC) con herramientas de Inteligencia Artificial (IA), Su finalidad es tratar de simular un maestro experto. Los tutores inteligentes Los sistemas tutoriales inteligentes (STI) son una nueva forma de programas para adelantar Instrucción Apoyada por Computador (IAC) con herramientas de Inteligencia Artificial (IA). o Manipulación inteligente en base de datos La programación automática La programación automática pretende que sea el propio ordenador el que escriba los programas que necesitan las personas, siguiendo las indicaciones de estas. Visión computarizada El propósito de la visión artificial es programar un computador para que "entienda" una escena o las características de una imagen. LENGUAJES El Lisp (o LISP) es una familia de lenguajes de programación de computadora de tipo funcional con una larga historia y una sintaxis completamente entre paréntesis. Especificado originalmente en 1958 por John McCarthy y sus colaboradores en el Instituto Tecnológico de Massachusetts, el Lisp es el segundo más viejo lenguaje de programación de alto nivel de extenso uso hoy en día; solamente el FORTRAN es más viejo. Al igual que el FORTRAN, el Lisp ha cambiado mucho desde sus comienzos, y han existido un número de dialectos en su historia. Lenguaje prolog Prolog es un lenguaje de programación creado para representar y utilizar el conocimiento que se tiene sobre un determinado dominio. Más exactamente, el dominio es un conjunto de objetos y el conocimiento se representa por un conjunto de relaciones que describen las propiedades de los objetos y sus interrelaciones. Un conjunto de reglas que describa estas propiedades y estas relaciones es un programa PROLOG. Una definición más accesible para el usuario común sería: Prolog es un lenguaje de programación que es usado para resolver problemas que envuelven objetos y las relaciones entre ellos. Su definición basada en la lógica formal, permite ejecutar estatutos que no son otra cosa que oraciones de un lenguaje lógico elemental particular de cláusulas. Prolog por su naturaleza muestra una habilidad para describir gramáticas, en particular gramáticas libres de contexto. Lenguaje chip Un lenguaje de programación de bajo nivel es el que proporciona un conjunto de instrucciones aritmeticológicas sin la capacidad de encapsular dichas instrucciones en funciones que no estén ya contempladas en la arquitectura del hardware. LENGUAJE OPS5 El lenguaje OPS5 es quizás el menos conocido de los nombrados. No obstante, su importancia en el desarrollo de la inteligencia artificial fue clave dado que fue el primer lenguaje usado con resultado de éxito en un sistema experto. La familia de los lenguajes OPS (Oficial Production System) fue desarrollada a finales de la década de 1970 por Charles Forgy, se trata de un lenguaje para ingeniería cognoscitiva que aguanta el procedimiento de representación del conocimiento en forma de reglas. Lenguaje smalltalk Smalltalk es un lenguaje de programación que permite realizar tareas de computación mediante la interacción con un entorno de objetos virtuales. Metafóricamente, se puede considerar que un Smalltalk es un mundo virtual donde viven objetos que se comunican mediante el envío de mensajes. Un sistema Smalltalk está compuesto por: Máquina virtual Imagen virtual que contiene todos los objetos del sistema Lenguaje de programación (también conocido como Smalltalk) Biblioteca de Objetos reusables Opcionalmente un entorno de desarrollo que funciona como un sistema en tiempo de ejecución. LENGUAJE HYPERCARD HyperCard fue una aplicación informática de Apple Computer que se contó entre los primeros sistemas hipermedia con éxito anteriores a la World Wide Web. Conceptualmente se acerca a una base de datos, pues almacena información, siendo además gráfico, flexible y capaz de crear ficheros fáciles de modificar. También incluía HyperTalk, un lenguaje de programación potente y relativamente fácil de usar, para manipular los datos y la interfaz de usuario. Los usuarios de HyperCard lo usaban a menudo como un sistema de programación para el desarrollo rápido de aplicaciones más que como base de datos. HyperCard fue lanzado originalmente con el System Software 6 en 1987 y retirado definitivamente del mercado en marzo de 2004, aunque para entonces hacía muchos años que no se actualizaba. HyperCard corre nativamente sólo en Mac OS versiones 9 y anteriores, pero puede usarse aún en el modo Classic de Mac OS X. LENGUAJE CLOS CLOS es el acrónimo inglés de Common Lisp Object System y es una extensión de ANSI Common Lisp para permitir la programación orientada a objetos que ha sido adoptada por otros dialectos de Lisp como EuLisp o Emacs Lisp.1 Inicialmente fue propuesta como un añadido (add-on) del lenguaje, pero posteriormente CLOS fue adoptado como parte de estándar ANSI de Common Lisp. CLOS es un lenguaje de programación dinámico dirigido a objetos que difiere mucho de lo que podemos encontrar en lenguajes de programación estáticos orientados a objetos como C++ o Java. CLOS está inspirado en sistemas Lisp orientados a objetos anteriores como MIT Flavors o Common LOOPS, aunque es más general que éstos. Precisamente la generalidad de CLOS es la característica más difícil de obtener, aunque crear un sistema OO en Lisp es fácil CARACTERISTICAS DE LOS LENGUJES DE INTELIGENCIA ARTIFICIAL. CONOCIMIENTO ESPECIALIZADO El razonamiento basado en el conocimiento, implica que estos programas incorporan factores y relaciones del mundo real y del ámbito del conocimiento en que ellos operan. Al contrario de los programas para propósito específico, como los de contabilidad y cálculos científicos; los programas de Inteligencia Artificial pueden distinguir entre el programa de razonamiento o motor de inferencia y base de conocimientos dándole la capacidad de explicar discrepancias entre ellas. Los conceptos de conocimiento e inteligencia están íntimamente ligados. La inteligencia requiere de la posesión y acceso al conocimiento. Conocimiento no debe ser confundido con datos o información. El conocimiento incluye y requiere del uso de datos e información. Además, combina relaciones, dependencias, y la noción del saber con datos e información. A veces es también útil o más aun necesario distinguir entre conocimiento y otros términos como creencia e hipótesis. Esencialmente, se define como creencia a toda expresión que tiene significado, que es coherente y puede ser representada. En consecuencia una creencia puede ser verdadera o falsa. Hipótesis se define como una creencia justificada que no se conoce sea verdadera. Una hipótesis es una creencia que está respaldada por cierta evidencia, pero todavía puede resultar falsa. Finalmente, se puede también decir que conocimiento es una creencia justificada como verdadera. Otros términos relacionados con el conocimiento y que son ocasionalmente empleados son epistemología y metaconocimiento. Epistemología es el estudio de la naturaleza del conocimiento, mientras que metaconocimiento es conocimiento acerca del conocimiento, esto es, conocimiento acerca de lo que se conoce. El conocimiento puede ser de tipo procedimental, declarativo o heurístico. Conocimiento procedimental es aquel conocimiento compilado que se refiere a la forma de realizar una cierta tarea (el saber como hacerlo). Por ejemplo, los pasos necesarios para resolver una ecuación algebraica son expresados como conocimiento procedimental. El conocimiento declarativo es conocimiento pasivo, expresado como sentencias acerca de los hechos del mundo que nos rodea (el saber que hacer). La información personal en una base de datos es un típico ejemplo de conocimiento declarativo. Tales tipos de datos son piezas explícitas de conocimiento independiente. El conocimiento heurístico es un tipo especial de conocimiento usado por los humanos para resolver problemas complejos. El adjetivo heurístico significa medio para descubrir. Está relacionado con la palabra griega heuriskein que significa descubrir, encontrar. Se entiende por heurístico a un criterio, estrategia, método o truco utilizado para simplificar la solución de problemas. El conocimiento heurístico usualmente se lo adquiere a través de mucha experiencia. ANTES DE ALAN TURING DESARROLLO HISTIRICO DE INTELIGENCIA ARTIFICIAL INICIO 19501965 Periodo "clásico" 1975-Hoy Periodo "moderno". Inteligencia "especifica" Representación explícita del conocimiento específico del dominio. Prototipos (frames) (Minsky) Sistemas expertos o basados en conocimiento. Gestación (McColluck y Pitts, Shannon, Turing) Redes semánticas (Quillian) Regreso de redes neuronales Inicio - reunión de Darmouth College en 1956 (Minsky, McCarthy) Representación "general" del conocimiento. Reconocimie nto de voz Redes neuronales, robótica (Shakey) 1965-1975 Periodo "romántico" Limitaciones: conocimiento "superficial"