Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentado por:
Egdares Futch H.
Qu es la IA ?
Disciplina que sistematiza y automatiza tareas intelectuales para crear mquinas que:
Acten como humanos Piensen como humanos Acten racionalmente Piensen racionalmente
Decir que Deep Blue no piensa realmente sobre el ajedrez es como decir que un avin realmente no vuela porque no aletea Drew McDermott
Contra:
El ajedrez es la Drosophila de la IA. Si los geneticistas se hubieran aplicado de esa manera, tendramos ahora moscas muy rpidas John McCarthy
Pensar no es ms que hablarse a s mismo dijo Richard. John contest: Trata de pensar en un engranajecmo te lo contaste?
Algunas caractersticas
Frontera entre programacin tradicional e IA
La IA se ocupa de tareas que, de momento, la gente realiza mejor Tcnicas de la Inteligencia Artificial
La IA es programacin Frontera se mueve: cuando algo funciona ya no es IA La IA se ocupa de aquellos problemas para los que no existen soluciones algortmicas satisfactorias y de aquellos que requieren el manejo explcito del conocimiento
Mtodos generales de la computacin+ tcnicas especficas Enfoque algortmico clsico da por hecho que se dispone de toda la informacin necesaria para llegar a una solucin ptima del problema abordado En Inteligencia Artificial, las decisiones se basan en un conocimiento parcial que no garantiza encontrar el ptimo La inteligencia consiste precisamente en saber sacar el mximo provecho a la informacin disponible para tratar de obtener el resultado deseado e.d compromiso entre exhaustividad del anlisis y calidad del resultado Las tcnicas computacionales desarrolladas dentro de este marco metodolgico son llamadas heursticas
Introduccin a Prolog
Prolog es el lenguaje ms difundido en la programacin lgica. Algunas de sus caractersticas son:
Prolog usa variables lgicas, las cuales no son comparables a las de otros lenguajes. Los programadores las pueden usar como blancos en estructuras de datos que se llenan gradualmente mientras corre el proceso.
Ms
La unificacin es un mtodo interno de manipulacin de datos que pasa parmetros, retorna resultados, selecciona y construye estructuras de datos. El modelo de control de flujo bsico es la reevaluacin (backtracking). Las clasulas de programa y los datos tienen la misma forma. La forma relacional de los procedimientos hace posible definirlos de forma que sean reversibles
Ms
Las clasulas proveen de una forma conveniente para analizar casos e indeterminismo. Algunas veces se requiere de caractersticas que no pertenecen a la lgica pura. Un programa en Prolog puede ser considerado como una base de datos relacional que contiene reglas y hechos.
panda(chi_chi). panda(ming_ming).
peligroso(X) :- dientes_grandes(X). peligroso(X) :- venenoso(X). suponga(X, tiger) :- rayas(X), dientes_grandes(X), esFelino(X). suponga(X, zebra) :- rayas(X), esEquino(X).
En un lenguaje funcional
Trmino compuesto
Nombra un individuo que tiene partes gusta(juan, maria) libro(cervantes, quijote) f(x) [1, 3, g(a), 7, 9] -(+(15, 17), t) 15 + 17 - t
Variable
Reemplaza un individuo que no puede ser nombrado cuando el programa se escribe X Quincena Enfermedad _257 _
Atomo
alpha17 pago juan_perez gripe + =/= 12Q&A
Nmero
0 1 57 1.618 2.04e-27 -13.6
Trminos compuestos
padres(manchas, pongo, perdita)
componentes (trminos)
manchas pongo
perdita
Ejemplo
Predicado Procedimiento para elefante Hechos
Clasulas Regla
Ejemplo
?- elefante(jumbo). Pregunta yes ?- elefante(pongo). Respuesta no
Interpretacin declarativa
Interpretacin procedimental
Unificacin
Dos trminos se unifican si pueden sustituirse variables de tal forma que los trminos se hacen idnticos. El algoritmo de unificacin procede por descenso recursivo de los dos trminos. Constantes unifican si son idnticas Variables unifican con cualquier trmino, incluyendo otras variables Trminos compuestos unifican si el functor y componentes unifican.
Ejemplos
f X a
Los trminos unifican si se sustituye d por X, y b se sustituye por Z. Esta sustitucin tambin se denomina instanciacin.
Ejemplos
f X a
Ejemplos
f c a
Listas
Las listas en Prolog son similares a las de otros lenguajes ya que se compone de trminos de cualquier tamao agrupados. La lista de largo 0 se llama nil, y se escribe []. La lista de largo n es [cabeza,cola], donde cola es una lista de largo n-1.
No determinstico
Controlando la reevaluacin
color(cereza, rojo). color(banana, amarillo). color(manzana, rojo). color(manzana, verde). color(naranja, naranja). color(X, desconocido).
silla mesa
rojo negro
10 50
Casos de aplicacin
Sistemas expertos Un sistema informtico que simula el proceso de aprendizaje, de memorizacin, de razonamiento, de comunicacin y de accin de un experto humano en una determinada rama de la ciencia, suministrando, de esta forma, un consultor que puede sustituirle con unas ciertas garantas de xito
Casos de aplicacin
Sistemas expertos Estas caractersticas le permiten almacenar datos y conocimiento, sacar conclusiones lgicas, tomar decisiones, aprender de la experiencia y los datos existentes, comunicarse con expertos humanos u otros Sistemas Expertos, explicar el porqu de las decisiones tomadas y realizar acciones como consecuencia de todo lo anterior
Casos de aplicacin
Procesamiento de lenguaje natural (NLP)
Prolog es un lenguaje muy expresivo para plantear algoritmos de lingstica computacional. Para el Procesamiento de Lenguaje Natural (NLP), se requiere la manipulacin de smbolos (palabras, fonemas y otras partes del lenguaje), basados en objetos estructurados (secuencias, rboles, grafos). Prolog facilita la expresin de operaciones sobre los smbolos y estructuras sin preocuparse de la representacin y manipulacin interna del computador.
Casos de aplicacin
Asignacin de recursos limitados
El laboratorio de investigacin de la IBM Haifa ha desarrollado un sistema en Prolog para asignar aviones en las lneas areas israeles El-Al. Este proyecto se llev a cabo para ahorrar costos operativos y para reducir el uso de los espacios de las compuertas del aeropuerto, que tienen un costo elevado por ocupacin. El sistema est conectado en lnea con el sistema de programacin del El-Al y se actualiza en tiempo real en cuanto a cambios de horarios de vuelo.
Casos de aplicacin
Diseo experto de productos
En este sistema, el diseo de anteojos se hace a la medida. Una fotografa de la cara del cliente se alimenta como datos de entrada. El sistema experto en Prolog propone un diseo y si el cliente aprueba el diseo, ste se transmite desde las estaciones grficas a la fbrica usando una red. El tiempo promedio de entrega es de una hora La base de conocimiento para proponer el diseo incluye entre otros, datos sobre el color de la piel y del pelo del cliente, preferencias individuales, conocimientos tcnicos pticos, conocimiento del diseador de proponer forma y los colores y formas de moda .
Casos de aplicacin
Verificacin de circuitos digitales
Siemens ha desarrollado en Prolog el sistema CVE, el cual es utilizado para verificar de forma automtica el comportamiento de salida de un circuito digital como una funcin Booleana como una funcin de la entrada. Las funciones que se obtienen se comparan de manera simblica con las funciones correspondientes del circuito usando algoritmos especializados que garantizan que se detectan las diferencias encontradas
El sistema garantiza 100% de seguridad, ya que la comparacin simblica es equivalente a simular un circuito con todos los posibles patrones de entrada, verificando todas las salidas de la simulacin
Casos de aplicacin
Configurador (Wizard) de red de Windows NT
El sistema operativo Microsoft Windows NT utiliza un intrprete interno de Prolog para configurar sus sistemas de red de rea local (LAN) y de la red de rea amplia (WAN). Los componentes interdependientes del software y de hardware se abstraen en un marco orientado a objetos simplificado usando la informacin declarativa proporcionada por el script de instalacin de cada componente. Esta informacin, se almacena junto al intrprete interno, que es consultada para generar la mejor configuracin. Los resultados de la consulta, almacenados en la base de datos de la configuracin del NT (registry), informan a cada componente o driver su orden de la carga y asociacin de componentes
Muchas gracias!
efutchh@unitec.edu http://maestros.unitec.edu/~efutch