UNIVERSIDAD DE BUENOS AIRES FACULTAD DE ClENCIAS ECONOMICAS LICENCIATURA EN SISTEMAS DE INFORMACION EN LAS ORGANIZACIONES ORGANIZACIONES PLAN 1997
LOGICA Asignatura 651 (Departamento de Humanidades)
Programa
PROFESOR TITULAR: PROF. DR. JAVIER LEGRIS
1
UNIVERSIDAD DE BUENOS AIRES FACULTAD DE ClENCIAS ECONOMICAS
LOGICA Asignatura 651
Programa
A. ENCUADRE GENERAL. A.1. PROGRAMA DE CONTENIDOS MINIMOS. Sistemas sintácticos y semánticos. Los sistemas formales como modelos de computadoras. Lenguajes y programas. El lenguaje de la lógica sentencial. Métodos de decisión. El sistema de deducción natural. Aplicaciones: Diseño de sumadores y otros circuitos para computadoras. El lenguaje de la lógica de predicados. Métodos de decisión -Máquinas de Turing. Principales resultados de la teoria de modelos. Aplicaciones: Prolog, Sistemas Expertos. Problemas resolubles y no resolubles algoritmicamente. Métodos y técnicas científicas. Tipos de conocimientos científicos, ciencia y tecnología. Tecnologia: método científico y tecnología. Elucidación de la acción humana y su aplicación al diseño de sistemas. A.2. FUNDAMENTACIÓN. La lógica, entendiendo por esta disciplina la lógica matemática o lógica simbólica en el nivel de desarrollo que se encuentra actualmente, desempeña un papel básico, a la vez fundante y central en los estudios de sistemas de información tanto en los aspectos ligados al diseño de sistemas como a los aspectos más estrictamente computacionales, ligados a los desarrollos actuales de la informática. Esta afirmación se funda en los siguientes hechos: 1) La lógica proporciona lenguajes formales para representar y analizar problemas de los campos más diversos y sistemas formales que permiten resolver esos problemas. 2) La lógica proporciona las herramientas para formalizar diferentes tipos de inferencias que se emplean tanto en la vida cotidiana como en la actividad científica. 3) La lógica es la disciplina subyacente a la teoría de la computabilidad, de modo que su dominio es necesario para comprender conceptos como funciones computables y las limitaciones intrínsecas de la computabilidad. 4) La lógica posibilita la organización de la información a través de sistemas deductivos y no deductivos. 2
5) La lógica se aplica en la construcción de sistemas expertos y otro tipo de herramientas informáticas 6) La lógica se aplica en el desarrollo de lenguajes de programación (programación lógica). 7) La lógica es una de las disciplinas que constituyen la inteligencia artificial y las ciencias cognitivas. 8) Los lenguajes formales que la lógica estudia son aptos para formalizar teorías científicas. 9) La lógica es una condición necesaria para el análisis epistemológico del conocimiento científico. 10) La lógica comparte con la teoría de circuitos estructuras matemáticas, de modo que métodos de aquella pueden aplicarse en esta. 11) La lógica proporciona metodologías para el diseño de sistemas de información. A.3. UBICACIÓN DE LA ASIGNATURA EN EL CURRICULUM DE LA CARRERA. La asignatura lógica se encuentra entre las primeras materias especificas del Ciclo Profesional correspondiente a la Licenciatura en Sistemas de Información en las Organizaciones. Así, la materia presupone los conocimientos adquiridos anteriormente en la asignatura Metodología de la Ciencias Sociales y, además, permite aplicar algunos de los conocimientos de matemática adquiridos en las materias de Algebra y de Análisis Matemático pertenecientes al Ciclo General de la carrera. La materia ofrece un panorama básico en torno de los conceptos de lenguaje formal, sistema formal, inferencia, computabilidad, representación del conocimiento y programación lógica. De este modo, proporciona herramientas conceptuales necesarias para materias especificas de la carrera, tales como Teoria de los Lenguajes y Sistemas Operativos, Tecnología de las Computadoras, Construcción de Aplicaciones Informáticas y Tecnología de las Comunicaciones. A.4. OBJETIVOS DE LA MATERIA. - Que el alumno adquiera los conceptos básicos de la lógica para aplicarlos a la solución de problemas de su campo profesional. - Que el alumno represente conocimiento mediante lenguajes formales. - Que al alumno adquiera instrumentos para distinguir razonamientos lógicamente válidos y enunciados lógicamente verdaderos. - Que el alumno distinga entre razonamientos deductivos y no deductivos. - Que el alumno resuelva problemas deductivos aplicando diferentes sistemas formales. 3
- Que el alumno comprenda las diferencias entre los diferentes sistemas formales de lógica y las diferentes metodologías formales subyacentes a cada uno de ellos. - Que el alumno conozca los aspectos computacionales de la lógica. - Que el alumno conozca las propiedades metateóricas de los sistemas formales lógicos computacionalmente más relevantes. - Que el alumno comprenda los conceptos de método de decisión y de algoritmo. - Que el alumno adquiera los conceptos elementales de programación lógica y construya programas sencillos en programación lógica. - Que el alumno sepa construir y simplificar circuitos lógicos. - Que el alumno comprenda el papel de la lógica en el desarrollo de herramientas informáticas y en la inteligencia artificial. - Que el alumno aplique las herramientas lógicas y metodológicas al análisis y diseño de sistemas de información.
B. PROGRAMA ANALITICO PRIMERA PARTE: INTRODUCCION UNIDAD TEMÁTICA I: Objetivos:
Que el alumno conozca los conceptos básicos de la lógica y los pueda relacionar entre sí, viendo como concepto básico el de deducción. Contenidos:
El concepto de deducción y la lógica simbólica. Razonamientos deductivos. El problema de la inferencia no deductiva. Conceptos de lenguaje formal y cálculo. Conceptos de validez y consistencia. Regla lógica y ley lógica. Lógica matemática: objetivos y métodos. El concepto de problema deductivo. Lógica pura y lógica aplicada. Lógica y el concepto de información. SEGUNDA PARTE: LOGICA PURA UNIDAD TEMÁTICA ll: Objetivos:
Que el alumno comprenda la estructura sintáctica y semántica del Lenguaje de Primer Orden, pudiendo además representar información proposicional (en especial razonamientos) en ese lenguaje e interpretar las expresiones del lenguaje en el lenguaje ordinario. Contenidos:
El lenguaje de predicados de primer orden. Lenguajes formales. Lenguaje y metalenguaje. Sintaxis, semántica y pragmática. Constantes y variables. Símbolos lógicos y símbolos no lógicos. 4
Términos y fórmulas: definiciones inductivas. El lenguaje de primer orden como ejemplo de gramática generativa. Simbolización (formalización) e interpretación en el lenguaje de primer orden. El lenguaje de predicados de primer orden como lenguaje formal de representación del conocimiento: ventajas y limitaciones. El lenguaje de enunciados como sublenguaje del lenguaje de primer orden. UNIDAD TEMÁTICA III: Objetivos:
Que el alumno comprenda la sistematización de la lógica de primer orden, de acuerdo con los ejemplos específicos que se den específicamente durante el dictado, lo que implica la capacidad de realizar derivaciones en el o los sistemas que se estudien, y aplicarlas a la determinación de la validez de razonamientos, de la consistencia de conjuntos de enunciados y de leyes lógicas, según el caso. Contenidos:
Lógica de predicados de primer orden. El concepto de sistema formal: reglas de derivación. Sistemas para la lógica de primer orden: el sistema de deducción natural; tablas semánticas y árboles lógicos; sistemas de secuentes; sistemas axiomáticos. Definiciones de derivación, teorema, implicación, equivalencia y consistencia en cada sistema. Lógica minimal, lógica intuicionista y lógica clásica. UNIDAD TEMÁTICA IV: Objetivos:
Que el alumno adquiera nociones básicas de los estudios metateóricos de la lógica, tanto la teoría de la demostración como la teoría de modelos. Contenidos:
(a) Nociones de la teoría de la demostración: sistemas tipo Hilbert y sistemas tipo Gentzen. Principio de inversión y demostraciones normales en deducción natural. El teorema fundamental de Gentzen. Separabilidad de las constantes lógicas. Definición de consecuencia lógica como derivación. (b) Nociones de la teoría de modelos aplicada a sistemas lógicos. Conceptos de valuación, interpretación y modelo. Conceptos de consecuencia lógica semántica, verdad lógica y consistencia semántica. (c) Algunos resultados metateóricos de la lógica de predicados de primer orden: consistencia (corrección semántica), completitud, indecidibilidad y semidecidibilidad, compacidad. Equivalencia de sistemas. Propiedades estructurales de la consecuencia lógica. UNIDAD TEMÁTICA V: Objetivos:
Que el alumno se familiarice con peculiaridades de la lógica de enunciados y la de predicados, y que conozca la lógica de primer orden con identidad y conociendo la extensión de los sistemas vistos 5
a esta constante lógica, de modo de efectuar derivaciones en esta lógica extendida. Contenidos:
(a) Temas de lógica de enunciados. Funciones de verdad. Valuaciones booleanas. Completitud funcional de las conectivas clásicas. Formas normales. Decidibilidad de la lógica de enunciados. Métodos de decisión para la lógica de enunciados. La regla de resolución. (b) Temas de lógica de predicados. Formas prenexas y formas normales de Skolem. (c) Identidad. El lenguaje de primer orden con identidad. La identidad como concepto lógico. Semántica. Presentación axiomática y mediante reglas (deducción natural y tableaux analíticos). Representación de funciones. Ecuaciones y deducción, empleo de relaciones de equivalencia. La idea de lógica ecuacional. TERCERA PARTE: LÓGICA APLICADA UNIDAD TEMÁTICA Vl Objetivos:
Que el alumno conozca diferentes sistema de lógica modal y las diferentes aplicaciones de los operadores modales, y también que el alumno comprenda las aproximaciones formales a la inferencia no deductiva. Contenidos:
(a) Lógica modal. Extensión del lenguaje y la lógica de primer orden por medio de operadores modales. Sistemas: K, T, S4 y S5. Semántica de mundos posibles. Interpretaciones: Lógica epistémica y lógica deóntica. (b) Razonamientos no deductivos o ampliativos. La inferencia revocable y su tratamiento lógico. El problema de la conservación de la consistencia. Algunos casos: inducción, abducción, etc. Los conceptos de lógica no monótona y de lógica subestructural. UNIDAD TEMÁTICA VII Objetivos:
Que el alumno conozca los principios del álgebra booleana y los sepa aplicar a la construcción de circuitos elementales y a la lógica de enunciados. Contenidos:
Circuitos lógicos. Elementos de álgebra booleana. Relación con la lógica de enunciados. Compuertas lógicas. Representación de circuitos. Minimización de circuitos aplicando reglas lógicas. Mapas de Karnaugh. UNIDAD TEMÁTICA VIII Objetivos: 6
Que el alumno construya programas elementales en el lenguaje Prolog, aplicando los procedimientos lógicos visto en las unidades anteriores (en particular II y III), y comprenda la idea de un lenguaje de programación como lógica aplicada. Contenidos:
(a) Nociones de programación lógica. Cláusulas de Horn. Aplicación a la representación del conocimiento. El método de resolución. El lenguaje de programación PROLOG: sintaxis e interpretación. Intérpretes PROLOG: programas PROLOG y consultas. Representación del conocimiento y construcción de programas PROLOG. (b) Lógica e inteligencia artificial. Lógica como tecnología simbólica. Aplicación tecnológica de sistemas simbólicos: Informática e inteligencia artificial. El “logicismo” en inteligencia artificial. UNIDAD TEMÁTICA IX Objetivos:
Conocer el concepto de “función Turing-computable” y otras definiciones equivalentes de funciones computables Contenidos:
Nociones de teoría de la computabilidad. Funciones recursivas y funciones computables. Máquinas de Turing. Tesis de Turing-Church. NOTA: Cada curso se articulará en torno de una selección de los contenidos indicados en las unidades precedentes (en particular de la tercera parte), y la secuencia en que se aplicarán los diferentes ítems de cada unidad puede variar, de acuerdo con la dinámica de cada curso.
C. BIBLIOGRAFIA. (En clase se indicarán los capítulos o secciones pertinentes de cada obra. A la bibliografía se les debe añadir los apuntes y guías de trabajos prácticos que elaboran los docentes de la asignatura.) C.1 Bibliografia básica obligatoria (en castellano):
Badesa, Calixto, Ignasi Jané y Ramón Jansana: Elementos de lógica formal. Barcelona, Ariel, 2da. ed. 2007. ISBN: 84-344-8777-2 Cuena, José: Lógica informática. Madrid, Alianza, 1985. Garrido, Manuel: Lógica simbólica. 3ra. ed., Madrid, Tecnos, 1995. ISBN 84-309-0675-4. Jeffrey, Richard C.: Lógica formal: su alcance y sus límites. Trad. cast. de Angel D´Ors, Pamplona, Eunsa, 1999. ISBN 84-313-0949-0.
7
Legris, Javier: Deducción y representación. Una introducción a la lógica de primer orden. Buenos Aires, Economizarte, 2001. ISBN 987-9372-40-9. Lipschutz, Seymour: Matemáticas para computación . Trad. cast. de Rafael Mariño Castañeda. México, et al. McGraw-Hill, 1988. Manzano, María & Antonia Huertas: Lógica para principiantes. Madrid, Alianza, 2004. ISBN 84-206-4570-2. Trajtenbrot, B.A.: Introducción a la teoria matemática de las computadoras y de la programación. Buenos Aires, Siglo XXI, 1967. C.2. Bibliografia ampliatoria:
Ackermann, Robert: Nondeductive Inference. London – Nueva York, Routledge – Dover, 1966. Alchourrón, Carlos E., José M. Méndez & Raúl Orayen (comps.): Lógica (Enciclopedia Iberoamericana de Filosofia, volt Vll). Madrid, Trotta, C.S.I.C., 1995. Balakrishnan, V.K.: Introductory Discrete Mathematics. Nueva York, Dover, 1996. Boolos, George S. & Richard C. Jeffrey: Computability and Logic. 3ra. ed., Cambridge, Cambridge University Press, 1989. Bostock, David: Intermediate Logic. New York - Oxford, Oxford University Press, 1997. Cassini, Alejandro: El juego de los principios. Una introducción al método axiomático. Buenos Aires, AZ, 2006. ISBN 950 534 840 1 Chellas, Brian F.: Modal Logic. An Introduction. Cambridge et al., Cambridge University Press, 1980. Church, Alonzo: Introduction to Mathematical Logic. Princeton (N.J.), Princeton University Press, 1956. Cloksin, W.F. & C.S. Mellish: Programming in Prolog. 2da. ed., Berlin-Heidelberg-N.York, Springer-Verlag, 1984. Crossley, J.N. et alter: ¿Qué es la 1ógica matemática?. Trad. cast. de J. Alcolea Banegas. Madrid, Tecnos. 1983 Curry, Haskell B: Foundations of Mathematical Logic. Nueva York, Dover, 1977. Dalla Chiara Scabia, Maria Luisa. Lógica. Trad. cast. de J.M. Valderas Gallardo, Barcelona, Labor, 1976. Davis, Martin. Computability & Unsolvability. New York, Dover, 1982. Fernández, G. y Sáez Vaca, F.: Fundamentos de Informática. Madrid, Alianza, 1987. Fitting, Melvin: First-Order Logic and Automated Theorem Proving. New York, et al., Springer-Verlag, 1990. Gallier, Jean H. Logic for Computer Science. Foundations of Automatic Theorem Proving. New York, et al., John Wiley & Sons, 1987. Gabbay, Dov & Franz Guenthner (comps.): Handbook of Philosophical Logic. Vol. I. Dordrecht, Reidel, 1983. 8
Gabbay, Dov, C.J. Hogger & J.A. Robinson (comps.): Handbook of Logic in Artificial Intelligence and Logic Programming. Vol 1: Logical Foundations. Oxford, Clarendon Press, 1993. Gamut, L.T.F.: Logic, Language and Meaning. Volume I: Introduction to Logic .
Chicago, The University of Chicago Press, 1991. Hay trad. cast. de Cecilia Durán: Buenos Aires, Eudeba, 2001. Hermes, Hans: Introducción a la teoría de la computabilidad. Algoritmos y máquinas. Madrid, Tecnos, 1984 Hilton, Alice Mary: Logic, Computing Machines and Automation. Cleveland – N. York, The World Publishing Company, 1963, xxi + 427 pp. Howson, Colin: Logic with trees. London, Routledge, 1997. Hunter, Geoffrey: Metalógica. Introducción a la metateorla de la lógica clásica de primer orden. Trad. cast. de R. Fernández González, Madrid, Paraninfo,. 1981 Jansana, Ramón: Una Introducción a la lógica modal. Madrid, Tecnos, 1990. ISBN: 84-309-1830-2. Kleene, Stephan Cole: Introducción a la metamatemática. Trad. cast. de M. Garrido, Madrid, Tecnos,1974. ISBN 84-309-0529-4. Kleene, Stephen Cole: Mathematical Logic. Nueva York, Dover, 2002. Klimovsky, Gregorio & Guillermo Boido: Las desventuras del conocimiento matemático. Buenos Aires, AZ, 2005. ISBN 950-534-796-0 Koslow, Arnold: A Structuralist Theory of Logic. Cambridge et al., Cambridge University Press, 1992. ISBN 0-521-41267-6 Kowalski, Robert: Lógica, programación e inteligencia artificial. Trad. de A. Calle. Madrid, Diaz de Santos, 1986. Kutschera, Franz von: Elementare Logik. Viena - N.York, Springer, 1967. Luger, George F. & William A. Stubblefield. Artificial Intelligence. Structures and Strategies for Complex Problem Solving. Redwood City, Cal. et al. The Benjamin/Cummings Publishing Company, 1993. Mandrioli, D. & C. Ghezzi: Theoretical Foundations of Computer Science. New York, John Wiley & Sons, 1987. Moreno, Alberto: Lógica matemática. Antecedentes y fundamentos. 3ra. ed., Buenos Aires, Eudeba, 1981. Naishtat, Francisco S.: Lógica para computación, Buenos Aires, EUDEBA, 1986. Paoli, Francesco. Substructural Logics: A Primer . Dordrecht, Kluwer, 2002. Priest, Graham.: Una brevísima introducción a la lógica. México, Océano, 2006. ISBN 970-777-026-0. Sagastume, Marta & Gabriel Baum. Problemas, lenguajes y algoritmos. Con la col. de Guillermo Martínez. 2da. ed., Campinas, UNICAMP-CLE, 2003. Scarano, Eduardo R.: Los sistemas formales. Evaluación de los sistemas formales en ciencias fácticas. Buenos Aires, Macchi, 1982. Scarano, Eduardo R. (comp.): Metodología de las ciencias sociales. Lógica, lenguaje y racionalidad. Buenos Aires, et al., Macchi, 1999. Smullyan, Raymond: First-Order Logic. Berlin - Heildelberg- N.York, Springer-Verlag, 1968. 9
Stahl, Gerold: Elementos de metamatemática. Santiago de Chile, Editorial Universitaria, 1973. Stegmüller, Wolfgang & Matthias Varga von Kibéd: Strukturtypen der Logik. Berlin - Heildelberg -N.York - Tokio, Springer-Verlag, 1984. Tennant, Neil: Natural Logic. Edimburgo, Edinburgh University Press, 1978. Tucker, Allen B.: Lenguajes de programación. Trad. cast. de José María Troya Linera. Madrid, et al., McGraw-Hill, 1987. Tugendhat, Ernst & Ursula Wolf. Propedéutica lógico-semántica. Trad. cast. de Guillermo Hoyos. Rubi, Anthropos, 1997. Wang, Hao: Popular Lectures on Mathematical Logic. Nueva York, Dover, 1993.
D METODOS DE CONDUCCIÓN DEL APRENDIZAJE . D.1. DESARROLLO DE LA ASIGNATURA. Inicialmente, se tratará de familiarizar al alumno con los conceptos básicos que se deben dominar para poder acceder al conocimiento de las herramientas lógicas aplicables en computación y sistemas. Para el logro del objetivo indicado precedentemente, es necesario que el alumno adquiera conocimientos básicos en el área de razonamientos y lenguaje. En especial, debe llegar a tener una clara idea de los conceptos de sistema simbólico, manipulación simbólica y de representación de información en un lenguaje artificial. Esto podrá aplicarse entonces a los diferentes tipos de argumentos, deductivos y no deductivos, y a las nociones para definir lenguajes formales que permitan caracterizar el lenguaje de predicados de primer orden y sus extensiones. Posteriormente, se podrá acceder a resultados metateóricos para caracterizar los problemas resolubles algorítmicamente. De este modo, se darán las bases para aplicar los conceptos lógicos vistos a distintos problemas específicos como teoría de la computabilidad, circuitos lógicos, programación lógica, razonamiento revocable, etc. D.2. DlNÁMICA DEL DICTADO DE LAS CLASES. La metodología adoptada para el dictado de las clases es teórico-práctica. Los principales aspectos serán los siguientes: - Los profesores explicarán al comienzo de cada clase los conceptos esenciales de cada tema. - Los alumnos tendrán total libertad para interrumpir a los docentes y solicitar aclaraciones cuando las explicaciones no sean lo suficientemente claras. - Los docentes mostrarán a los alumnos la solución de problemas modelo que den lugar a la aplicación de los conceptos introducidos en clase. Luego serán seleccionados otros problemas para resolución por parte de los alumnos de manera que posibiliten la ejercitación de los conceptos, y la resolución de los problemas que los incluyen. 10
- Se implementarán trabajos prácticos a desarrollar con los auxiliares docentes. E. METODOS DE EVALUACION. Los métodos se ajustarán a la resolución CD 638/plan de estudios con fecha 23/6/98. El criterio es que la evaluación del alumno es permanente. Se tomarán dos exámenes parciales teórico-prácticos pudiendo acceder a un recuperatorio. Las notas de los parciales representan los resultados de la evaluación teórico-práctica. Los exámenes parciales y sus recuperatorios serán escritos. E.1. RÉGIMEN DE APROBACIÓN DE LA MATERIA. Para la aprobación de la materia deberán tener TODOS los parciales aprobados, teniendo la posibilidad de recuperar solo UNO de ellos. Se colocará una nota adicional, en función del concepto que le merezca el alumno a la cátedra. La suma de la nota de los parciales, recuperatorios y la nota conceptual representa la nota final. E2. REQUISITOS PARA ALUMNOS LIBRES. Los exámenes para los alumnos libres comprenderán tres exigencias. - Interrogatorio sobre aspectos teóricos de la materia. - Realización de una prueba escrita acerca de conceptos teóricos fundamentales y ejercicios prácticos. Aprobar cada uno de ellos es condición para promocionar el examen libre. Prof. Dr. Javier Legris Profesor titular
11