Control de retroceso. Corte y negación (2010/2011)
|
|
- Gregorio Hernández
- hace 5 años
- Vistas:
Transcripción
1 Luis Valencia Cabrera ( Ciencias de la Computacion e IA ( Universidad de Sevilla Control de retroceso. Corte y negación (2010/2011)
2 Índice Control del retroceso El corte y su uso Eliminación de código innecesario Eliminación de cortes Problemas del corte Ejemplo ilustrativo: notas Uso del corte para respuesta única La negación como fallo
3 Control del retroceso Procedimiento sin corte: f(x,y) Definir la relación f(x,y) de forma que: si X < 3, entonces Y = 0; si 3 =< X < 6, entonces Y = 2; si 6 =< X, entonces Y = 4. Programa: f(x,0) :- X < 3. f(x,2) :- 3 =< X, X < 6. f(x,4) :- 6 =< X.
4 Control del retroceso. Árbol de resolución. Analizar árbol de resolución SLD para el siguiente conjunto de objetivos:?- f(1,y), 2<Y. Qué ve?
5 Control del retroceso. Árbol de resolución. Solución
6 El corte Prolog dispone del corte (!) como método para podar la búsqueda y aumentar la eficiencia de los programas. Un caso natural en donde aplicar la poda es en los problemas con solución única
7 Efectos del corte Fija todas las sustituciones de variables se hayan realizado a partir de la cláusula donde ha aparecido el corte. No intenta encontrar soluciones alternativas a los literales a la izquierda del corte No intenta cláusulas alternativas a la del corte
8 Ejemplo con corte Definir la relación f_1(x,y) a partir de la definición de f(x,y), introduciendo un corte al final de las dos primeras cláusulas Programa f_1(x,0) :- X < 3,!. f_1(x,2) :- 3 =< X, X < 6,!. f_1(x,4) :- 6 =< X.
9 Uso del corte
10 Mejora del corte Comentarios sobre el corte en f_1: ha mejorado la eficiencia ha modificado la semántica procedimental no ha modificado la semántica declarativa
11 Mejora del corte Desarrolla el árbol de?- f_1(7,y). Queda algún procesamiento innecesario?
12 Seguimiento del corte. Necesitamos más mejoras?
13 Eliminación de procesamiento innecesario En el árbol anterior se observa que se efectúan comparaciones innecesarias: Por ejemplo, después de fallar la comparación 7<3, efectúa la comparación 3=<7. Definir la relación f_2(x,y)suprimiendo en la definición de f_1(x,y)las comparaciones innecesarias.
14 Predicado eliminando el procesamiento innecesario Programa f_2(x,0) :- X < 3,!. f_2(x,2) :- X < 6,!. f_2(x,4).
15 Predicado eliminando el procesamiento innecesario
16 Traza del motor de inferencia. Control de visibilidad. Para ver traza en SWI-Prolog: trace. Eliminarla: notrace.
17 Traza del motor de inferencia. Traza. Traza de?- f 2(1,Y).?- f_2(1,y). Call: ( 7) f_2(1, _G118)? Call: ( 8) 1<3? Exit: ( 8) 1<3? Exit: ( 7) f_2(1, 0)? Y = 0 ; No
18 Traza del motor de inferencia. Árbol.
19 Eliminación de cortes. Programa. Programa f_3(x,0) :- X < 3. f_3(x,2) :- X < 6. f_3(x,4).
20 Eliminación de cortes. Comportamiento. Respuestas a f 3(1,Y)?- f_3(1,y). Y = 0 ; Y = 2 ; Y = 4 ; No
21 Eliminación de cortes. Árbol. Cambia la semántica? Cuál es la conclusión?
22 Problemas del corte Veamos el siguiente ejemplo (cálculo max): Programa sin corte maximo_1(x,y,x) :- X >= Y. maximo_1(x,y,y) :- X < Y. Prueba:?- maximo_1(3,2,m). Cómo adaptar este programa para evitar trabajo innecesario?
23 Problemas del corte. Máximo. Programa con corte maximo_2(x,y,x) :- X >= Y,!. maximo_2(x,y,y).
24 Problemas del corte. Comportamiento. Sesión?- maximo_1(3,5,x). X = 5 ; No?- maximo_2(3,5,x). X = 5 ; No?- maximo_1(3,2,2). No?- maximo_2(3,2,2). Yes
25 Problemas del corte. Orden. Comentario: eficiencia vs. Semántica: Es más eficiente para calcular el máximo. No nos vale como predicado para verificar si un número es el máximo de dos números dados. Ojo con no alterar la semántica deseada (en función del objetivo perseguido).
26 Ejemplo ilustrativo: notas Clasificación en categorías Programa sin corte nota_1(x,suspenso) :- X < 5. nota_1(x,aprobado) :- X >= 5, X < 7. nota_1(x,notable) :- X >= 7, X < 9. nota_1(x,sobresaliente) :- X >= 9. Sesión?- nota_1(7.3,y). Y = notable ; No Es correcto? es eficiente? Pensemos en mejorar el programa.
27 Ejemplo ilustrativo: notas Programa con corte nota_2(x,suspenso) :- X < 5,!. nota_2(x,aprobado) :- X < 7,!. nota_2(x,notable) :- X < 9,!. nota_2(x,sobresaliente). Sesión?- nota_2(7.3,y). Y = notable ; No Es eficiente? Es correcto? Cuál es el objetivo? Es equivalente al anterior?
28 Ejemplo ilustrativo: notas Con qué nota se corresponde un 6? Qué devuelve nota(6,sobresaliente).?
29 Uso del corte para respuesta única. member y memberchk. Comportamiento. Diferencia entre member y memberchk? member (X, [ a, b, a, c ] ), X=a. X = a ; X = a ; No? memberchk(x, [ a, b, a, c ] ), X=a. X = a ; No
30 Uso del corte para respuesta única. member y memberchk. Definición. member (X, [ X _ ] ). member (X, [ _ L ] ) : member (X, L ). memberchk(x, [ X _ ] ) :!. memberchk(x, [ _ L ] ) : memberchk(x, L ).
31 La negación como fallo Mediante el corte se puede definir la negación como fallo: para demostrar la negación de una propiedad P, se intenta demostrar P: si se consigue entonces no se tiene la negación y si no se consigue entonces se tiene la negación.
32 La negación como fallo. El predicado not. Definición de la negación como fallo (not): no(p) : P,!, fail. no(p). donde fail es un átomo que siempre es falso.
33 La negación como fallo. Formalización. aprobado(x):- no(suspenso(x)), matriculado(x). % R1 matriculado(juan). % R2 matriculado(luis). % R3 suspenso(juan). % R4
34 La negación como fallo. Comportamiento.?- aprobado(luis). Yes?- aprobado(x). No
35 La negación como fallo. Árbol de deducción (I).
36 La negación como fallo. Árbol de deducción (II).
37 La negación como fallo. Programa ejemplo Solución: aprobado(x):- matriculado(x), no(suspenso(x)). % R1 matriculado(juan). % R2 matriculado(luis). % R3 suspenso(juan). % R4 Sesión:?- aprobado(luis). Yes?- aprobado(x). X=luis
38 La negación como fallo. Formalización. Solución. aprobado(x):- matriculado(x), no(suspenso(x)). % R1 matriculado(juan). % R2 matriculado(luis). % R3 suspenso(juan). % R4
39 La negación como fallo. Formalización. Solución. Sesión.?- aprobado(luis). Yes?- aprobado(x). X=luis
40 La negación como fallo. Conclusiones. Cuando se utiliza el corte, el orden de las reglas y de los literales es relevante.
41 La negación como fallo. Formalización. Solución. Árbol.
Programación declarativa ( )
1 / 24 Programación declarativa (2007 08) Tema 9: Retroceso, corte y negación José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla
Más detallesTema 4: Programación lógica y Prolog
Razonamiento Automático Curso 999 2000 Tema 4: Programación lógica y Prolog José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad
Más detallesProgramación lógica Curso Tema 2: Prolog. José A. Alonso Jiménez.
Programación lógica Curso 2002 03 Tema 2: Prolog José A. Alonso Jiménez Jose-Antonio.Alonso@cs.us.es http://www.cs.us.es/ jalonso Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad
Más detallesTema 4: Corte, negación, tipos, acumuladores y segundo orden
Programación Declarativa Curso 200 2002 Tema 4: Corte, negación, tipos, acumuladores y segundo orden José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia
Más detallesTema 15: Programación lógica con Prolog
Tema 15: Programación lógica con Prolog Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla
Más detallesDeducción automática
Deducción automática (Vol. 1: Construcción lógica de sistemas lógicos) José A. Alonso Jiménez y Joaquín Borrego Díaz Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla
Más detallesIntroducción a la programación lógica con Prolog
Introducción a la programación lógica con Prolog José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sevilla, 17 de
Más detallesAritmética y operadores (2011/2012)
Luis Valencia Cabrera (coordinador) lvalencia@us.es (http://www.cs.us.es/~lvalencia) Manuel García-Quismondo mgarciaquismondo@us.es (http://www.cs.us.es/~mgarcia) Ciencias de la Computacion e IA (http://www.cs.us.es/)
Más detallesTema 11.- Reevaluación y el corte
UNIVERSDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO LENGUAJES DE INTELIGENCIA ARTIFICIAL INGENIGERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN INGENIERÍA TÉCNICA
Más detalles- Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación DER (2)
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computación e IA (http://www.cs.us.es/) Universidad de Sevilla - Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación
Más detallesTema 6: Representación lógica del conocimiento
Inteligencia Artificial Curso 999 2000 Tema 6: Representación lógica del conocimiento José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la Computación e
Más detalles- Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación DER
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computación e IA (http://www.cs.us.es/) Universidad de Sevilla - Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación
Más detallesMetodología de Programación I Corte y Aritmética
Metodología de Programación I Corte y Aritmética Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Facultad de Física e Inteligencia Artificial aguerra@uv.mx http://www.uv.mx/aguerra
Más detallesInteligencia en Redes de Comunicaciones. Prolog. Julio Villena Román.
Inteligencia en Redes de Comunicaciones Prolog Julio Villena Román jvillena@it.uc3m.es Prolog La lógica proporciona: un lenguaje base para la representación del conocimiento modelos para el razonamiento
Más detallesTema 2: Listas, aritmética y operadores
Programación Declarativa Curso 200 2002 Tema 2: Listas, aritmética y operadores José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad
Más detallesSoluciones del examen de Lógica informática (Grupos 1 y 2) del 23 de Septiembre de José A. Alonso Jiménez
Soluciones del examen de Lógica informática (Grupos 1 y 2) del 23 de Septiembre de 2005 José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e Inteligencia Artificial
Más detallesImplementación Prolog de un SBC basado en reglas (2011/2012)
Luis Valencia Cabrera (coordinador) lvalencia@us.es (http://www.cs.us.es/~lvalencia) Manuel García-Quismondo mgarciaquismondo@us.es (http://www.cs.us.es/~mgarcia) Ciencias de la Computacion e IA (http://www.cs.us.es/)
Más detallesProgramación Lógica. rafael ramirez. Ocata 320
Programación Lógica rafael ramirez rafael@iua.upf.es Ocata 320 Logica proposicional Una literal (proposicional) es una variable proposicional o la negacion de una variable proposicional: p, q, r, Una cláusula
Más detallesIntroducción a PROLOG
Inteligencia Artificial II Curso 2003 2004 Introducción a PROLOG Carmen Graciani Díaz José L. Ruiz Reina Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla IA-II 2003
Más detalles- Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación DER (3)
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computación e IA (http://www.cs.us.es/) Universidad de Sevilla - Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación
Más detallesSemántica Operacional para la Programación en Lógica Lógica para Ciencias de la Computación
Semántica Operacional para la Programación en Lógica Lógica para Ciencias de la Computación Primer Cuatrimestre de 2009 Material Adicional Semánticas para la Programación n en LógicaL Se han explorado
Más detallesTema 1: El sistema deductivo de Prolog
Programación lógica Curso 2004 05 Tema : El sistema deductivo de Prolog José A. Alonso Jiménez Jose-Antonio.Alonso@cs.us.es http://www.cs.us.es/ jalonso Dpto. de Ciencias de la Computación e Inteligencia
Más detallesTema 4. Control en PROLOG
Tema 4. Control en PROLOG 1. Cómo se satisface/resatisface un objetivo? 2. Procedimientos iterativos 3. El predicado corte (!) 4. Aplicaciones del predicado corte 1. Confirmación n de una regla 2. Combinación
Más detallesInteligencia en Redes de Comunicaciones - 04a Prolog
En este Tema 4a se van a estudiar los fundamentos de Prolog, el lenguaje de programación lógica más extendido. 1 Prolog es un lenguaje de programación para representar conocimiento y realizar razonamientos
Más detallesTemas de Programación lógica e I.A. José A. Alonso Jiménez
Temas de Programación lógica e I.A. José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sevilla, 2 de febrero de 203
Más detallesBases de Datos Presentación de la asignatura (2013/2014)
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computación e IA (http://www.cs.us.es/) Bases de Datos Presentación de la asignatura (2013/2014) Universidad de Sevilla
Más detallesIntroducción general al Lenguaje C (2010/2011)
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice
Más detallesProgramación en PROLOG(1)
Programación en PROLOG(1) Inteligencia Artificial 2º cuatrimestre de 2008 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Prolog Es el representante más conocido del
Más detallesInteligencia Artificial 2º cuatrimestre de 2009
Programación en PROLOG(1) Inteligencia Artificial 2º cuatrimestre de 2009 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Prolog Es el representante más conocido del
Más detallesControl en Prolog. Control
Control sobre La búsqueda El retroceso La unificación Aplicaciones. Control en Prolog Recorrido sobre grafos Sin repetir nodo Sin repetir arco Control La búsqueda mediante un predicado sin argumentos!
Más detallesBases de Datos Presentación de la asignatura (2014/2015)
Bases de Datos Presentación de la asignatura (2014/2015) Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computación e IA (http://www.cs.us.es/) Universidad de Sevilla
Más detallesProgramación n en Prolog
Programación n Declarativa: Lógica y Restricciones Conceptos Básicos B de la Programación n en Prolog Mari Carmen Suárez de Figueroa Baonza mcsuarez@fi.upm.es Contenidos Unificación Estructuras de datos
Más detallesRatones amaestrados: control de la búsqueda.
Ratones amaestrados: control de la búsqueda. 1 / 12 El predicado de corte! El predicado! (leído corte) proporciona control sobre el mecanismo de backtracking de Prolog: siempre tiene éxito pero tiene el
Más detallesRepresentación del conocimiento mediante reglas (2010/2011)
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Representación del conocimiento mediante reglas (2010/2011) Universidad de
Más detallesMétodos de Inteligencia Artificial
Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Contenido Lógica proposicional Lógica de predicados Inferencia en lógica
Más detallesTema 14: Sustitución y Unificación
Facultad de Informática Grado en Ingeniería Informática Lógica PARTE 4: RESOLUCIÓN Tema 14: Sustitución y Unificación Profesor: Javier Bajo jbajo@fi.upm.es Madrid, España 04/12/2012 Introducción. 2/12
Más detallesInteligencia Artificial 2º cuatrimestre de 2009
Programación en PROLOG(2) Inteligencia Artificial 2º cuatrimestre de 2009 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Operador de corte (cut): Motivaciones Prolog
Más detallesProgramación Lógica. David Barrera Steven Bustos Jhonatan Guzmán
Programación Lógica David Barrera Steven Bustos Jhonatan Guzmán Programación Lógica axiomas Datos Reglas Programación Lógica Relaciones vs Funciones Funciones Relaciones Determinista Único patrón de entradas
Más detalles1. Formas normales en lógica de proposiciones FORMAS NORMALES. Índice. César Ignacio García Osorio Definiciones. Lógica
Lógica Índice FORMAS NORMALES César Ignacio García Osorio 1. Formas normales en lógica de proposiciones Gracias a las leyes asociativas los paréntesis en (F (G H)) oen((f G) H) pueden eliminarse, es decir,
Más detallesRepresentación del conocimiento mediante reglas (2011/2012)
Luis Valencia Cabrera (coordinador) lvalencia@us.es (http://www.cs.us.es/~lvalencia) Manuel García-Quismondo mgarciaquismondo@us.es (http://www.cs.us.es/~mgarcia) Ciencias de la Computacion e IA (http://www.cs.us.es/)
Más detalles3 CLÁUSULAS Y PROGRAMAS DEFINITIVOS
3 CLÁUSULAS Y PROGRAMAS DEFINITIVOS La idea central de la Programación Lógica es usar la computadora para obtener conclusiones a partir de descripciones declarativas, como las introducidas en el capítulo
Más detallesTema 1. Introducción al PROLOG. 1. Qué es el PROLOG? 2. Los elementos de PROLOG 3. Un programa de ejemplo 4. Ejercicios propuestos
Tema 1. Introducción al PROLOG 1. Qué es el PROLOG? 2. Los elementos de PROLOG 3. Un programa de ejemplo 4. Ejercicios propuestos 1. Qué es el PROLOG? 1.1. Un poco de historia PROgramming in LOGic Desarrollado
Más detallesLógica en Ciencias de la Computación. Caso de estudio: PROLOG
Lógica en Ciencias de la Computación. Caso de estudio: PROLOG UCAB / USB Papel de la Lógica L en Informática Formación: Menos discurso, más razonamiento Área genérica que aplica a múltiples dominios de
Más detallesProlog. Sintaxis Informal. Sintaxis Informal. Hechos: ejemplos. Inteligencia Artificial 2º cuatrimestre de Hechos. Hechos. Reglas.
Prolog Programación en PROLOG(1) Inteligencia Artificial 2º cuatrimestre de 2009 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Es el representante más cocido del
Más detallesTema 1: Revisión de Prolog
Razonamiento Automático Curso 999 2000 Tema : Revisión de Prolog José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla
Más detallesLÓGICA FORMAL TEORIAS DE PRIMER ORDEN. Sintaxis y semántica
LÓGICA FORMAL TEORIAS DE PRIMER ORDEN Sintaxis y semántica Pedro López Departamento de Inteligencia Artificial Facultad de Informática Universidad Politécnica de Madrid Lenguajes de primer orden 1 La lógica
Más detallesInteligencia Artificial II Prolog I
Inteligencia Artificial II Prolog I Dr. Alejandro Guerra-Hernández Universidad Veracruzana Centro de Investigación en Inteligencia Artificial mailto:aguerra@uv.mx http://www.uv.mx/personal/aguerra Maestría
Más detallesProgramas mutantes: manipulación de la base de conocimiento
Programas mutantes: manipulación de la base de conocimiento 1 / 30 Programas mutantes Una de las razones por las que Prolog está tan ligado a la inteligencia artificial es por su capacidad para permitir
Más detallesPROGRAMACIÓN LÓGICA. Luis Eduardo Martín De La Peña Anni Alejandra Piragauta Urrea
PROGRAMACIÓN LÓGICA Luis Eduardo Martín De La Peña Anni Alejandra Piragauta Urrea CONTENIDO 1.Introducción 1. Paradigma de programación 2. Historia 3. Filosofía del paradigma. 2. 1. Qué es? 2. Conceptos
Más detallesALTERNATIVAS DE REPRESENTACIÓN DE CONOCIMIENTOS
ALTERNATIVAS DE REPRESENTACIÓN DE CONOCIMIENTOS Redes semánticas. Marcos (Frames). Cálculo de Predicados. Redes Neuronales. Reglas de Producción. (if - then) RED SEMÁNTICA Método de representación de conocimientos
Más detalles23/09/2009. Introducción Hello word La familia Buendía Recursión Listas
Prolog Contenido Introducción Hello word La familia Buendía Recursión Listas Qué es Prolog? Lenguaje de programación Declarativo Programación lógica Está compuesto de: Hechos Reglas Declarativo vs Imperativo
Más detalles6 CORTE Y ARITMÉTICA. Ejemplo 24 Asumamos el siguiente programa que define que el padre de una persona es su antecesor hombre:
6 CORTE Y ARITMÉTICA La computación de un programa lógico requiere la construcción y recorrido de un árbol-sld. Esto no es necesariamente la forma más eficiente de computación, por lo que en esta clase
Más detallesOperador de corte (cut): Motivaciones. Cut (!): Definición formal. Cut (!): Implicancias de la Definición. Cut (!): Ejemplo. Aplicaciones. b,!
Operador de corte (cut): Motivaciones Programación en PROLOG(2) Prolog es un lenguaje de programación altamente declarativo. Inteligencia Artificial 2º cuatrimestre de 2008 Departamento de Ciencias e Ingeniería
Más detallesG e 1,7. LI Examen de Lógica informática (7 de Junio de 2004) 1. Ejercicio 1. Probar (E F ) G = (E G) (F G) (a) Mediante deducción natural.
LI 2003 04 Examen de Lógica informática (7 de Junio de 2004) 1 Ejercicio 1. Probar (E F ) G = (E G) (F G) (a) Mediante deducción natural. (b) Por resolución. Solución del apartado (a): Demostración por
Más detallesOperador de corte (cut): Motivaciones. Cut (!): Definición formal. Cut (!): Implicancias de la Definición. Aplicaciones. Cut (!): Ejemplo. b,!
Operador de corte (cut): Motivaciones Programación en PROLOG(2) Inteligencia Artificial 2º cuatrimestre de 2009 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Prolog
Más detallesTema 3: Introducción a Prolog
Introducción a la Inteligencia Artificial Curso 2010 2011 Tema 3: Introducción a Prolog Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla
Más detallesEntorno y herraminetas
PROGRAMACIÓN LÓGICA I. Sistemas para la programación lógica. II. Programación elemental con bases de datos y programación recursiva. III. Programación con listas y árboles. IV. Control explícito en Prolog.
Más detallesPráctica II. Prolog II: Meta Intérprete Vanilla
Práctica II Prolog II: Meta Intérprete Vanilla Contenido 1. Meta intérpretes. 2. Meta intérprete vanilla para cláusulas definidas. 3. Extensión vanilla predicados predefinidos. 4. Extensión vanilla pruebas.
Más detallesÍndice. Semántica. Sintaxis ASP. Introducción a Answer Set Programming (I) 2.- Programas Lógicos con Negación. 1.- Programas lógicos sin negación
Índice Introducción a Answer Set Programming (I) Rafael Caballero Roldán Máster: Extensiones de Programación Lógica Objetivos Programas estratificados Semántica de punto fijo de los programas Datalog Sintaxis
Más detallesTema 3.- Predicados y sentencias condicionales
UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER
Más detallesINTELIGENCIA ARTIFICIAL II
ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ CARRERA INFORMÁTICA SEMESTRE SÉPTIMO PERIODO ABR. /SEP.-2015 INTELIGENCIA ARTIFICIAL II TEMA: RESUMEN#6: INTRODUCCIÓN A PRÓLOG AUTORA:
Más detallesIntroducción a la Programación Lógica. Ingeniería Informática Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga
Introducción a la Programación Lógica Ingeniería Informática Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga Programming in Prolog opens the mid to a new way of looking at
Más detalles3.2. Control con cortes Operador corte Cortes verdes Cortes rojos
3. CONTROL en la PROGRAMACIÓN LOGICA 45 Tema 3. CONTROL en la PROGRAMACION LOGICA 3.1. Control mediante el Orden en literales y sentencias 3.2. Control con cortes 3.2.1. Operador corte 3.2.2. Cortes verdes
Más detallesMaterial para el curso de Lógica (primavera 2016)
Material para el curso de Lógica (primavera 2016) Facultad de Filosofía, Universidad de Sevilla Última modificación: 18 Junio 2016. Detalles prácticos Curso impartido por Fernando R. Velázquez Quesada.
Más detallesLógica proposicional
Lógica proposicional La palabra lógica viene del griego y significa, razón, tratado o ciencia. En matemáticas es la ciencia que estudia los métodos de razonamiento proporciona reglas y técnicas para determinar
Más detallesPROGRAMACIÓN LÓGICA. David Felipe Rico Hernandez Gabriel Esteban Bejarano Delgado
PROGRAMACIÓN LÓGICA David Felipe Rico Hernandez Gabriel Esteban Bejarano Delgado Introducción Programación Lógica Conceptos clave Lenguajes de programación Ejemplos Ventajas y desventajas Aplicaciones
Más detallesCómo Implementar una Ontología? Prolog Datalog Description Logic
Cómo Implementar una Ontología? Prolog Datalog Description Logic Reglas como LPO CláusulaHorn: Una cláusula con a lo sumo un literal positivo Cláusulas: Subconjuntos de LPO con la siguiente forma: x 1,.,x
Más detallesDerivadas laterales. Derivabilidad y continuidad en un punto. Derivabilidad y continuidad en un intervalo
Derivadas laterales Se define la derivada por la izquierda de f(x) en el punto x = a : Se define la derivada por la derecha de f(x) en el punto x = a : A ambas derivadas se les llama derivadas laterales.
Más detallesParadigma lógico Lógica proposicional Resolución. Programación Lógica. Eduardo Bonelli. Departamento de Computación FCEyN UBA. 10 de octubre, 2006
Departamento de Computación FCEyN UBA 10 de octubre, 2006 Prolog Se basa en el uso de la lógica como un lenguaje de programación Se especifican ciertos hechos y reglas de inferencia un objetivo ( goal
Más detallesLógica informática ( )
Lógica informática (2008 09) Tema 5: Tableros semánticos José A. Alonso Jiménez María J. Hidalgo Doblado Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla
Más detallesLógica de predicados 4. Árboles
Lógica de predicados 4. Árboles Juan Carlos León Universidad de Murcia Esquema del tema 4.1. Reglas de inferencia 4.2. Rutina mecánica 4.3. Árboles e interpretaciones 4.4. Árboles infinitos 1 4.1. Reglas
Más detallesLenguajes lógicos: cláusulas de Horn
Lenguajes lógicos: cláusulas de Horn Lenguaje subyacente: FOL ( first order logic ) Atomos: p(t 1,...,t n ) p símbolo de predicado y t i término (i = 1,...,n) símbolo de variable (X, Y,..) t término símbolo
Más detallesProgramación lógica con árboles. Introducción. Contenido. Introducción. 1. Programación con árboles 2. Otras estructuras arbóreas
Contenido 1. Programación con árboles 2. Otras estructuras arbóreas Ingeniería Informática Ingeniería Técnica en Informática Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga
Más detallesTema 4: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla
Tema 4: Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2015 16 Contenido Los tableros semánticos proporcionan
Más detallesPredicados Básicos de Prolog TAII(I) - Curso
Predicados Básicos de Prolog TAII(I) - Curso 2005-2006 Existe un conjunto de predicados predefinidos en Prolog que podrás utilizar en tus programas para realizar operaciones de entrada/salida, trabajar
Más detallesLógica como Representación. Dr. Eduardo Morales/Dr. Enrique Súcar
Lógica como Representación Dr. Eduardo Morales/Dr. Enrique Súcar Importante: Que las cosas que queremos que sean verdaderas coincidan con las que podemos probar Es decir: lo que nos implica la teoría
Más detallesProgramación lógica. Paradigmas de la Programación FaMAF- UNC 2015 capítulo 15 Mitchell basado en filminas de Vitaly ShmaEkov
Programación lógica Paradigmas de la Programación FaMAF- UNC 2015 capítulo 15 Mitchell basado en filminas de Vitaly ShmaEkov algunas referencias hip://www.learnprolognow.org/ hip://cs.famaf.unc.edu.ar/wiki/doku.php?
Más detallesMÉTODOS DE INVESTIGACIÓN EN EDUCACIÓN. Tema 8
Métodos de Investigación en Educación 1º Psicopedagogía Grupo Mañana Curso 009-010 010 MÉTODOS DE INVESTIGACIÓN EN EDUCACIÓN Tema 8 La relación entre variables. Los índices de correlación Objetivos Definir
Más detallesIntroducción a ASP (Answer Set Programming - programación con conjuntos respuestos)
Introducción a ASP (Answer Set Programming - programación con conjuntos respuestos) Inteligencia Artificial David Pearce 13 de enero de 2009 ASP y programación declarativa ASP es una forma de programación
Más detallesTrabajo Práctico N o 1 - Programación Lógica Fecha de entrega: 19/05/2005 hasta las 21hs
Trabajo Práctico N o 1 - Programación Lógica Fecha de entrega: 19/05/2005 hasta las 21hs Razonando con lenguajes naturales El objetivo de este trabajo práctico consiste en analizar sintácticamente un pequeño
Más detallesTema 4.- Recursión e iteración
UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER
Más detallesIntroducción. Paradigma de Lógica Gran importancia en la I.A. Origen: prueba de teoremas y razonamiento deductivo. Lógica.
Tema 2: Lógica y Razonamiento Automático tico Introducción Lógica Proposicional Lógica de Predicados Axiomas Unificación Razonamiento automático e Inferencias lógicas Resolución Regla de Inferencia Refutación
Más detallesProgramación declarativa ( )
Programación declarativa (2004 05) Tema 2: Listas, operadores y aritmética José A. Alonso Jiménez Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla PD (2004 05) Tema 2 p.
Más detallesProlog: Listas (y II) MRC
Prolog: Listas (y II) MRC Víctor Peinado v.peinado@filol.ucm.es 11 de diciembre de 2014 Referencias (Blackburn, et al., 2006, chap. 6) 1 1 Blackburn, P., Bos, J., Striegnitz, K. Learn Prolog Now!. College
Más detallesTema II: El modelo relacional de datos. (2.3) El modelo relacional de datos. Objetivos:
El modelo relacional de datos. Tema II: El modelo relacional de datos. (2.3) Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación. conocer básicamente la forma de modelar la realidad
Más detallesLógica y bases de datos
Lógica y bases de datos Parte I: Programación lógica Matilde Celma Giménez Laura Mota Herranz Juan Carlos Casamayor Ródenas Departamento de Sistemas Informáticos y Computación Universidad Politécnica de
Más detallesTema 6: Teoría Semántica
Tema 6: Teoría Semántica Sintáxis Lenguaje de de las las proposiciones Lenguaje de de los los predicados Semántica Valores Valores de de verdad verdad Tablas Tablas de de verdad verdad Tautologías Satisfacibilidad
Más detallesAlgoritmo de unificación de Robinson
Capítulo 1 Algoritmo de unificación de Robinson 1.0 Introducción Con objeto de encontrar el unificador de máxima generalidad de dos términos se han propuesto numerosos algoritmos siendo el más conocido
Más detallesLas redes semánticas son: a. Una extensión de la lógica de predicados b. Una extensión de los frames c. Un conjunto conexo de OAV
Las redes semánticas son: a. Una extensión de la lógica de predicados b. Una extensión de los frames c. Un conjunto conexo de OAV El algoritmo de PodaAlfaBeta busca: a. Determinar los caminos más óptimos.
Más detallesINTRODUCCIÓN BÁSICA. Ingeniería Informática AL PROLOG. Departamento de Informática
INTRODUCCIÓN BÁSICA AL PROLOG Ingeniería Informática Departamento de Informática PRÓLOGO Esta introducción al Prolog está pensada para las prácticas de la asignatura de Matemática Discreta de la Universitat
Más detallesINTRODUCCIÓN BÁSICA. Ingeniería Informática AL PROLOG. Departamento de Informática
INTRODUCCIÓN BÁSICA AL PROLOG Ingeniería Informática Departamento de Informática PRÓLOGO Esta introducción al Prolog está pensada para las prácticas de la asignatura de Matemática Discreta de la Universitat
Más detallesProgramación declarativa ( )
1 / 25 Programación declarativa (2007 08) Tema 7: Listas, operadores y aritmética José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla
Más detallesTema 8: Formas normales.
Lógica informática Curso 2003 04 Tema 8: Formas normales. Cláusulas José A. Alonso Jiménez Andrés Cordón Franco Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla LI 2003
Más detallesDr. Carlos A. Coello Coello Departamento de Computación CINVESTAV IPN
Dr. Carlos A. Coello Coello Departamento de Computación CINVESTAV IPN ccoello@cs.cinvestav.mx Estructuras de Control PROLOG permite un control limitado sobre la forma en que se realiza el retroceso, vía
Más detalles