Informatique fondamentale

Description

[Ocaml]
Les étudiants travaillent immédiatement sur des sujets de TP, et abordent les concepts fondamentaux (currification, fermetures, filtrage, récursion, variants, polymorphisme paramétrique, …). Par la suite, un projet de programmation est proposé.

[Prolog]
Logique propositionnelle :
– Syntaxe et sémantique,
– Méthode des tables de vérité,
– Méthode des tableaux sémantiques,
– Système de preuve de Hilbert – Démonstrations et preuves.
– Problem SAT- Algorithmes DPLL
– Diagrammes de décisions binaires (BDD)
– Diagrammes de décisions binaires et ordonnés
Logique des prédicats du 1er ordre :
– Principe de résolution and démonstration par réfutation
– Arbres de dérivation
– Forme prénexe, skolémisation, plus grand unifieurs
– Univers et base de Herbrand.
Programmation logique en prolog :
– Résolution linéaire pour les clauses définies,
– Négation par échec,
– Récursivité
– Prédicats prédéfinis,
– Applications et extensions 

[AA]
Les caractéristiques essentielles des algorithmes génériques pour l’optimisation sont présentées.
Des éléments de comparaison sont donnés en termes de classes de problèmes, de stratégie d’optimisation et de complexité.

Objectifs

Cet enseignement est hétérogène et regroupe 3 cours :
Programmation Fonctionnelle : Ocaml
Logique formelle et programmation logique : Prolog
Algorithmique Avancée : AA

A la fin de ce module, les étudiants doivent être capables de :

[Ocaml]
- comprendre et écrire des programmes fonctionnels purs,
- concevoir des fonctions récursives pour itérer sur des structures récursives,
- définir des types variants et des types paramétrés,
- plus généralement penser en termes de fonctions d¿ordre supérieur afin d'écrire du code ré-utilisable.
- décrire la sémantique de lambda-termes simples
- comprendre superficiellement la théorie des systèmes de types

[Prolog]
- traduire des énoncés du langage naturel en formules de  logique des prédicats du 1er ordre.
- appliquer plusieurs méthodes pour évaluer la validité et/ou la consistance d¿une formule logique
- expliquer les fondements de la programmation logique et de Prolog
- aborder la résolution d¿un problème comme une démonstration logique basée sur des axiomes et des théorèmes exprimant les propriétés spécifiques du problème.
- programmer en Prolog, tracer l¿exécution d¿un programme

[AA]
Quelques grands paradigmes algorithmiques pour l'optimisation discrète
- Enumération exhaustive
- Diviser pour régner
- Programmation dynamique
- Algorithmes gloutons

Pré-requis

Évaluation

L’évaluation des acquis d’apprentissage est réalisée en continu tout le long du semestre. En fonction des enseignements, elle peut prendre différentes formes : examen écrit, oral, compte-rendu, rapport écrit, évaluation par les pairs…

En bref

Crédits ECTS :

Nombre d’heures :

EN 1 Clic

Annuaire

ENT

Rejoindre
les équipes

Marchés publics

Soutenir l'excellence

Fondation
INSA
Taxe
apprentissage

INSA Toulouse
135 avenue de Rangueil
31077 Toulouse cedex 4
Tél : 05 61 55 95 13
Fax : 05 61 55 95 00

Logo Communauté d'universités et établissements de Toulouse
Logo Bienvenue En France

Dans un souci d'alléger le texte et sans aucune discrimination de genre, l'emploi du genre masculin est utilisé à titre épicène.

INSA Toulouse
Résumé de la politique de confidentialité

Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.
En cliquant sur "Accepter", vous acceptez l'utilisation de cookies en provenance de ce site ainsi que notre politique de protection des données personnelles.