24
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

Lógica y computación

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)

Programa de Apoyo al Profesorado de Informática - 1er Seminario de Divulgación y Cooperación

chimpumfuera