Code Monkey home page Code Monkey logo

logicacomputacional's Introduction

Curso Integral de Lógica Computacional

Nombre Alternativo: Lógica Matemática

Código Pgmsim: MSS002 Código Pgcomp: PC101

Teoría: 4 horas por semana Práctica: 1/2 hora por semana Laboratorio: 0 (se usarán laboratorios virtuales) UC: 4

Breve Descripción del Curso

Objetivos del curso:

Generales: Conocer los lenguajes lógicos-matemáticos y sus aplicaciones en computación.

Específicos:

  1. Revisar la historia del pensamiento lógico y matemático.
  2. Conocer el lenguaje de la programación lógica.
  3. Conocer fundamentos de las matemáticas discretas y su relación con computación.
  4. Desarrollar modelos y aplicaciones de la lógica.

Requisitos para tomar el curso:

Prelaciones: ninguna (en el curso se hará una revisión del material relevante).

Requerimientos:

Se usará el software de Swi-Prolog, LPS, Logical Contracts y Galatea (enlaces al final). El o la estudiante debe tener acceso a un computador personal (GNU/Linux, MacOs, Windows) o un celular inteligente o tableta con acceso a Internet (para aprovechar los servidores que se ofrecerán como laboratorios virtuales para todo el curso).

Curso Corto: Lógica Matemática y Programación Lógica

Teoría: 16 horas. Práctica: 8 horas Laboratorio: 0 UC: 1 y 1/4

Objetivos del curso:

Generales: Conocer los lenguajes lógicos-matemáticos y sus aplicaciones en computación.

Específicos:

  1. Revisar la historia del pensamiento lógico y matemático.
  2. Conocer el lenguaje de la programación lógica.

Competencias

El egresado o egresada de este curso corto:

1.- Programa computadores usando el lenguaje lógico como medio para representación del conocimiento tanto procedimiental como declarativo.

2.- Interpreta la especificación de un sistema en lógica para efectos de un análisis crítico o una implementación computacional.

3.- Modela un agente usando el lenguaje lógico para caracterizar los objetos computacionales que animan el concepto de agente y le transfieren a cada realización capacidades para la conducta inteligente.

Contenido del curso corto de Programación Lógica

Unidad 1. Programas lógicos y programas con propositos

tema 1. Programas Lógicos y agentes reactivos.

tema 2. La forma lógica del lenguaje natural

tema 3. Restricciones (Constrains)

tema 4. Programas con propósitos (metas u objetivos).

Ejercicio: Descubrir la forma lógica de un aviso público o publicidad.

Unidad 2. Reducción de Metas, "Conclusiones si Condiciones" y Razonamiento hacia atrás

tema 1. Representación del conocimiento y creencias de una agente proactivo.

tema 2. Razonamiento informal sobre una representación formal.

tema 3. De bases de conocimiento a programas lógicos.

tema 4. Grafos para reducción de metas.

tema 5. Razonamiento hacia atrás.

Ejercicio: Identificar las limitaciones del lenguaje Prolog para la planificación.

Unidad 3. Sistemas de Producción y Razonamiento hacia adelante.

tema 1. Conductismo versus Representación.

tema 2. Sistemas de producción y el razonamiento hacia adelante.

tema 3. Sistemas de producción sin ninguna representación del mundo.

tema 4. Sistemas de producción con memoria.

tema 5. El uso de los sistemas de producción para simular la reducción de metas.

Ejercicio: Modelar un agente que reaccione razonablemente frente a su entorno.

Unidad 4. La Historia en el Ciclo de los Agentes.

tema 1. Un sistema lógico que integra reducción de metas y razonamiento hacia adelante.

tema 2. Una lógica de metas y creencias.

tema 3. Primera aproximación al factor tiempo en la lógica de los agentes.

Ejercicio: Modelar un agente reactivo y proactivo.

Unidad 5. Pensar = Inferencia + Búsqueda + Inferencia.

tema 1. La metáfora geográfica de la resolución de problemas.

tema 2. Razonamiento lógico = búsqueda + inferencia.

tema 3. El manejo de la incertidumbre en la lógica.

tema 4. Pensar = Inferencia + Búsqueda + Inferencia

tema 5. Pensar sin buscar (el papel de la decisión).

Ejercicio: Responder: ¿Cuál es la diferencia, si acaso, entre pensar y decidir?.

Unidad 6. Especificaciones Ejecutables.

tema 1. El sentido de tener un propósito. Compilando metas y creencias.

tema 2. Encapsulamiento.

Ejercicio: Responder: ¿Por qué la gente no es así?

Evaluación general del curso: Un examen escrito y el modelo codificado de un agente reactivo y proactivo.

Curso Corto: Lógica Computacional

Teoría: 16 horas. Práctica: 8 horas Laboratorio: 0 UC: 1 y 1/4

Objetivos del curso:

Generales: Usar los lenguajes lógicos-matemáticos para modelar sistemas computacionales.

Específicos:

  1. Conocer el lenguaje de la lógica computacional.
  2. Conocer fundamentos de las matemáticas discretas y su relación con computación.

Competencias

El egresado o egresada de este curso corto:

1.- Modela un sistema multiagentes en que los agentes participan en juegos de interacción de acuerdo a la teoría de decisiones y de juegos.

2.- Modela un sistema dinámico usando el lenguaje lógico para describir las leyes de cambio que imperan en ese sistema y las reglas que los agentes usan para guiar su conducta.

Contenido del curso corto de Lógica Computacional

Unidad 7. Consciencia Computacional.

tema 1. Introducción a la consciencia computacional.

tema 2. Compilando representaciones por medio del razonamiento por adelantado.

tema 3. Combinando el pensamiento racional con el pensamiento intuitivo.

tema 4. La lógica como el lenguaje de alto nivel del pensamiento.

Ejercicio: Modelar un agente intuitivo y racional.

Unidad 8. El fundamento lógico del dilema del prisionero. Introducción a la teoría de juegos.

tema 1. Introducción a la teoria matemática de juegos de interacción.

tema 2. La lógica del dilema del prisionero.

tema 3. La lógica general de los juegos.

tema 4. Combinando la lógica y la teoría de decisiones.

tema 5. Resolviendo el dilema del prisionero.

Ejercicio: Modelar y simular un juego de interacción entre dos o más agentes.

Unidad 9. Semántica Lógica de Modelos Dinámicos.

tema 1. La lógica de los estado estáticos y los estados dinámicos.

tema 2. La semántica de la lógica y su relación con las estructuras del universo.

tema 3. El cálculo de situaciones.

tema 4. El cálculo de eventos y una representación explícita del tiempo en lógica.

Ejercicio: Modelar, simular y reinterpretar el juego de la zorra y el cuervo.

Unidad 10. Lógica y la orientación a los objetos.

tema 1. El uso del conductismo y de la orientación por objetos en computación.

tema 2. Reconciliando la lógica con los objetos: Orientación por objetos moderada.

tema 3. Redes semánticas.

tema 4. Lingüística orientada a objetos.

Ejercicio: Modelar un sistema multi-agente orientado a objetos.

Curso Corto: Aplicaciones Lógicas

Teoría: 16 horas Práctica: 16 horas Laboratorio: 0 UC: 1 y 1/2

Objetivos del curso:

Generales: Conocer los lenguajes lógicos-matemáticos y sus aplicaciones en computación.

Específicos:

  1. Evaluar el lenguaje de la programación lógica y la lógica computacional.
  2. Desarrollar modelos y aplicaciones de la lógica.

Competencias

El egresado o egresada de este curso corto:

1.- Desarrolla aplicaciones especificas de la lógica computacional en la Web semántica, el aprendizaje automático y los contratos inteligentes (El o la participante elige su proyecto de aplicación entre las opciones que se ofrecen).

Contenido del curso corto de aplicaciones lógicas

Unidad 11. Lógica y la Web Semántica.

tema 1. Lenguajes ontológicos e Ingeniería ontológica.

tema 2. Razonamiento no monótono.

Ejercicio: Modelar un agente que sirva como gestor de la web semántica.

Unidad 12. Lógica y Aprendizaje Automático (Machine Learning).

tema 1. Introducción al aprendizaje computacional (machine learning).

tema 2. Especificación elemental de un agente aprendiz.

tema 3. Optimización por simulación: Agentes que aprenden en una simulación.

Ejercicio: Resolver un problema de optimización por simulación con agentes aprendices.

Unidad 13. Contratos Lógicos.

tema 1. Introducción a las cadenas de bloques y las plataformas de criptomonedas.

tema 2. Introducción a los contratos inteligentes.

tema 3. Protocolo de especificación legal (LSP).

tema 4. La arquitectura de la plataforma de Contratos Lógicos.

tema 5. Introducción al lenguaje natural controlado para escribir contratos lógicos.

Ejercicio: Producir el software de gestión de un contracto inteligente a partir del texto de un contrato real.

Bibliografía

Textos guías del curso:

Kowalski, R. A. How to be artificially intelligent. MIT Press, 2011. Traducción parcial al español disponible en línea

Dávila, J. A. Lógica Práctica y Aprendizaje Computacional. EAE. 2011. Acceso Abierto

Bibliografía complementaria:

Delong, Howard. A profile of Mathematical Logic. Addison-Wesley. 1970.

Thayse, André. From Standard Logic to Logic Programming. John Wiley & Sons, 1988.

Domingo, Carlos. Notas de Lógica para Computación. Postgrado de Computación. U.L.A. 1995.

Hogger, Christopher. Essentials of Logic Programming. Clarendon Press. Oxford. 1990.

Ross, Kenneth A y Wright, Charles R.B. Mátemáticas

Discretas. Prentice Hall Hispanoamericana. 1990.

Software del curso

Prolog.

LPS.

Galatea.

Logical Contracts

logicacomputacional's People

Contributors

jacintodavila avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.