====== Constraint Programming/Programowanie z Ograniczeniami 2023/2024-winter [CP-CS/PzO-Inf] ======
- **Introduction to Constraint Programming. Syllabus. Basic Examples. CP as Problem-Solving. Introduction to MiniZinc.** [3.10.2023-ISI;ali][2.10.2023-WIET; e-lerning; 16.10.2023]
- **Introduction to Constraint Programming. Backtracking Search. Deduction and Abduction. Constraint Propagation. Basic Problem-Solving in MiniZinc and Prolog**. [10.10.2023;ali][30.10.2023-WIET;ali]
- **Introduction to MiniZinc. Basic Examples. Constraint Satisfaction and Optimization with Constraints. Production Planning. SAT as CP.** [17.10.2023-ISI;ali][13.11.2023-WIET;ali]
- **E-Learning:** [[https://www.youtube.com/watch?v=EcL8zAMSbBo&t=984s|Intro to CP]] [[http://artint.info/3e/html/ArtInt3e.Ch4.html|Reasoning with Constraints]] [24.10.2023-ISI;selection by ali]
- **E-Learning:** Let's learn from the best [[https://www.youtube.com/watch?v=lQi3b-sxt1s&list=PLcByDTr7vRTb9mLAQyO27-Q1JrWYVZHfy|MiniZinc by Peter Stuckey]] [31.10.2023-ISI;recommended by ali]
- **MiniZinc. More Complex Examples. Data Structures. Functions and Predicates. Info on Projects!** [7.11.2023-ISI;ali] [27.11.2023-WIET;mslaz]
- **Some Theory: Constraint Propagation Algorithms. Forward Checking. Arc Consistency.** [14.11.2023-ISI;ali] [11.12.2023-WIET;ali]
- **Problem reduction and exploring problem structure. Algorithms: AC-3, GAC. Constraint Logic Programming: Prolog + CLP(FD). Picat. Logica.** [8.01.2024-WIET;ali]
----
===== Constraint Programming/Programowanie z ograniczeniami 2022 [PzO/CP]=====
- Uczelniana Inauguracja Roku Akademickiego. [-PzO/4.10.2022 CP]
- **Introduction to Constraint Programming. Introduction to MiniZinc.** [10/18.10.2022; pages 1-24; ALi] {{ :pl:dydaktyka:cp:constraint_programming_2020-1.pdf |MiniZinc Intro}}
- **Introduction to MIniZinc. Basic Examples. Constraint Satisfaction and Optimization. SAT as CP, **[24.10.2022/15.11.2022; ALi]
- **MiniZinc. More Complex Examples.** [7.11.2022/29.11.2022; Ali]
- **MiniZinc. Further Examples.** [21.11.2022/13.12.2022]
- **MiniZinc. Towards practical applications.** [5.12.2022] {{ :pl:dydaktyka:cp:examples-basic-5-12-2022.zip |Codes for the lecture}}
- Constraint Programming. A Look at the Theoretical Foundations. Constraint Propagation and Efficiency Issues. [19.12.2022/10.01.2023]
- Constraint Logic Programming. Prolog. Picat. [2.01.2023-godziny rektorskie/24.01.2023]
----
Selected support:
* {{ :en:dydaktyka:krr:master-clp-est.pdf |Constraint Programming: Theoretical Foundations}}
* **Support for Prolog:** [[pl:dydaktyka:pp:start|Lectures on Prolog [slides 2021/2022] + Sets of Examples + interesting links]]
* [[https://www.swi-prolog.org/man/clpfd.html|Prolog: clp(fd)]]
* [[http://www.picat-lang.org/|Picat]]
* [[https://artint.info/2e/html/ArtInt2e.Ch4.html|Reasoning with Constraints]]
* [[https://en.wikipedia.org/wiki/Local_consistency|Constraint Propagation Algorithms]]
* [[http://www.constraint.org/en/tools/|Constraint Programming Tools]]
===== Programowanie z ograniczeniami 2021 =====
- **Wprowadzenie do programowania z ograniczeniami. Wprowadzenie do systemu MiniZinc.** [5.10.2021;pages 1-24; ALi] {{ :pl:dydaktyka:cp:constraint_programming_2020-1.pdf |MiniZinc Intro}}
- **Przykłady programowania w MiniZinc. Deklarowanie parametrów, zmiennych i ograniczeń.** [19.10.2021;pages 25-...; ALi] {{ :pl:dydaktyka:cp:minizinc-examples-13-10-2020.zip |Przykłady do wykładu 19.10.2021}}
- **MiniZinc. Poszukiwanie rozwiązania dopuszczalnego i optymalnego. Elementarne przykłady logiczne (SAT, Logical Consequence) i arytmetyczne (Money-Change; SEND+MOST=MONEY).** [2.11.2021; ALi]
- **MiniZinc - kontynuacja. Tablice i zbiory. Predykaty, funkcje, procedury lokalne. Przykłady zastosowań.** [16.11.2021; ALi]
- E-Learning: MiniZinc.: dokończenie. Podstawy teoretyczne programowania z ograniczeniami. Algorytmy propagacji ograniczeń. [30.11.2021]
- **ZMIANA: Spotkanie na MS TEAMS - prowadzi mgr Mateusz Ślażyński: Wprowadzenie do projektów** [14.12.2021]; MSl]
- Podstawy teoretyczne programowania z ograniczeniami. Algorytmy propagacji ograniczeń. Prolog+biblioteka clp(fd), Picat, Python+Constraints, Python+Numberjack [11.01.2022; ALi] - Wykład on-line na Upel/Moodle: 9:35-11:05
==== Programowanie z ograniczeniami - 2020 ====
- **Wprowadzenie do programowania z ograniczeniami. Wprowadzenie do systemu MiniZinc.** [6.10.2020;pages 1-28; ali] {{ :pl:dydaktyka:cp:constraint_programming_2020-1.pdf |MiniZinc Intro}}
- **Wprowadzenie do systemu MiniZinc. Elementarne przykłady logiczne (SAT,Logical Consequence) i arytmetyczne (Money-Change; SEND+MORE=MONEY).** [13.10.2020; pages 28-34; ali] {{ :pl:dydaktyka:cp:minizinc-examples-13-10-2020.zip |Przykłady z wykładu 13.10.2020}}
- **Wprowadzenie do MiniZinc. Constraint Satisfaction and Optimization Problems. Selected more advanced language constructions.** [20.10.2020; ali] {{ :pl:dydaktyka:cp:minizinc-examples-20-10-2020.zip | Przykłady z wykładu 20.10.2020}}
- **Wprowadzenie do MiniZinc - dokończenie. Constraint Satisfaction and Optimization Problems. Selected more advanced language constructions.** [27.10.2020; ali] {{ :pl:dydaktyka:cp:minizin-examples-27-10-2020.zip |Przykłady z wykładu 27-10-2020]}}
- **MiniZinc - dokończenie; wybrane przykłady zastosowania. TSP+Path. Wprowadzenie do teorii CP.** [3.11.2020; ali]
- **Podstawy teoretyczne CP. Modelowanie i propagacja ograniczeń. Wprowadzenie do Prologu i biblioteki clp(fd).** [17.11.2020; ali]{{ :pl:dydaktyka:cp:master-clp-est.pdf |Prezentacja: CP- podstawy teoretyczne}}
- E-learning: Biblioteka clp(fd) w Prologu. [24.11.2020] {{ :pl:dydaktyka:cp:clpfd-prezentacja.pdf |Prezentacja clp(fd) - materiał pomocniczy}}
----
__Wybrane linki i materiały:__
* [[https://en.wikipedia.org/wiki/Constraint_programming|Constraint Programming: Wikipedia]]
* [[http://www.minizinc.org|MiniZinc Home Page]]
* [[http://hakank.org/minizinc/|MiniZinc Examples by Hakank]]
* {{ :pl:dydaktyka:cp:praca_inzynierska_-_lukasz_sumara-wersja-zlozona.pdf |MiniZinc: Praca dyplomowa}}
* [[http://ktiml.mff.cuni.cz/~bartak/constraints/|Constraint Programming by Roman BARTÁK]]
* [[http://sofdem.github.io/gccat/gccat/sec5.html|Global Constraint Calalog]]
----
__Tools:__
* [[http://www.constraint.org/en/tools/|Constraint Programming Tools]]
----
__Laboratoria:__
Repozytorium z materiałami do laboratoriów jest dostępne na [[https://gitlab.com/agh-courses/2020-2021/constraint_programming|gitlabie]].
* Lab 0. [[en:dydaktyka:csp:intro|Constraint Programming: 101]]
* Lab 1. [[en:dydaktyka:csp:lab1|Constraint Programming: Podstawowe Problemy]]
* Lab 2. [[en:dydaktyka:csp:lab2|Constraint Programming: Techniki modelowania]]
* Lab 3. [[en:dydaktyka:csp:lab3|Constraint Programming: Modelowanie przeszukiwania]]
----
__Użyteczne linki również na stronie:__
[[en:dydaktyka:krr:start|Knowledge Representation and Reasoning]]