Upload
zeus-robertson
View
67
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Lógica y computación. Luis Sierra Instituto de Computación 22 de Agosto de 2009. Plan. Relación entre lógica y computación Lógica en la(s) carrera(s) de computación Proyecto: lógica y computación Una propuesta de acción. Influences of mathematical logic on computer science. - PowerPoint PPT Presentation
Citation preview
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Lógica y computación
Luis Sierra
Instituto de Computación
22 de Agosto de 2009
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Plan
• Relación entre lógica y computación
• Lógica en la(s) carrera(s) de computación
• Proyecto: lógica y computación
• Una propuesta de acción
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Influences of mathematical logic on computer science
• When I was a student, even the topologists regarded mathematical logicians as living in outer space. Today the connections between logic and computers are a matter of engineering practice at every level of computer organization
• Issues and notions that first arose in technical investigations by logicians are deeply involved, today, in many aspects of computer science.– Martin Davis en A half-century survey on The
Universal Turing Machine. 1988. Ed. R. Herken. Oxford University Press
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Influences of mathematical logic on computer science
• ... We shall follow the trail of a number of concepts that arose in the work of logicians and have found their way into computer theory and practice
Formal syntax Programming languages
Boolean logic Logic programming
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Bulletin of Symbolic Logic, 2001
• The annual meeting of the Association for Symbolic Logic held in Urbana-Champaign, June 2000, included a panel discussion on “The Prospects for Mathematical Logic in the Twenty-First Century”.
• S. Buss discusses proof theory and computer science logic ...
• As illustrated in the “octopus”, the area of logic for computer science is a very active, vital and diverse discipline.
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
El pulpo
Logic for Computer ScienceStrong proof systems
Weak proof systems
Language design
Verification
Probabilistic computation
Complexity theory
Other logics
Real computation
Weak proof systemsResolutionLogic programmingConstraint logic programmingTheorem proversEquational logicsTerm rewritingBehavioral logicsNonmonotonic logicsAIModel checking
Strong proof systemsPolymorphismObject-oriented languagesAbstract datatypes-calculiCombinatory logicsFunctional programmingCategory theoryRealizability
Language designProgramming languagesDenotational semanticsQuery languagesGrammars/parsingAutomata theoryNatural language processing
VerificationProgram correctnessHardware verificationFault-toleranceProof-carrying codeLiveness/safeness
Probabilistic computationRandomized computationProbabilistic proofsInteractive proofsPCP, Holographic proofsQuantum computing
Complexity theoryReducibilityOraclesFeasible complexityP vs NPCircuit complexityParallel complexityFinite model theoryDiagonalizationNatural proofsProof complexityCraig interpolationLearning theoryBounded arithmetic
Other logicsDatabase languagesLeast fixed pointsModal logicsDynamic logicsTheories of knowledgeResource-aware logicsLinear logic
Real computationReal closed fieldsGeometryComplexity of real computationHybrid systemsComputer algebra systems
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
All together now !!!
Logic for Computer ScienceStrong proof systems
Weak proof systems
Language design
Verification
Probabilistic computation
Complexity theory
Other logics
Real computation
Weak proof systemsResolutionLogic programmingConstraint logic programmingTheorem proversEquational logicsTerm rewritingBehavioral logicsNonmonotonic logicsAIModel checking
Strong proof systemsPolymorphismObject-oriented languagesAbstract datatypes-calculiCombinatory logicsFunctional programmingCategory theoryRealizability
Language designProgramming languagesDenotational semanticsQuery languagesGrammars/parsingAutomata theoryNatural language processing
VerificationProgram correctnessHardware verificationFault-toleranceProof-carrying codeLiveness/safeness
Probabilistic computationRandomized computationProbabilistic proofsInteractive proofsPCP, Holographic proofsQuantum computing
Complexity theoryReducibilityOraclesFeasible complexityP vs NPCircuit complexityParallel complexityFinite model theoryDiagonalizationNatural proofsProof complexityCraig interpolationLearning theoryBounded arithmetic
Other logicsDatabase languagesLeast fixed pointsModal logicsDynamic logicsTheories of knowledgeResource-aware logicsLinear logic
Real computationReal closed fieldsGeometryComplexity of real computationHybrid systemsComputer algebra systems
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
On the unusual effectiveness of logic in computer science
• BSL 2001. J. Halpern, R. Harper, N. Immerman, P. Kolaitis, M. Vardi, V. Vianu
• Just as in the natural sciences, mathematics has been highly effective in computer science. In particular, several areas of mathematics, including linear algebra, number theory, probability theory, graph theory and combinatorics, have been instrumental in the development of computer science.
¿Cuál matemática falta?
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Lógica y matemáticas
• Unlike the natural sciences, however, computer science has also benefitted from an extensive and continuous interaction with logic. As a matter of fact, logic has turned out to be significantly more effective in computer science than it has been in mathematics.
• ...it is fair to say that the interaction between logic and mathematics has been rather limited. In particular, mathematical logic is not perceived as one of the mainstream area of mathematics, and the “typical” mathematician usually knows little about logic.
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Lógica y computación
• In contrast, logic has permeated through computer science during the past thirty years much more than it has through mathematics during the past one hundred years. Indeed, at present concepts and methods of logic occupy a central place in computer science, insomuch that logic has been called “the calculus of computer science”
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Automated verification of semiconductor designs
Reasoning about knowledge
Type theory in programming language research
Logic as a database query language
Descriptive complexity
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Si la lógica sirve para computer science, entonces....
• ¿Dónde y cuándo estudian lógica los que “van a saber” de informática?
• ¿U optamos por la idea de que informática y computer science no tienen nada que ver entre sí?– Al menos en lo que hace a los conceptos
generales que las sostienen
• ¿Todos los uruguayos y uruguayas van a saber informática?
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Car
rera
en
info
rmát
ica
Hoy
Al comienzo
Al final
Más al medio Des
pach
urra
da
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Gra
do
¿Mañana?
Al comienzo
Al final
Más al medio Des
pach
urra
da
Gra
doP
osgr
ados
Pre
grad
oG
rado
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Proyecto LYC
• Porque las matemáticas para informática son muy importantes
• Pero la creencia de que no es así es más importante– Entre los estudiantes– Entre los docentes de otras áreas– Entre los docentes de informática
• Es necesario convencer de su relevancia
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Proyecto LYC
• Porque no tenemos fuerzas materiales para convencer– Muchas veces pienso que no tengo fuerzas
materiales, pero bue...
• Es necesario obtener esa fuerza
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Muchas dificultades extras
Pocas expectativas de mejoras
Lógica hoy (InCo)
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Proyecto LYC
• Un curso paralelo a Lógica• Un curso cuyos docentes experimentan
nuevos acercamientos al problema de la enseñanza
• Un curso donde los estudiantes protagonizan la crítica de esos acercamientos
• Un curso que provee insumo y motivación al curso de Lógica
Pero
cas
i nad
a
sale
com
o lo
esp
eram
os
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
LógicaLenguajes
ProposicionalSintaxisSemánticaPruebaCompletitud
PredicadosSintaxisSemánticaPruebaCompletitud
LYCLenguajesProgramación funcional
SemánticaProposicionalPredicadosModal
PruebaAsistentes de prueba
OtrosCompletitudProblema de la paradaIncompletitud
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Lógica
3 docentes viejos
3 docentes jóvenes
500 estudiantes
LYC
1 docente viejo(y gruñón)
Varios docentes jóvenes(muy jóvenes)
40 estudiantes
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Preguntas
• ¿Qué elementos innovadores de lógica y computación se pueden incorporar a LYC?
• ¿Qué cosas de LYC pueden servir al curso de Lógica?
• ¿Qué cosas de LYC pueden servir a la formación en Informática?
• ¿Qué cosas de LYC pueden servir a la formación en Informática en otros niveles?
Porq
ue c
asi n
ada
sale
com
o lo
esp
eram
os
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
Preguntas
• ¿Los estudiantes involucrados mejoran su aprendizaje?
• ¿Los estudiantes involucrados mejoran su vínculo con la institución?
• ¿Los estudiantes involucrados aumentan su autonomía?
• ¿Y los docentes involucrados?
Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación
PropuestaVengan a estudiarnos!!
La disciplina
Elementos nuevosEstrategias nuevasPosibilidad de experimentar
Los actores
EstudiantesDocentes jóvenesDocente viejo (y gruñón)