Professional Documents
Culture Documents
Lgica Computacional
La mayora de las ideas fundamentales de la ciencia son esencialmente sencillas y, por regla
Tema 1: Introduccin
general pueden ser expresadas en un lenguaje comprensible para todos. Albert Einstein
Lgica Computacional
La Lgica Computacional aborda el estudio de la Lgica Matemtica desde la perspectiva de su aplicacin al mundo de la computacin
Definiciones
Lgica logos:razn, tratado o ciencia Lgica : Ciencia del Razonamiento La lgica surge con la filosofa: Debate entre el materialismo y el idealismo
Lgica
Definiciones
Lgica Matemtica= La Lgica es la ciencia que tiene como objetivo el anlisis de los mtodos de razonamiento Lgica Matemtica = Lgica Formal = Lgica Simblica Lgica Formal= deduccin de conocimiento a partir de otros elementos. Ciencia que estudia la validez formal del razonamiento
Definiciones
Razonamiento (deduccin, inferencia, argumentacin): obtencin de nuevo conocimiento (conclusin) a partir de una serie de conocimientos previos (premisas)
Validez formal: un razonamiento es formalmente vlido si la conclusin es necesariamente verdadera cuando las premisas son verdaderas (es vlido en virtud de su forma -su estructura-, es decir, independientemente del conocimiento concreto del que trata). En este caso se dice que la conclusin es una consecuencia lgica de las premisas
El matemtico alemn Leibniz (1646-1716) fue el primero en plantear una verdadera formalizacin de la lgica como clculo matemtico
Lgica
Tipos de Lgicas
Considera nicamente construcciones declarativas, sobre las que podemos pronunciarnos acerca de su verdad o falsedad sin consideraciones de contexto
Es veritativo-funcional. Una expresin 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
Lgica
Tipos de Lgicas
Lgica Clsica Su estudio se realiza en dos niveles de anlisis estructural: Se contemplan nicamente construcciones declarativas simples y compuestas: Lgica Clsica Proposicional En cada afirmacin simple se distingue qu se declara o de qu o quin se declara: Lgica Clsica de Predicados
Tipos de Lgicas
Lgica Clsica Proposicional (I) Representacin del lenguaje natural tomando como elemento bsico una representacin matemtica de las frases declarativas simples (o proposiciones) Ej: Jorge es listo (p)
1.
2.
Tipos de Lgicas
Lgica Proposicional (o de enunciados) (II) Estudia el comportamiento de las frmulas proposicionales, construidas exclusivamente a partir de: proposiciones atmicas (sentencias declarativas sin estructura interna que siempre son o bien ciertas o bien falsas) conectivas lgicas (y, o, no, implica, ...) Ejemplos de formalizacin de frases: llueve (p); me mojo (q) ; llueve o me mojo (p q); no llueve (p);si llueve, me mojo (p q)
Tipos de Lgicas
Lgica Proposicional (o de enunciados) (III) Ejemplos de formalizacin de razonamientos: Ejemplo A (razonamiento vlido)
Premisa 1: Si las rosas son rojas, las violetas son azules: p q Premisa 2: Las violetas no son azules: q Conclusin: Las rosas no son rojas: p
Lgica
Tipos de Lgicas
Lgica Clsica de Predicados (I) Representacin del lenguaje natural tomando como elemento bsico los componentes de algunos tipos de proposicin (trminos y predicados)
Tipos de Lgicas
Lgica Predicados (de primer orden) (II)
Ej: Jorge
trmino
es listo
predicado
La lgica de predicados es una extensin de la lgica de proposiciones que tiene en cuenta la estructura interna de los enunciados
Tipos de Lgicas
Lgica Predicados (de primer orden) (II) Introduce los siguientes (nuevos) elementos: predicados, que permiten expresar propiedades o relaciones entre objetos cuantificadores, que permiten expresar la generalidad de los enunciados (enunciados vlidos para todos los objetos de un cierto tipo o slo para algunos) funciones, que permiten expresar transformaciones de objetos constantes y variables, que permiten referirse a objetos concretos u objetos generales
Tipos de Lgicas
Lgica Predicados (de primer orden) (II) Ejemplo de formalizacin de una frase: a es el lmite de una sucesin f(n) si para todo > 0 existe un n0 tal que para todo n n0 se verifica abs(f(n) - a) < "
Lgica
Tipos de Lgicas
Lgica Predicados (de primer orden) (II) Ejemplo de formalizacin de un razonamiento:
Tipos de Lgicas
Lgicas de orden superior En lgica de predicados de primer orden los cuantificadores slo se pueden aplicar a objetos (elementos de primer orden) Las lgicas de orden superior son extensiones de la lgica de predicados de primer orden que permiten aplicar cuantificadores a predicados definidos sobre objetos (segundo orden), predicados definidos sobre predicados (tercer orden), etc.
Premisa 1: Todas las personas son mortales Premisa 2: Scrates es una persona. P(s) Conclusin: Scrates es mortal. M(s)
Tipos de Lgicas
Lgicas de orden superior Ejemplos: Todos los mltiplos de 8 comparten una propiedad interesante
Tipos de Lgicas
Lgicas No Clsicas Lgicas con mayor poder expresivo Extensiones de la Lgica Clsica: extienden el vocabulario y aaden nuevas leyes Lgica Temporal: considera contextos temporales
Todos los problemas filosficos tienen un rasgo en comn" Lgica Modal: considera contextos de necesidad o posibilidad Lgica Doxstica: considera contextos de creencia
Lgica
Tipos de Lgicas
Lgicas No Clsicas Desviaciones de la Lgica Clsica: no mantienen algunas leyes de la Lgica clsica Lgica Intuicionista: no contempla como ley A o no A (ley del tercero excluido) Lgica 3-valuada: se consideran tres valores de verdad
Lgicas que incorporan el tratamiento de la incertidumbre o la imprecisin: Lgicas multivaluadas, Lgicas probabilistas,
Lgicas borrosas (fuzzy) Lgica lineal: no es veritativo funcional
Lenguaje Formal
Alfabeto: Un alfabeto es cualquier conjunto finito o infinito numerable de smbolos (A)
Lgica
Lenguaje Formal
Los elementos de L se denominan frmulas bien formadas (fbf), o frmulas sintcticamente correctas (fsc)
Un conjunto de valores semnticos (S) Equivalentemente, un lenguaje L viene determinado por: Un conjunto D S de valores destacados Alfabeto: Conjunto de smbolos admitidos en el lenguaje Un conjunto (I) de aplicaciones I : L S denominadas interpretaciones
Gramtica: Conjunto de reglas de formacin que determinan qu cadenasde smbolos son fbf en el lenguaje
Teora de la demostracin
Es un mecanismo deductivo, es decir, un mecanismo que permite obtener una fbf de otras sin hacer referencia a ninguna semntica Tiene como objetivo establecer la nocin sintctica de deduccin Sistemas axiomticos Sistemas de Deduccin Natural Sistemas de Gentzen
Frmula vlida: una fbf es vlida si toda interpretacin del lenguaje es un modelo para ella; se denota: |= Inferencia semntica: una fbf se deriva o infiere semnticamente de un conjunto de fbfs es modelo de . Se denota: |= , si todo modelo de
Lgica
Sistema axiomtico
El mecanismo deductivo viene dado por los dos elementos siguientes:
Sistema axiomtico
Frmula vlida o teorema. Una demostracin es una secuencia finita de fbfs en la cual cada fbf es o un axioma o una consecuencia inmediata de una o varias frmulas precedentes
Si A es la ltima frmula de la secuencia, decimos que A es una frmula vlida o teorema; lo denotamos A Deduccin o derivacin. Una deduccin o derivacin de una fbf A desde un conjunto de fbfs es una secuencia finita de fbfs en la cual cada frmula es un axioma, un elemento de o una consecuencia inmediata de una o varias frmulas precedentes. Lo denotamos: A
Reglas de inferencia: Conjunto de reglas deduccin o transformacin que establecen cuando un fbf es consecuencia inmediata de una o varias frmulas
Correccin y completitud
Estas nociones se asocian a un sistema de demostracin definido sobre un lenguaje con una teora de modelos
Correccin: Una teora de la demostracin es correcta si todo lo derivable en ella es derivable en la semntica: |= A A Semidecidibilidad
Complejidad de los algoritmos de decisin Completitud: Una teora de la demostracin es completa si toda inferencia vlida en la semntica es derivable en ella: |= A A
Lgica
Campos de aplicacin
Lgica computacional
Lgica de la programacin
Uso de la lgica formal para describir la semntica de los lenguajes de programacin, para verificar la correccin de programas o para probar propiedades de los programas (ejemplo: Lgica de Hoare,1969)
Campos de aplicacin
Lgica computacional
Anlisis, sntesis y verificacin de Programas Teora de la especificacin Programacin Lgica Inteligencia Artificial
Especificacin formal
Uso de la lgica formal para especificar formalmente programas (ejemplo: lenguaje de especificacin Z, 1989)
Introduccin de la programacin lgica como mecanismo general de resolucin de problemas (Greene, Kowalski)
Lgica
10
Programacin Lgica
Constituye una parte fundamental de la Inteligencia Artificial construccin de sistemas informticos capaces de reproducir comportamientos inteligentes"
Prolog alcanza su madurez (varias implementaciones comerciales, libros, etc), su uso se empieza a generalizar y se define un estndar
Programacin lgica concurrente, Programacin lgicofuncional, programacin lgica con restricciones, sistemas distribuidos y orientacin a objetos, uso de otras lgicas, ...
Programacin Lgica
Se basa en dos ideas fundamentales: El conocimiento" asociado con un sistema se puede expresar de forma declarativa mediante frmulas lgicas ( uso de la lgica como mecanismo de representacin del conocimiento) El razonamiento" de un sistema se traduce entonces en la realizacin de una serie de operaciones lgicas (deducciones) sobre dicho conocimiento ( uso de la lgica como mecanismo de resolucin de problemas)
1.
Programacin Lgica
A diferencia del paradigma de programacin 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 programacin lgico no describen cmo resolver el
2.
Lgica
11
Programacin Lgica
Escribir un programa lgico consiste en:
1.
Programacin Lgica
Funcionamiento de la programacin lgica La realizacin de una consulta se traduce en averiguar si la frmula existencial es una consecuencia lgica de las frmulas que constituyen la base de conocimientos
Declarar el conocimiento relativo al problema mediante una serie de frmulas lgicas ( construir una base de conocimientos)
2.
Representar el problema a resolver mediante una frmula lgica de tipo existencial ( realizar una consulta a la base de conocimientos)
Para ello, los lenguajes lgicos incorporan mecanismos de demostracin automtica, basados en sistemas de demostracin lgicos
Programacin Lgica
Ventajas de la programacin lgica Ejemplo Los programas estn muy prximos a la especificacin de los problemas que pretenden resolver
Programacin Lgica
Base de conocimientos Madre(m1,m2);Madre(m2,m3);Madre(m2,m4) Padre(p1,m2); Padre(p1, p2)
Lgica
12