P. 1
Introduccion a la lógica

Introduccion a la lógica

|Views: 57|Likes:
Publicado porMary Sánchez

More info:

Published by: Mary Sánchez on Jan 15, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/04/2012

pdf

text

original

David Camacho Fernández

Temas Avanzados en Ingeniería Informática I (Lógica)

Lógica Computacional
“La mayoría de las ideas fundamentales de la ciencia son esencialmente sencillas y, por regla

Tema 1: Introducción

general pueden ser expresadas en un lenguaje comprensible para todos.” Albert Einstein

Lógica Computacional
La Lógica Computacional aborda el estudio de la Lógica Matemática desde la perspectiva de su aplicación al mundo de la computación

Definiciones
Lógica logos:razón, tratado o ciencia Lógica : Ciencia del Razonamiento La lógica surge con la filosofía: Debate entre el materialismo y el idealismo

La Lógica se utilizará para:

Como una forma de representación del conocimiento

Para la implementación de procesos que permitan la resolución de problemas

Lógica

1

c) Fundador de la teoría atomística Sócrates (469-339 a. Ciencia que estudia la validez formal del razonamiento Definiciones Razonamiento (deducción.David Camacho Fernández Definiciones Lógica Matemática= “La Lógica es la ciencia que tiene como objetivo el análisis de los métodos de razonamiento” Lógica Matemática = Lógica Formal = Lógica Simbólica Lógica Formal= deducción de conocimiento a partir de otros elementos.C.): contra la corriente materialista La Lógica fue formalmente introducida en el marco de la Filosofía por el filósofo griego Aristóteles (384-322 A.c. Método Científico El matemático alemán Leibniz (1646-1716) fue el primero en plantear una verdadera formalización de la lógica como cálculo matemático Lógica 2 . En este caso se dice que la conclusión es una consecuencia lógica de las premisas Breve historia de la Lógica Formal Demócrito (460-370 a.).) y Platón (427-347 a. argumentación): obtención de nuevo conocimiento (conclusión) a partir de una serie de conocimientos previos (premisas) Validez formal: un razonamiento es formalmente válido si la conclusión es necesariamente verdadera cuando las premisas son verdaderas (es válido en virtud de su forma -su estructura-. es decir. inferencia. Teoría del raciocionio y de la demostración: rigurosa diferenciación entre lo verdadero y lo falso También antecedentes en China y la India Breve historia de la Lógica Formal Edad Media Bacon (1561-1626): lógica inductiva Descartes (1596-1650). independientemente del conocimiento concreto del que trata).c.

Herbrand… Breve historia de la Lógica Formal A partir de los años 50 una parte importante de la investigación en lógica se centra en el estudio de sus aplicaciones en computación. sobre las que podemos pronunciarnos acerca de su verdad o falsedad sin consideraciones de contexto Es veritativo-funcional. Fundamentación de la metalógica y la metamatemática Hilbert. en particular como herramienta de programación Lógica Clásica Tipos de Lógicas Considera únicamente construcciones declarativas. que aplicaron a la lógica métodos algebraicos: Breve historia de la Lógica Formal El gran desarrollo de la lógica formal se produjo a finales del siglo XIX y primera mitad del XX. Alfred North Whitehead(18611947): Principia Mathematica: lógica simbólica Kurt Gödel (1906-1978): Teoremas de Gödel G. Una expresión es veritativa-funcional si forma estructuras compuestas en los que basta conocer el valor de verdad de sus partes para saber el valor de verdad de la estructura total Lógica 3 . Boole(1815-1864): Lógica Booleana Augustus de Morgan(1806-1871): leyes distributivas de la negación Alfred Tarski (1902-1983). con las aportaciones de: Gottlob Frege(1848-1925): fundador de la lógica moderna y de la lógica de primer orden Bertrand Russell(1872-1957).David Camacho Fernández Breve historia de la Lógica Formal El trabajo es completado a mediados del siglo XIX con los trabajos de los matemáticos ingleses Boole y De Morgan.

David Camacho Fernández Tipos de Lógicas Lógica Clásica Su estudio se realiza en dos niveles de análisis estructural: Se contemplan únicamente construcciones declarativas simples y compuestas: Lógica Clásica Proposicional En cada afirmación simple se distingue qué se declara o de qué o quién se declara: Lógica Clásica de Predicados Tipos de Lógicas Lógica Clásica Proposicional (I) Representación del lenguaje natural tomando como elemento básico una representación matemática de las frases declarativas simples (o proposiciones) Ej: Jorge es listo (p) 1. 2. las violetas son azules: p → q Premisa 2: Las violetas no son azules: ¬q Conclusión: Las rosas no son rojas: ¬p Ejemplo B (razonamiento NO válido) Premisa 1: Si los problemas son difíciles. me mojo (q) . no llueve (¬p).si llueve. .. Tipos de Lógicas Lógica Proposicional (o de enunciados) (II) Estudia el comportamiento de las fórmulas proposicionales. me mojo (p → q) Tipos de Lógicas Lógica Proposicional (o de enunciados) (III) Ejemplos de formalización de razonamientos: Ejemplo A (razonamiento válido) Premisa 1: Si las rosas son rojas. o. estudiamos: p → q Premisa 2: Los problemas no son difíciles: ¬ p Conclusión: No estudiamos: ¬q Lógica 4 ..) Ejemplos de formalización de frases: llueve (p). implica. construidas exclusivamente a partir de: proposiciones atómicas (sentencias declarativas sin estructura interna que siempre son o bien ciertas o bien falsas) conectivas lógicas (y. llueve o me mojo (p ∨ q). no.

que permiten referirse a objetos concretos u objetos generales Tipos de Lógicas Lógica Predicados (de primer orden) (II) Ejemplo de formalización de una frase: “a es el límite de una sucesión f(n) si para todo ε > 0 existe un n0 tal que para todo n ≥ n0 se verifica abs(f(n) .a) < ε" Lógica 5 . que permiten expresar propiedades o relaciones entre objetos cuantificadores. que permiten expresar la generalidad de los enunciados (enunciados válidos para todos los objetos de un cierto tipo o sólo para algunos) funciones.David Camacho Fernández Tipos de Lógicas Lógica Clásica de Predicados (I) Representación del lenguaje natural tomando como elemento básico los componentes de algunos tipos de proposición (términos y predicados) Tipos de Lógicas Lógica Predicados (de primer orden) (II) Existen razonamientos válidos que no son expresables ni analizables en lógica de proposiciones Ej: Jorge término es listo predicado La lógica de predicados es una extensión de la lógica de proposiciones que tiene en cuenta la estructura interna de los enunciados Tipos de Lógicas Lógica Predicados (de primer orden) (II) Introduce los siguientes (nuevos) elementos: predicados. que permiten expresar transformaciones de objetos constantes y variables.

etc. predicados definidos sobre predicados (tercer orden). M(s) (razonamiento formalmente válido) Tipos de Lógicas Lógicas de orden superior Ejemplos: “Todos los múltiplos de 8 comparten una propiedad interesante“ Tipos de Lógicas Lógicas No Clásicas Lógicas con mayor poder expresivo Extensiones de la Lógica Clásica: extienden el vocabulario y añaden nuevas leyes Lógica Temporal: considera contextos temporales “Todos los problemas filosóficos tienen un rasgo en común" Lógica Modal: considera contextos de necesidad o posibilidad Lógica Doxástica: considera contextos de creencia Lógica 6 . Premisa 1: Todas las personas son mortales Premisa 2: Sócrates es una persona.David Camacho Fernández Tipos de Lógicas Lógica Predicados (de primer orden) (II) Ejemplo de formalización de un razonamiento: Tipos de Lógicas Lógicas de orden superior En lógica de predicados de primer orden los cuantificadores sólo se pueden aplicar a objetos (elementos de primer orden) Las lógicas de orden superior son extensiones de la lógica de predicados de primer orden que permiten aplicar cuantificadores a predicados definidos sobre objetos (segundo orden). P(s) Conclusión: Sócrates es mortal.

y definir qué significa que una fórmula o un razonamiento sean válidos Sistemas de demostración Son sistemas formales que permiten averiguar cuándo una fórmula es válida o cuándo un razonamiento es válido Lenguaje Formal Alfabeto: Un alfabeto es cualquier conjunto finito o infinito numerable de símbolos (A) Lenguaje universal sobre A: A* = ∪ An n∈N Lenguaje sobre A: es cualquier subconjunto del lenguaje universal: L ⊆ A* Lógica 7 . Lógicas probabilistas. cierto o falso) a las fórmulas del lenguaje. denominadas fórmulas Semántica Permite asignar un significado (valor de verdad.David Camacho Fernández Tipos de Lógicas Lógicas No Clásicas Desviaciones de la Lógica Clásica: no mantienen algunas leyes de la Lógica clásica Lógica Intuicionista: no contempla como ley “A o no A” (ley del tercero excluido) Lógica 3-valuada: se consideran tres valores de verdad Características de una Lógica Para definir una lógica es necesario Un lenguaje formal (sintaxis) Una Semántica (o Teoría de Modelos) Lógicas que incorporan el tratamiento de la incertidumbre o la imprecisión: Lógicas multivaluadas. Lógicas borrosas (fuzzy) Lógica lineal: no es veritativo funcional Una Teoría de la demostración Automatizar las Deducciones Características de una Lógica Sintaxis Describe los elementos básicos del lenguaje y las reglas que permiten construir las expresiones admitidas por el lenguaje.

un lenguaje L viene determinado por: Un conjunto D ⊂ S de valores destacados Alfabeto: Conjunto de símbolos admitidos en el lenguaje Un conjunto (I) de aplicaciones I : L → S denominadas interpretaciones Gramática: Conjunto de reglas de formación que determinan quá cadenasde símbolos son fbf en el lenguaje Semántica o Teoría de Modelos Modelo. Se denota: |= α . es decir. se denota: |= α Inferencia semántica: una fbf α se deriva o infiere semánticamente de un conjunto de fbfs es modelo de α. Una interpretación es un modelo de un conjunto de fbfs si asigna a toda fórmula de un valor destacado Teoría de la demostración Es un “mecanismo deductivo”. o fórmulas sintácticamente correctas (fsc) Semántica o Teoría de Modelos Una semántica o Teoría de modelos sobre un lenguaje L viene de dada por los siguientes tres elementos : Un conjunto de valores semánticos (S) Equivalentemente.David Camacho Fernández Lenguaje Formal Los elementos de L se denominan fórmulas bien formadas (fbf). un mecanismo que permite obtener una fbf de otras sin hacer referencia a ninguna semántica Tiene como objetivo establecer la noción sintáctica de deducción Sistemas axiomáticos Sistemas de Deducción Natural Sistemas de Gentzen Fórmula válida: una fbf es válida si toda interpretación del lenguaje es un modelo para ella. si todo modelo de Lógica 8 .

decimos que A es una fórmula válida o teorema.David Camacho Fernández Sistema axiomático El mecanismo deductivo viene dado por los dos elementos siguientes: Sistema axiomático Fórmula válida o teorema. Una deducción o derivación de una fbf A desde un conjunto de fbfs es una secuencia finita de fbfs en la cual cada fórmula es un axioma. Lo denotamos: ├A Reglas de inferencia: Conjunto de reglas deducción o transformación que establecen cuando un fbf es consecuencia inmediata de una o varias fórmulas Corrección y completitud Estas nociones se asocian a un sistema de demostración definido sobre un lenguaje con una teoría de modelos Automatización de las demostraciones Decidibilidad: Una lógica se dice decidible. un elemento de o una consecuencia inmediata de una o varias fórmulas precedentes. si para ella es posible diseñar un algoritmo que determine si cualquier inferencia es. Una demostración es una secuencia finita de fbfs en la cual cada fbf es o un axioma o una consecuencia inmediata de una o varias fórmulas precedentes Axiomas: Conjunto finito o infinito numerable de fbfs de L Si A es la última fórmula de la secuencia. o no. lo denotamos ├ A Deducción o derivación. válida Corrección: Una teoría de la demostración es correcta si todo lo derivable en ella es derivable en la semántica: ⇒ |= A ├A Semidecidibilidad Complejidad de los algoritmos de decisión Completitud: Una teoría de la demostración es completa si toda inferencia válida en la semántica es derivable en ella: |= A ⇒ ├A Lógica 9 .

sencillo y de fácil implementación (sistema utilizado por PROLOG) Breve historia de la Lógica Computacional Años 70 Introducción de la programación lógica como mecanismo general de resolución de problemas (Greene. Davis-Putnam. síntesis y verificación de Programas Teoría de la especificación Programación Lógica Inteligencia Artificial Especificación formal Uso de la lógica formal para especificar formalmente programas (ejemplo: lenguaje de especificación Z.) Aparición del sistema de Resolución (Robinson. 1959) Aparición de los primeros sistemas de demostración automática Años 60 Nuevos sistemas de demostración automática.. . 1965): sistema muy eficiente.David Camacho Fernández Campos de aplicación Lógica computacional Lógica de la programación Uso de la lógica formal para describir la semántica de los lenguajes de programación.. más eficientes y completos (Gilmore. Kowalski) Primera implementación de un lenguaje de programación lógico (Prolog.1969) Campos de aplicación Lógica computacional Análisis. 1989) Control de Procesos Robótica Breve historia de la Lógica Computacional Años 50 Nacimiento de la Inteligencia Artificial y del primer lenguaje de programación declarativo (LISP) (McCarthy. para verificar la corrección de programas o para probar propiedades de los programas (ejemplo: Lógica de Hoare. 1972) Lógica 10 . Colmenauer.

Java.g.) los programas en un lenguaje de programación lógico no describen cómo resolver el 2. Programación lógicofuncional. problema sino simplemente especifican qué hay que resolver Lógica 11 . Eiffel. uso de otras lógicas. programación lógica con restricciones. Smalltalk. Pascal. libros.David Camacho Fernández Breve historia de la Lógica Computacional Años 80 en adelante Programación Lógica Constituye una parte fundamental de la Inteligencia Artificial ≡ construcción de sistemas informáticos capaces de reproducir comportamientos “inteligentes" Prolog alcanza su madurez (varias implementaciones comerciales. Programación Lógica A diferencia del paradigma de programación imperativo o procedural (e. etc. o del orientado a objetos (C++. . su uso se empieza a generalizar y se define un estándar Programación lógica concurrente. Programación Lógica Se basa en dos ideas fundamentales: El “conocimiento" asociado con un sistema se puede expresar de forma declarativa mediante fórmulas lógicas (≡ uso de la lógica como mecanismo de representación del conocimiento) El “razonamiento" de un sistema se traduce entonces en la realización de una serie de operaciones lógicas (deducciones) sobre dicho conocimiento (≡ uso de la lógica como mecanismo de resolución de problemas) 1.. sistemas distribuidos y orientación a objetos. etc).. Ada. etc). C.

Madre(m2. los lenguajes lógicos incorporan mecanismos de demostración automática. más fáciles de entender y mantener y más fiables Consultas Lógica 12 .m2). p2) Son por ello más sencillos.m3).David Camacho Fernández Programación Lógica Escribir un programa lógico consiste en: 1. basados en sistemas de demostración lógicos Programación Lógica Ventajas de la programación lógica Ejemplo Los programas están muy próximos a la especificación de los problemas que pretenden resolver Programación Lógica Base de conocimientos Madre(m1.m2).Madre(m2. Representar el problema a resolver mediante una fórmula lógica de tipo existencial (≡ realizar una consulta a la base de conocimientos) Para ello. Programación Lógica Funcionamiento de la programación lógica La realización de una consulta se traduce en averiguar si la fórmula existencial es una consecuencia lógica de las fórmulas que constituyen la base de conocimientos Declarar el conocimiento relativo al problema mediante una serie de fórmulas lógicas (≡ construir una base de conocimientos) 2.m4) Padre(p1. Padre(p1.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->