CLASE 1 Facultad de Ingeniería de Sistemas Programación Lógica Ing. Saúl Pérez Vega Ing. Saúl Pérez Vega OBJETIVOS
Views 183 Downloads 3 File size 1MB
CLASE 1 Facultad de Ingeniería de Sistemas
Programación Lógica
Ing. Saúl Pérez Vega
Ing. Saúl Pérez Vega
OBJETIVOS GENERALES • El alumno al término del curso está capacitado para aplicar los conocimientos sobre la programación lógica y funcional aplicada con herramientas de software de programación.
OBJETIVOS ESPECIFICOS • Fundamentación teórica de la Programación lógica y funcional • Aplicación de programación lógica con el lenguaje de programación PROLOG. • Aplicación de programación funcional con el lenguaje de programación LISP. Ing. Saúl Pérez Vega
Asignaturas teóricos-prácticos de aula y/o laboratorio. El promedio Final será:
Donde:
EP 2 EF PP PF 4
EP= Examen Parcial EF= Examen Final PP= Promedio de Prácticas Ing. Saúl Pérez Vega
•“The Art of Prolog”, Leon Sterling & Ehud Shapiro, MIT Press •“Programming in Prolog”, Clocksin & Mellish, SpringerVerlag • "Logic, Programming and Prolog", Ulf Nilsson and Jan Maluszynski , Segunda Edición, Noviembre 2000. • Prolog Programing For Artificial Inteligence. IVAN BRATKO. • Language Tutorial Prolog. Broendby Denmark. • “Lisp”, WINSTON, P.H. y HORN, B.K.P. X. Addison-Wesley • “Lisp”, HENRY, PATRICK; HORN , Tercera Edición, Ed. McGraw Hill
Ing. Saúl Pérez Vega
Introducción IA Áreas de la IA
Sistemas Expertos Representación del Conocimiento Programación Lógica vs Programación Funcional Fundamentos de la Programación Lógica Ing. Saúl Pérez Vega
Introducción a IA • Es una rama de la ciencia de la computación que estudia los fundamentos teóricos y prácticos de sistemas que muestran características inteligentes del ser humano, como: resolución de problemas, comprensión de lenguajes, aprendizaje, razonamiento.
• La IA trata de encontrar técnicas para diseñar y programar computadoras que emulen y entiendan nuestras capacidades mentales. Ing. Saúl Pérez Vega
Introducción a IA • La inteligencia artificial estudia como lograr que las máquinas realicen tareas que, por el momento, son realizadas mejor por los seres humanos.
Ing. Saúl Pérez Vega
¿Que es inteligencia?
Ing. Saúl Pérez Vega
Ing. Saúl Pérez Vega
Inteligencia es la capacidad para resolver problemas nuevos
Ing. Saúl Pérez Vega
Memoria de elefante
Ing. Saúl Pérez Vega
Tipos de Inteligencia • • • • • • • •
Verbal Lingüística Lógico Numérica Espacial Física o Kinestésica Intrapersonal o Emocional Interpersonal Natural o Ambiental Musical
Ing. Saúl Pérez Vega
Áreas de la IA • • • • •
Sistemas Expertos Juegos Robótica Visión Artificial Prueba de teoremas y matemáticas simbólica • Autoaprendizaje • Lenguaje Natural Ing. Saúl Pérez Vega
Sistemas Expertos
Ing. Saúl Pérez Vega
Representación del Conocimiento
Ing. Saúl Pérez Vega
1. Tipo Grafo o Red Semántica Emplea círculos u óvalos para representar a los objetos y arcos rotulados para las relaciones. Considerar un sistema dado por las siguientes relaciones:
a) Luis es alumno b) Luis le gusta teme a los perros c) Perro es un mamífero d) Un mamífero toma leche.
Ing. Saúl Pérez Vega
2. Tipo Estructura Los objetos y las relaciones se representan mediante una colección de datos simples llamamos campos. (campo1, campo 2, . . . . . . , campo n) A su vez cada campo puede tener otros campos Ejemplo: ( Luis (es alumno) (teme perros) ) ( Perro (es mamífero) ) ( Mamífero (toma leche) )
LISP Ing. Saúl Pérez Vega
3. Tipo Predicado • Cada relación se representa mediante un predicado que puede tomar el valor de Verdadero o Falso, según se cumpla o no para los objetos involucrados. Ejemplo: Es ( Luis, alumno ) Teme ( Luis, perro ) Es ( perro, mamífero ) Toma ( Mamífero, leche ) Verbo
Sustantivo
PROLOG Ing. Saúl Pérez Vega
Ejercicio # 1 1. Se define un sistema por las reglas: a) A, B y C son bloques. b) M es una mesa. c) A esta encima de M, C encima de A y B encima de C. d) A es de color Azul, B es Blanco y C es Rojo.
Ing. Saúl Pérez Vega
Solución # 1 B C A M
Ing. Saúl Pérez Vega
Ejercicio # 2 Dada las siguientes relaciones a) Si Daniel, Betsy y Sandra son hijos de Gustavo y Marlene y b) Luis, Rosa y Patricia son hijos de Daniel. c) Kelly y Mayra son hijas de Betsy d) Kelly, Mayra, Luis, Rosa y Patricia son Nietos de Gustavo y Marlene. •
Representar estas relaciones usando Grafos, Estructura y Predicados
Ing. Saúl Pérez Vega
Ejercicio # 3 Las tres ranas de la derecha tienen que quedar en la izquierda y viceversa. Estas ranas quieren cruzar el charco, el problema es que tres de ellas quieren ir en un sentido y las otras en el sentido contrario, así que no habiendo forma de ponerlas de acuerdo, te corresponde ayudarles. Reglas: Sólo cabe una rana en cada piedra. Si la rana está mirando a la derecha, la rana sólo irá hacia la derecha, lo mismo para la izquierda. Salta máximo de piedra a piedra o sobre otra rana si la piedra siguiente está vacia. Si te atascas, termina el juego y vuelve a empezar. Ing. Saúl Pérez Vega
La rana saltarina
Ing. Saúl Pérez Vega
Ejercicio # 4 • Tres misioneros se perdieron explorando una jungla. Separados de sus compañeros, sin alimento y sin radio, sólo sabían que para llegar a su destino debían cruzar un río que les bloqueaba el paso, preguntándose que podían hacer. De repente, aparecieron tres caníbales llevando un bote, pues también ellos querían cruzar el río. • Ya anteriormente se habían encontrado grupos de misioneros y caníbales, y cada uno respetaba a los otros, pero sin confiar en ellos. Los caníbales se lo comían a los misioneros cuando los superaban en número en cualquiera de las dos orillas.
Ing. Saúl Pérez Vega
Programación Lógica vs Funcional • Los problemas de IA se escriben en lenguajes especiales como LISP o PROLOG, porque ofrecen recursos adecuados para representar y procesar datos de sistemas de inteligencia artificial, se pueden utilizar otros lenguajes convencionales como C++, Pascal, Visual Basic, etc, pero estos exigen mayor esfuerzo en el diseño y manejo de los datos del problema. • LISP List Processing • PROLOG Programing Logic Ing. Saúl Pérez Vega
Ing. Saúl Pérez Vega
[email protected]
Ing. Saúl Pérez Vega