“la mayoría de las ideas fundamentales de la tema 1...

12
David Camacho Fernández Lógica 1 Tema 1: Introducción 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 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 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 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

Upload: phungdang

Post on 10-Feb-2018

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 1

Tema 1: Introducción

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

general pueden ser expresadas en un lenguaje

comprensible para todos.”

Albert Einstein

Lógica ComputacionalLa 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

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

DefinicionesLó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

Page 2: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 2

DefinicionesLógica Matemática= “La Lógica es la ciencia que tienecomo 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. Ciencia que estudia la validez formal del razonamiento

DefinicionesRazonamiento (deducción, inferencia, argumentación): obtención de nuevo conocimiento (conclusión) a partir de unaserie de conocimientos previos (premisas)

Validez formal: un razonamiento es formalmente válido si la conclusión es necesariamente verdadera cuando las premisasson verdaderas (es válido en virtud de su forma -su estructura-, es decir, independientemente del conocimiento concreto del quetrata). En este caso se dice que la conclusión es unaconsecuencia lógica de las premisas

Breve historia de la Lógica FormalDemócrito (460-370 a.c) Fundador de la teoría atomística

Sócrates (469-339 a.c.) y Platón (427-347 a.c.): contra la corrientematerialista

La Lógica fue formalmente introducida en el marco de la Filosofíapor el filósofo griego Aristóteles (384-322 A.C.). 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), 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álculomatemático

Page 3: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 3

Breve historia de la Lógica Formal

El trabajo es completado a mediados del siglo XIX con lostrabajos de los matemáticos ingleses Boole y De Morgan, queaplicaron a la lógica métodos algebraicos:

G. Boole(1815-1864): Lógica Booleana

Augustus de Morgan(1806-1871): leyes distributivas de la negación

Breve historia de la Lógica FormalEl gran desarrollo de la lógica formal se produjo a finales del siglo XIX y primera mitad del XX, 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), Alfred North Whitehead(1861-1947): Principia Mathematica: lógica simbólica

Kurt Gödel (1906-1978): Teoremas de Gödel

Alfred Tarski (1902-1983), Fundamentación de la metalógica y la metamatemática

Hilbert, 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, en particular

como herramienta de programación

Tipos de LógicasLógica Clásica

Considera únicamente construcciones declarativas, sobre las quepodemos pronunciarnos acerca de su verdad o falsedad sin consideraciones de contexto

Es veritativo-funcional. 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

Page 4: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 4

Tipos de LógicasLógica Clásica

Su estudio se realiza en dos niveles de análisis estructural:

1. Se contemplan únicamente construcciones declarativassimples y compuestas: Lógica Clásica Proposicional

2. En cada afirmación simple se distingue qué se declara o dequé o quién se declara: Lógica Clásica de Predicados

Tipos de LógicasLógica Clásica Proposicional (I)

Representación del lenguaje natural tomando como elementobásico una representación matemática de las frases declarativassimples (o proposiciones)

Ej: Jorge es listo (p)

Tipos de LógicasLógica Proposicional (o de enunciados) (II)

Estudia el comportamiento de las fórmulas proposicionales, 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, o, no, implica, ...)

Ejemplos de formalización de frases:llueve (p); me mojo (q) ; llueve o me mojo (p ∨ q); no llueve(¬p);si llueve, me mojo (p → q)

Tipos de LógicasLógica Proposicional (o de enunciados) (III)

Ejemplos de formalización de razonamientos:

Ejemplo A (razonamiento válido)Premisa 1: Si las rosas son rojas, 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, estudiamos: p → q

Premisa 2: Los problemas no son difíciles: ¬ p

Conclusión: No estudiamos: ¬q

Page 5: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 5

Tipos de LógicasLógica Clásica de Predicados (I)

Representación del lenguaje natural tomando como elementobásico los componentes de algunos tipos de proposición (términosy predicados)

Ej: Jorge es listotérmino predicado

Tipos de LógicasLógica Predicados (de primer orden) (II)

Existen razonamientos válidos que no son expresables ni

analizables en lógica de proposiciones

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ógicasLógica Predicados (de primer orden) (II)

Introduce los siguientes (nuevos) elementos:

predicados, que permiten expresar propiedades o relacionesentre objetoscuantificadores, que permiten expresar la generalidad de losenunciados (enunciados válidos para todos los objetos de un cierto tipo o sólo para algunos)funciones, que permiten expresar transformaciones de objetosconstantes y variables, que permiten referirse a objetosconcretos u objetos generales

Tipos de LógicasLó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 n0tal que para todo n ≥ n0 se verifica abs(f(n) - a) < ε"

Page 6: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 6

Tipos de LógicasLógica Predicados (de primer orden) (II)

Ejemplo de formalización de un razonamiento:

Premisa 1: Todas las personas son mortales

Premisa 2: Sócrates es una persona. P(s)

Conclusión: Sócrates es mortal. M(s)

(razonamiento formalmente válido)

Tipos de LógicasLógicas de orden superior

En lógica de predicados de primer orden loscuantificadores 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 permitenaplicar cuantificadores a predicados definidos sobreobjetos (segundo orden), predicados definidos sobrepredicados (tercer orden), etc.

Tipos de LógicasLógicas de orden superior

Ejemplos:

“Todos los múltiplos de 8 comparten una propiedad interesante“

“Todos los problemas filosóficos tienen un rasgo en común"

Tipos de LógicasLó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

Lógica Modal: considera contextos de necesidad o posibilidad

Lógica Doxástica: considera contextos de creencia

Page 7: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 7

Tipos de LógicasLó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

Lógicas que incorporan el tratamiento de la incertidumbre o la imprecisión: Lógicas multivaluadas, Lógicas probabilistas, Lógicas borrosas (fuzzy)

Lógica lineal: no es veritativo funcional

Características de una LógicaPara definir una lógica es necesario

Un lenguaje formal (sintaxis)

Una Semántica (o Teoría de Modelos)

Una Teoría de la demostración

Automatizar las Deducciones

Características de una LógicaSintaxis

Describe los elementos básicos del lenguaje y las reglasque permiten construir las expresiones admitidas por el lenguaje, denominadas fórmulas

SemánticaPermite asignar un significado (valor de verdad, cierto o falso) a las fórmulas del lenguaje, y definir qué significa queuna fórmula o un razonamiento sean válidos

Sistemas de demostraciónSon sistemas formales que permiten averiguar cuándo unafórmula es válida o cuándo un razonamiento es válido

Lenguaje FormalAlfabeto: Un alfabeto es cualquier conjunto finito o infinitonumerable de símbolos (A)

Lenguaje universal sobre A:

A* = ∪ Ann∈N

Lenguaje sobre A: es cualquier subconjunto del lenguajeuniversal: L ⊆ A*

Page 8: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 8

Lenguaje FormalLos elementos de L se denominan fórmulas bien formadas (fbf), o fórmulas sintácticamente correctas (fsc)

Equivalentemente, un lenguaje L viene determinado por:

Alfabeto: Conjunto de símbolos admitidos en el lenguaje

Gramática: Conjunto de reglas de formación que determinanquá cadenasde símbolos son fbf en el lenguaje

Semántica o Teoría de ModelosUna semántica o Teoría de modelos sobre un lenguaje Lviene de dada por los siguientes tres elementos :

Un conjunto de valores semánticos (S)

Un conjunto D ⊂ S de valores destacados

Un conjunto (I) de aplicaciones I : L → S denominadasinterpretaciones

Semántica o Teoría de Modelos

Modelo. Una interpretación es un modelo de un conjunto de fbfs Ω si asigna a toda fórmula de Ω un valor destacado

Fórmula válida: una fbf es válida si toda interpretación del lenguaje es un modelo para ella; se denota: |= α

Inferencia semántica: una fbf α se deriva o infieresemánticamente de un conjunto de fbfs Ω, si todo modelo de Ωes modelo de α. Se denota: Ω |= α

Teoría de la demostraciónEs un “mecanismo deductivo”, es decir, un mecanismo quepermite obtener una fbf de otras sin hacer referencia a ningunasemántica

Tiene como objetivo establecer la noción sintáctica de deducción

Sistemas axiomáticos

Sistemas de Deducción Natural

Sistemas de Gentzen

Page 9: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 9

Sistema axiomáticoEl mecanismo deductivo viene dado por los dos elementossiguientes:

Axiomas: Conjunto finito o infinito numerable de fbfs de L

Reglas de inferencia: Conjunto de reglas deducción o transformación que establecen cuando un fbf es consecuenciainmediata de una o varias fórmulas

Sistema axiomáticoFórmula válida o teorema. 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

Si A es la última fórmula de la secuencia, decimos que A es una fórmulaválida o teorema; lo denotamos A

Deducción o derivación. Una deducción o derivación de una fbf A desdeun conjunto Ω de fbfs es una secuencia finita de fbfs en la cual cadafórmula es un axioma, un elemento de Ω o una consecuencia inmediata de una o varias fórmulas precedentes. Lo denotamos: Ω A

Corrección y completitudEstas nociones se asocian a un sistema de demostracióndefinido sobre un lenguaje con una teoría de modelos

Corrección: Una teoría de la demostración es correcta sitodo lo derivable en ella es derivable en la semántica: Ω A ⇒ Ω |= A

Completitud: Una teoría de la demostración es completa sitoda inferencia válida en la semántica es derivable en ella: Ω|= A ⇒ Ω A

Automatización de las demostraciones

Decidibilidad: Una lógica se dice decidible, si para ella es posiblediseñar un algoritmo que determine si cualquier inferencia es, o no, válida

Semidecidibilidad

Complejidad de los algoritmos de decisión

Page 10: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 10

Campos de aplicaciónLógica computacional

Lógica de la programación

Uso de la lógica formal para describir la semántica de loslenguajes de programación, para verificar la corrección de programas o para probar propiedades de los programas(ejemplo: Lógica de Hoare,1969)

Especificación formal

Uso de la lógica formal para especificar formalmenteprogramas (ejemplo: lenguaje de especificación Z, 1989)

Campos de aplicaciónLógica computacional

Análisis, síntesis y verificación de Programas

Teoría de la especificación

Programación Lógica

Inteligencia Artificial

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, 1959)

Aparición de los primeros sistemas de demostraciónautomática

Años 60

Nuevos sistemas de demostración automática, más eficientesy completos (Gilmore, Davis-Putnam, ...)

Aparición del sistema de Resolución (Robinson, 1965): sistema muy eficiente, sencillo y de fácil implementación(sistema utilizado por PROLOG)

Años 70

Introducción de la programación lógica como mecanismo

general de resolución de problemas (Greene, Kowalski)

Primera implementación de un lenguaje de programación

lógico (Prolog, Colmenauer, 1972)

Breve historia de la Lógica Computacional

Page 11: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 11

Breve historia de la Lógica Computacional

Años 80 en adelante

Prolog alcanza su madurez (varias implementacionescomerciales, libros, etc), su uso se empieza a generalizar y se define un estándar

Programación lógica concurrente, Programación lógico-funcional, programación lógica con restricciones, sistemasdistribuidos y orientación a objetos, uso de otras lógicas, ...

Programación Lógica

Constituye una parte fundamental de la Inteligencia Artificial ≡ construcción de sistemas informáticos capaces de reproducircomportamientos “inteligentes"

Programación LógicaSe basa en dos ideas fundamentales:

1. El “conocimiento" asociado con un sistema se puede expresarde forma declarativa mediante fórmulas lógicas (≡ uso de la lógica como mecanismo de representación del conocimiento)

2. 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 mecanismode resolución de problemas)

Programación LógicaA diferencia del paradigma de programación imperativo o

procedural (e.g. Pascal, Ada, C, etc), o del orientado a objetos

(C++, Java, Eiffel, Smalltalk, etc.) los programas en un lenguaje

de programación lógico no describen cómo resolver el

problema sino simplemente especifican qué hay que resolver

Page 12: “La mayoría de las ideas fundamentales de la Tema 1 ...arantxa.ii.uam.es/.../logica/transparencias/0607/Introduccion0607.pdf · Matemática desde la perspectiva de su aplicación

David Camacho Fernández

Lógica 12

Programación LógicaEscribir un programa lógico consiste en:

1. Declarar el conocimiento relativo al problema mediante una

serie de fórmulas lógicas (≡ construir una base de

conocimientos)

2. Representar el problema a resolver mediante una fórmula

lógica de tipo existencial (≡ realizar una consulta a la base de

conocimientos)

Programación LógicaFuncionamiento 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

Para ello, los lenguajes lógicos incorporan mecanismos de

demostración automática, basados en sistemas de

demostración lógicos

Programación LógicaVentajas de la programación lógica

Los programas están muy próximos a la especificación de los

problemas que pretenden resolver

Son por ello más sencillos, más fáciles de entender y

mantener y más fiables

Programación LógicaEjemplo

Base de conocimientosMadre(m1,m2);Madre(m2,m3);Madre(m2,m4)Padre(p1,m2); Padre(p1, p2)

Consultas