6M008100
1 Constraint Programming
Constraint programming is a programming method where relations between variables are declaratively described as constraints
and they are solved by solvers. The advantages of constraint programming are that there is no need to describe how to solve
them and that it makes development and maintenance of software easy. This course will discuss constraint programming with
a primary focus on methods of constraint satisfaction.
The purpose of this class is to understand the concept of constraint programming and its realization methods.
- Understand a theoretical framework of constraint programming (constraint satisfaction problem, basic framework of constraint
solving, equivalence of constraint satisfaction problems, local consistency, search algorithm)
- Understand algorithms on which constraint programming is based by implementing them in a programming language
- Understand the effects of algorithms on which constraint programming is based
|
Class schedule |
HW assignments (Including preparation and review of the class.) |
Amount of Time Required |
1. |
Introduction to constraint programming |
Read the syllabus |
190minutes |
2. |
Constraint satisfaction problem, Constraint programming framework |
Review |
190minutes |
3. |
Complete constraint satisfaction method |
Review |
190minutes |
4. |
Local consistency |
Review |
190minutes |
5. |
Constraint propagation |
Review |
190minutes |
6. |
Search |
Review |
190minutes |
7. |
Modelllng and over constrained problem |
Review |
190minutes |
8. |
Constraint programming in Java (1) |
Review |
190minutes |
9. |
Constraint programming in Java (2) Choco-solver https://choco-solver.org/
|
Review |
190minutes |
10. |
Satisfiable problem and a SAT solver (1) |
Review |
190minutes |
11. |
Satisfiable problem and a SAT solver (2) |
Review |
190minutes |
12. |
Satisfiable problem and a SAT solver (3) |
Review |
190minutes |
13. |
Constraint programming in Sugar (1) https://cspsat.gitlab.io/sugar/
|
Review |
190minutes |
14. |
Constraint programming in Sugar (2) https://cspsat.gitlab.io/sugar/
|
Review |
190minutes |
Total. |
- |
- |
2660minutes |
Relationship between 'Goals and Objectives' and 'Course Outcomes'
|
Reports and mini tests |
Total. |
1. |
70% |
70% |
2. |
15% |
15% |
3. |
15% |
15% |
Total. |
100% |
- |
Evaluation method and criteria
Students will be evaluated based on reports and mini tests.
Textbooks and reference materials
Materials will be provided.
Reference: Krzysztof Apt. Principles of Constraint Programming. Cambridge University Press.
Basic Java programming skill is required for implementation of algorithms.
Office hours and How to contact professors for questions
Non-regionally-oriented course
Development of social and professional independence
- Course that cultivates an ability for utilizing knowledge
More than one class is interactive
Course by professor with work experience
Work experience |
Work experience and relevance to the course content if applicable |
N/A |
該当しない |
Education related SDGs:the Sustainable Development Goals
Last modified : Sun Mar 21 16:30:44 JST 2021