Lógica Computacional

        "En la medida en que las leyes de la matemática se refieren a la realidad, no son ciertas.

      Y en la medida en que son ciertas, no se refieren a la realidad"

                                                                                                                           Albert Einstein

PREFACIO

Estoy dispuesto a sostener con palabras y obras, en tanto sea capaz, que el convencimiento de que debemos indagar lo que ignoramos nos hará mejores, más resueltos y menos perezosos, que la opinión de que es imposible descubrir lo que ignoramos e inútil buscarlo

Sócrates en el “Menón” de Platón.

 

“Kant había declarado que desde Aristóteles la lógica ‘no fue capaz de avanzar un solo paso, y según todas las apariencias, es un cuerpo doctrinario cerrado y completo’. Sin embargo, en el siglo y cuarto que siguió a Kant, pensadores como George Boole, Gottlob Frege, Giuseppe Peano, Charles Sanders Peirce y, finalmente Bertrand Russell y Alfred North Whitehead, produjeron numerosas reformulaciones en el campo de la lógica. La lógica dejó de constituir una serie de procedimientos aproximados, para convertirse en una ciencia, no empírica, capaz de asimilar regularmente muchos nuevos descubrimientos de la ciencia empírica.”

Howard Gardner en su libro “La Nueva Ciencia de la Mente”

 

Con el surgimiento cada vez más acelerado de nuevas tendencias y tecnologías informáticas, tales como la programación orientada a objetos, sistemas en paralelo y distribuidos, lenguajes de cuarta generación, bases de datos, multimedia, etc., y por la necesidad impuesta por “la moda” de estar constantemente actualizados, se ha descuidado notablemente, por buena parte de las personas que manejan la actualidad informática, el aspecto teórico y formal de la misma. La Importancia de una teoría formal está sustentada en la capacidad para establecer criterios de veracidad científica, sobre los resultados arrojados por la teoría, basados en la construcción axiomática de la misma, para otorgarle a la teoría el carácter de ser consistente. Este poder de la formalización se proyecta directamente a los objetos y fenómenos que se estudian a la luz de la teoría. El estudio de cualquier fenómeno mediante la formalización, requiere bases teóricas sólidas que soporten las descripciones y comportamientos del objeto de estudio, siendo la formalización una nueva alternativa para el estudio de diferentes fenómenos. De esta forma este curso contribuirá a acercar al estudiante a saber de dónde salen las cosas que él, inclusive, ya está trabajando.

La lógica computacional es una disciplina que estudia la aplicación de la lógica clásica formal para la representación computacional de argumentos, las técnicas de deducción automática y asistida por computadora; sus fundamentos relacionados con validez y completes de sistemas de proposiciones; y las aplicaciones de esas técnicas a las diferentes áreas de las ciencias computacionales en todas las etapas de desarrollo de software, es decir, en la especificación, diseño, construcción y verificación formal de programas. En este objetivo concurre junto con la teoría de la computación y el análisis de algoritmos. Siendo los temas de la lógica Computacional muy amplios, este curso es solo una introducción a los fundamentos de ella, trataremos de esta forma principalmente con las lógicas clásicas proposicional y de predicados, y con procedimientos de decisión e inferencia.

En este curso se pretende que el estudiante que se enfrente por primera vez a estos contenidos, vea sustancialmente acortado el tiempo que ha de dedicar a aprender a deducir en cálculos de deducción natural y a formalizar enunciados y argumentaciones de nuestro lenguaje natural, en los lenguajes lógico formales mencionados y, así mismo, respecto a las técnicas de deducción automática provenientes del teorema de resolución. Este curso tiene como objetivos principales para con el estudiante:

 

·         Contribuir a la generación, refuerzo y consolidación de habilidades lingüísticas y lógico-matemáticas, mediante la práctica consciente de los métodos y principios de la lógica, aplicados a la argumentación, la deducción y la prueba.

·         Propiciar el desarrollo de las capacidades necesarias para el análisis de realidades complejas, a través del establecimiento de relaciones entre esas realidades y los sistemas formales utilizados para representarlos.

·         Desarrollar habilidades y estrategias de importancia en los procesos de solución de problemas a los cuales el estudiante se vea enfrentado.

·         Propiciar el gusto y la inclinación hacia el uso de la argumentación precisa, los procesos deductivos y los sistemas formales. 

 

 

OBJETIVOS GENERALES

 

·         Contribuir a la generación, refuerzo y consolidación de habilidades lingüísticas y lógico-matemáticas, mediante la práctica consciente de los métodos y principios de la lógica, aplicados a la argumentación, la deducción y la prueba.

·         Desarrollar habilidades y estrategias de importancia en los procesos de solución de problemas.

·         Ayudar a que el estudiante adquiera una argumentación precisa utilizando  los procesos deductivos y los sistemas formales.  

 

OBJETIVOS ESPECÍFICOS

 

·         Estudiar la lógica proposicional

·         Estudiar la lógica de primer orden o de predicados

·         Estudiar procedimientos de decisión e inferencia.

·         Utilizar un lenguaje de Programación Lógica 
 
Contenido General del Curso

 

1. Introducción                                               

1.1 Un poco de Historia

1.2 Lenguajes Naturales y Formales

1.3 Razonamiento Lógico

1.4 Conceptos Lógico Filosóficos

14.1 Los principios Lógicos

14.2 El Concepto

1.4.3 Categorías

1.4.4 Argumento y Argumentación

1.4.5 Argumento deductivo(válido y no válido)

1.4.6 Argumento inductivo (fuerte y débil)

1.4.7 Argumento Sólido

1.4.8 Prueba

1.4.9 Contra-argumento

14.10 La Verdad lógica

1.4.11 Falsedad lógica

1.4.12 Tautología

1.4.13 Contradicción

1.4.14 Contingencia

1.4.15 Paradojas

14.16 Forma Lógica y Expresiones Lógicas  

1.4.17 Definición de la Lógica

1.5 Sistemas Lógico Formales

15.1 Primera Aproximación  

15.2 Ejemplos

1.6 Ejercicios para Realizar Colaborativamente

 

2. Lógica Proposicional
 
2.1 Introducción
2.2 Sistema de Deducción Natural de Enunciados
2.3 Semántica y Tablas de Verdad
2.4 Estrategias de Formalización
2.5 Inferencia
2.6 Mecanismo Deductivo
2.7 Reglas de Transformación
2.8 Aplicación a un Agente
2.9. Formas Normales de fbfs
2.10 Ejercicios a Realizar

 

3. Lógica de Predicados

3.1 Introducción

3.2 Lenguaje Formal

3.3 Estrategias de Formalización.

3.4 Sistema de Deducción Natural.

3.5 Reglas Derivadas.

3.6 Forma Normal Conjuntiva.

3.7 Ejercicios a Realizar.
 
4. Isomorfismo con Conjuntos
4.1 Introducción

4.2 Representación de Conjuntos

4.3 Clases de Conjuntos

4.4 Relaciones entre Conjuntos

4.5 Operaciones entre Conjuntos

4.6 Leyes del Álgebra de Conjuntos.

4.7 Cálculo Proposicional

4.8 Funciones Características

4.9  Ejercicios a Realizar
 

5. Álgebra Booleana

 

5.1 Introducción

5.2 Circuitos con Compuertas

5.3 Maxterms y Minterms

5.4 Ejercicio a Realizar

 

 

6. Representación en RAM

6.1 Análisis Léxico

6.2 Notación Polaca

6.3 Expresión en Árbol Binario

6.4 Forma Normal Conjuntiva

6.5 Algoritmos de Búsqueda

6.6 Algoritmo de Satisfactibilidad

6.7 Algoritmo de Resolución

 

7. Decisión e Inferencia

 

7.1 Un poco de Historia.

7.2 Resolución y Unificación

7.3 Algoritmos de Búsqueda

7.4 Razonamientos Hacia delante y Hacia Atrás

7.5 Ejercicios a Realizar

 

8. Programación Lógica

 

8.1 Introducción.

8.2 “Tutorial in Strawberry Prolog”

 

ANEXOS

 

·        Biografías

·        Primer Capítulo del libro:. “Lógica y Crítica” de Estanislao Zuleta.

·        Paradoja de Russell

·        “Verdad, Demostración e Intuición Directa”

·         Medio en Serio y Medio en Broma

·         El Pensamiento Matemático de Bertrand Russell

·         Lógica, Dios y Ateismo

·         Lógica Dialéctica

·         Introducción al Dilema del Prisionero

·        Referencias

 

BIBLIOGRAFÍA

  • Aristóteles. “Tratados de Lógica (El Organón”. Editorial Universales. Bogotá.
  • Cuena, José. "Lógica Informática" Editorial Alianza Informática. Frausto, Juan &  Sánchez, Gildardo. "Fundamentos de Lógica Computacional", Editorial Trillas.
  • Deaño, Alfredo. “Las Nuevas Concepciones de la Lógica”. Taurus. Madrid. 1980.
  • Dión Martínez, Carlos. “Curso de Lógica”. McGrawHill. México. 1993.
  • Falquera L., José L. & Martínez L., Concepción. “Lógica Clásica de Primer Orden. Estrategias de Deducción Formalización y Evaluación Semántica”.  Colección Estructuras y Procesos. Editorial Trotta. Madrid. 1999.
  • Fernández, Max et al. “Lógica Elemental”. Universidad Autónoma Metropolitana. México. 1996.
  • Gardner, Howard. “La Nueva Ciencia de la Mente”.
  • Grassmann & Trembley. “Matemáticas Discretas y Lógica”. PrenticeHall.
  • Ibarra Barrón Carlos. “Elementos Fundamentales de Lógica”. Alambra Mexicana. 1994.
  • Múnera, Luis. "Inteligencia Artificial". ICESI. Cali.
  • Penrose, Roger. “El Nuevo Emperador de la Mente”. Editorial Grijalbo.
  • Piaget, Jean.(Editor) “Tratado de Lógica y Conocimiento Científico”. Vol II, Paidos, Buenos Aires. 1979Rich & Knight. "Inteligencia Artificial". McGraw-Hill.
  • Rolston, David W. "Principios de Inteligencia Artificial y Sistemas Expertos". McGraw-Hill.
  • Ross, K.A. & Wrickt, C.R.B. “Matemáticas Discretas”. Prentice-Hall. 1996.
  • Russel, Bertrand. “Lógica y Conocimiento”.  Ediciones Taurus. 1966.
  • Russell Stuart & Norvig Peter. "Inteligencia Artificial. Un  Enfoque Moderno". Colección de Inteligencia Artificial de Prentice Hall. 1996.
  • Schildt Herbert. "Turbo Prolog. Programación Avanzada". McGraw-Hill.
  • Schildt Herbert. "Utilización de C en Inteligencia  Artificial". McGraw-Hill.
  • Smith, Karl J. “Introducción a la Lógica Simbólica”. Grupo Editorial Hispanoamericano. 1991.
  • Stewart, Ian, “Conceptos de Matemática Moderna”. Alianza Universidad. 1975. 

Logoz