Introducción al lenguaje de programación lógico Prolog

Slides:



Advertisements
Presentaciones similares
Lic. Juan Gabriel Bernal López
Advertisements

INTELIGENCIA ARTIFICIAL
LAS MAQUINAS DE TURING.
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
INSTITUTO TECNOLOGICO DE MINATITLAN
Procedimientos y SubProcedimientos
Sistemas de Razonamiento Lógico
WEB SEMANTICA Integrantes: Juan Carreño Ojeda Felipe Salazar Fernández.
SISTEMAS EXPERTOS REPASO POR OTRO AUTOR.
Formas de obtener Información para su Negocio
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
CAPITULO 2 La Representación del Conocimiento
Seminario-Taller Como escribir, presentar y publicar resultados científicos 07, 08 y 09 de Febrero, 2011.
Logic M.C. Juan Carlos Olivares Rojas February, 2009.
Prolog PROgramming in LOGic
L. Enrique Sucar/Eduardo Morales
PROGRAMACIÓN LÓGICA.
Desempeño escolar de los alumnos
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
ESPINOSA RODRÍGUEZ ELLIOT MOISÉS GRIMALDO SILVA ANGELO JOSAFAT
TRADUCTOR DE UN PROGRAMA
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Agente Latin (agere) el que hace Es una entidad, que existe en el mundo real o artificial, que puede observar el mundo cambiante y realizar acciones en.
EL DESARROLLO DEL CONTROL METACOGNITIVO.
HERRAMIENTAS DE INVESTIGACIÓN
Inteligencia artificial
Características generales del reactivo Tres reactivos Respuesta simple Dos de respuesta abierta Cambio y relaciones El estudiante: Reconozca y comprenda.
Historia. Historia Historia Su nombre rinde homenaje a: Haskell Brooks Curry ( ) Lógico y matemático norteamericano Pionero de la lógica.
José Barrenechea Mauricio Jeldres Joaquín Rojo.  Lenguaje diseñado para representar el conocimiento sobre un determinado dominio.  Robert Kowalski y.
 Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas.
Unidad VI Documentación
Eloísa Orozco Bueno Alvaro Padilla Vilema
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
SISTEMA DE EXPERTO SISTEMA DE EXPERTO.
WEBQUEST. ¿QUÈ ES UNA WEBQUEST?  Webquest significa indagación, investigación a través de la Web.  Consiste en presentarle al alumnado un problema,
LÓGICA DE PROGRAMACIÓN LSC. Susana Alejandra López Jiménez.
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Inteligencia Artificial
Sistema Experto Construcción. Un sistema experto puede ser construido así:  Un ingeniero entrevista al experto y aprende de lo que el hace y como lo.
 Un LENGUAJE DE PROGRAMACION es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas al cabo por maquinas como las computadoras.
Software de Comunicaciones Título Miembro del grupo 1 Miembro del grupo 2 Miembro del grupo 3 Miembro del grupo 4 Departamento de Ingeniería.
Cuestionarios para La Investigación.
profesor: Luigi Ceccaroni
Herramientas y Técnicas para la Gestión del Conocimiento Encontrar a las personas adecuadas Chris Colllison – Geoff Parcell.
Martin Barreto Ricardo Bedat Docentes: Juanjo Prada – Aiala Rósa.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
SISTEMAS EXPERTOS (SE) Coronel Jaramillo Ricardo
Metodología de la programación
Joscelyn Vega Chaparro Carlos Gonzalez Gatica.  Definición 1:  Es una aplicación informática capaz de solucionar un conjunto de problemas que exigen.
Lenguajes de Programación
Patrones de diseño Grupo 1 Haeberli, Julián Lara, Guisell
SISTEMA BASADO EN CONOCIMIENTO
Grupo #5 «2F» Asistencia administrativa LA ROBÓTICA.
Diagrama de Flujo Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona. El diagrama de flujo o diagrama de actividades es la representación.
Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Ramas de I.A. ROBOTICA SISTEMAS DE VISION SISTEMAS EXPERTOS
TIPOS DE DATOS ABSTRACTOS
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
FUNDAMENTOS DE PROGRAMACIÓN
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
INGENIERIA EN SISTEMAS COMPUTASIONALES. SISTEMAS EXPERTOS Es una aplicación informática capaz de solucionar un conjunto de problemas que exigen un gran.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Desarrollo de Sistemas Expertos
Los sistemas expertos nacen en respuesta a solucionar problemas complejos, se basa en conocimientos de expertos humanos, éstos brindan sus conocimientos.
UNIVERSIDAD DE MEXICO JHONATAN DE JESUS MONZON LOPEZ
ELEMENTOS BÁSICOS DE PROGRAMACIÓN EN C# Mtro. José David Uc Salas
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo.
Transcripción de la presentación:

Introducción al lenguaje de programación lógico Prolog Kathryn Jones Pérez A42856 Gustavo Yong Morales A35791

Introducción Prolog es un lenguaje de programación diseñado para representar y utilizar el conocimiento que se tiene sobre un determinado dominio.

Historia Los inicios de la programación lógica son los primeros trabajos de inteligencia artificial, los dieron lugar al primer lenguaje que contempla los mecanismos de inferencia. Prolog se originó en los años 70. Su nombre proviene de las palabras en ingles “Programming in Logic”.

Descripción Se basa en nociones matemáticas de relaciones de inferencia. Un programa en Prolog consiste de una base de datos de relaciones lógicas y detalles que se cumplen para la aplicación, dicha base de datos no tiene una estructura impuesta, ni un procedimiento o clase principal.

Prolog deduce respuestas En lugar de correr en un programa para obtener una solución, se hace una pregunta, el programa revisa la base de datos para encontrar la solución a la pregunta. Si existe más de una solución, hace backtracking para encontrar soluciones distintas.

Prolog deduce respuestas La ejecución de prolog consiste en una búsqueda en profundidad de un árbol conteniendo todas las posibles soluciones. Árbol de deducción del problema de los

Estructura de un programa en Prolog Hechos: es un hecho del lenguaje cotidiano. En lenguaje normal, una proposición puede ser “hace calor”. Reglas: las capacidades del programa. Variables: Representan objetos que el mismo Prolog determina. Una variable puede estar instanciada o no instanciada. Consultas: es la acción de hacerle una pregunta al programa sobre la información contenida en la base de datos.

Ventajas Facilidad para programar ya que se pueden escribir programas rápidamente, con pocos errores programas claramente legibles. No hay que pensar demasiado en la solución del problema, ya que Prolog infiere sus respuestas basándose en las reglas.

Desventajas La resolución automática no siempre es eficiente. Ciertos problemas están ligados a la representación del conocimiento, que Prolog no posee. Algunas veces es incapaz de reconocer que un problema es (para su propio conocimiento) inaplicable o insuficiente. Los motores de inferencia poseen algunos límites.

Contexto de uso Interfaces de idiomas MM4 Weather Modeling System Simplificación de sistemas existentes

Ejemplo: se muestra el uso de la instrucción lógica “if” en prolog. %Declaraciones padrede('juan', 'maria'). % juan es padre de maria padrede('pablo', 'juan'). % pablo es padre de juan padrede('pablo', 'marcela'). padrede('carlos', 'debora'). % A es hijo de B si B es padre de A hijode(A,B) :- padrede(B,A). % A es abuelo de B si A es padre de C y C es padre B abuelode(A,B) :- padrede(A,C), padrede(C,B). % A y B son hermanos si el padre de A es también el padre de B y si A y B no son lo mismo hermanode(A,B) :- padrede(C,A) , padrede(C,B), A \== B. % A y B son familiares si A es padre de B o A es hijo de B o A es hermano de B familiarde(A,B) :- padrede(A,B). familiarde(A,B) :- hijode(A,B). familiarde(A,B) :- hermanode(A,B).

Consultas %Consultas % juan es hermano de marcela? ?- hermanode('juan', 'marcela'). yes % carlos es hermano de juan? ?- hermanode('carlos', 'juan'). No % pablo es abuelo de maria? ?- abuelode('pablo', 'maria'). Yes % maria es abuela de pablo? ?- abuelode('maria', 'pablo'). no

Conclusiones Prolog es una herramienta sencilla, potente y útil para el desarrollo de sistemas expertos e inteligencia artificial. Prolog es una herramienta muy útil en la necesidad de automatizar ciertos procesos, como el de la resolución de autómatas. Algo que ha hecho surgir a Prolog, es el ser un programa de código abierto y a su capacidad ser bajado fácilmente de la Internet.