Lògica en la Informàtica (primavera 2024)

Resumen

La lògica juga un paper bàsic en la informàtica (bases de dades, complexitat computacional, llenguatges de programació, intel·ligència artificial, disseny i verificació de sistemes hard i soft, etc.), i és sens dubte un dels fonaments que proporcionen la maduresa i agilitat necessàries per assimilar els conceptes, llenguatges, tècniques i eines informàtiques que sorgeixin en el futur. Igual que els arquitectes i enginyers, que analitzen matemàticament les seves construccions, els informàtics necessiten analitzar les propietats lògiques dels seus sistemes mentre els dissenyen, desenvolupen, verifiquen i mantenen, especialment quan es tracta de sistemes crítics (econòmicament, o en seguretat, privacitat o eficiència).

Programa

  • Introducció i motivació

  • Definició de la Lògica Proposicional

  • Deducció en Lògica Proposicional

  • Definició de la Lògica de Primer Ordre

  • Deducció en Lògica de Primer Ordre

  • Programació Lògica

Pàgina de la Guia Docent de la FIB.

Professorat i horaris

Horaris de classes, aules, consultes, o Web d’horaris de la FIB.


Teoria de Lògica en la Informàtica

Hi haurà dos exàmens presencials de teoria davant de l’ordinador: el parcial i el final de teoria. En l’examen parcial s’avalua la part de Lògica Proposicional, i en el final, tota la teoria de l’assignatura.

En la setmana d’exàmens parcials de la FIB tindrem l’examen parcial de teoria de LI i el primer examen de laboratori de LI. La nota de teoria representa el 60% de la nota total.

Atenció

Recomanem una forta dedicació a la teoria perquè serà difícil compensar una nota baixa de teoria mitjançant el laboratori.

Apunts de teoria

  • Sobre la lògica en general, en el Racó hi ha unes notes de classe en 6 temes, amb exercicis resolts, problemes Prolog resolts, etc. Per al correcte seguiment de l’assignatura és fonamental entendre i dominar bé aquests apunts i exercicis bàsics.

  • Breu resum sobre NP i NP-completitud, de Robert Nieuwenhuis (per a detalls veure els apunts de complexitat de l’assignatura EDA, d’Antoni Lozano).

  • Breu resum sobre Codificació de Constraints Numèrics en SAT, de Robert Nieuwenhuis.

Exàmens de teoria

Els enunciats dels exàmens de teoria i de laboratori són en anglès. No influeix en la nota de LI si contestes en català, castellà o english (o un mix dels tres). Però si contestes en anglès, et pot apujar la nota de la competència transversal d’anglès.


Pràctiques de laboratori

Hi haurà dos exàmens presencials de laboratori davant de l’ordinador: l’examen de labo1 i el de labo2. Atenció: en la setmana d’exàmens parcials de la FIB tindrem l’examen parcial de teoria de LI i el primer examen de laboratori de LI (labo1).

Atenció

Les pràctiques es lliuraran (via Racó) fins a les 23:59 hores de la data especificada per cadascuna de les 6 pràctiques. Aquestes són les dates límit de lliurament per a tot estudiant, i es donaran a conèixer amb l’enunciat de la pràctica.

La nota de laboratori (el 40% de la nota total) serà la mitjana dels dos exàmens de laboratori. Cada examen de laboratori tindrà diversos exercicis, en els quals serà requisit indispensable el seu correcte funcionament, i addicionalment es valorarà la simplicitat i claredat.

Enunciats de les pràctiques, i dates límit

En aquest apartat aniran apareixent els enunciats i les dates límit de lliurament de cada pràctica:

Pràctica

Data i hora límit

06/03/2024 23:59h

22/03/2024 23:59h

02/04/2024 23:59h

02/05/2024 23:59h

23/05/2024 23:59h

  • Pràctica 6: Constraint Logic Programming

03/06/2024 23:59h

Apunts de laboratori

Exàmens de laboratori

Els exercicis d’aquests exàmens sobre Codificació en SAT (pràctica 3), i sobre Optimització en SAT (pràctica 4) han estat adaptats als «esquemes» que fem servir en el quadrimestre actual: ús del SAT solver kissat en comptes de picosat, ús del predicat writeOneClause/1 (nom actual) en lloc de writeClause/1 (nom antic), etc.

Atenció

A diferència dels problemes d’aquest quadrimestre, en els exàmens de quadrimestres anteriors les dades d’entrada es troben inserides al mateix fitxer de l'esquema Prolog. Per tant, al invocar el programa, aquest no requereix de cap argument que sigui el nom d’un fitxer de dades.