本课程为北京大学数学科学学院本研合上课程。

时间:2023年秋季学期,9月12日开始,单周二3-4节,每周四5-6节。

地点:三教106。

答疑:单周二14:00-15:00,也可邮件预约其他时间,理科楼1382。

课程内容:在学习了基本程序设计技术(计算概论),算法与数据结构的基本概念和技术的基础上,通过本课程进一步加强使用计算机解决问题的能力。约束编程、约束求解是近三十年来人工智能领域的一个重要研究方向,约束编程是一种声明式的编程范式,通过约束条件对变量之间的关系进行陈述,给出问题解的一些属性规范。课程中将讲解约束编程相关的技术与方法,所讲授的主要内容包括约束满足问题(CSP)、约束编程的基本框架、约束求解工具、一致性问题、约束传播及检索算法等内容,并对当前约束编程领域的新兴技术进行适当讨论。

教材及参考书目([2,3]为数学学院图书馆馆藏):

[1] Krzysztof Apt. Principles of Constraint Programming. Cambridge University Press, 2009.

[2] Francesca Rossi,Peter van Beek,Toby Walsh. Handbook of Constraint Programming. Elsevier, 2006.

[3] Thom Frühwirth, Slim Abdennadher. Essentials of Constraint Programming. Springer, 2003.

成绩判定:

本课程选课学生需要做一次关于前沿论文的课堂报告(可从2022年28th International Conference on Principles and Practice of Constraint Programming会议长文中任选一篇进行报告),并完成一篇课程论文。期末成绩基于课堂表现、报告水平和课程论文质量综合评定。

课程日程安排(具体上课日期及讲授内容可能会有所调整,以课程教学网通知为准):

时间 内容 课件
2023.9.12
Lecture 1: Introduction to Constraint Programming and Constraint Satisfaction Problems
Lecture1.pdf
2023.9.14
Lecture 2: Constraint Programming in a Nutshell (I): CSP Examples & Equivalence of CSPs
Lecture2.pdf
2023.9.21
Lecture 3: Constraint Programming in a Nutshell (II): Basic Framework & Examples
Lecture3.pdf
2023.9.26
Lecture 4: Constraint Solvers (I)
Lecture4.pdf
2023.9.28
Lecture 5: Constraint Solvers (II)
Lecture5.pdf
2023.10.10
Lecture 6: Constraint Solvers (III) & Local Consistency (I)
Lecture6.pdf
2023.10.12
Lecture 7: Local Consistency (II)
Lecture7.pdf
2023.10.19
Lecture 8: Some Incomplete Constraint Solvers (I)
Lecture8.pdf
2023.10.24
Lecture 9: Some Incomplete Constraint Solvers (II)
Lecture9.pdf
2023.10.26
Lecture 10: Some Incomplete Constraint Solvers (III)
Lecture10.pdf
2023.11.2
开会停课一次,补课时间另行安排 
2023.11.7
Lecture 11: Some Incomplete Constraint Solvers (IV) & Constraint Propagation Algorithms (I)
Lecture11.pdf
2023.11.9
开会停课一次,补课时间另行安排
2023.11.16
Lecture 12: SMT公式的求解与解计数
2023.11.21
Lecture 13: Constraint Propogation Algorithms (II)
Lecture13.pdf
2023.11.23
Lecture 14: Search (I)
Lecture14.pdf
2023.11.28
补课:Lecture 15: Search (II), Lecture 16: Some Further Issues in Constraint Programming

Lecture15.pdf

Lecture16.pdf

2023.11.30
Lecture 17: Interactions as Constraints

Lecture17.pdf

2023.12.5

王九同

汪济州

2023.12.7

刘梓豪

王一宁

史若虞

赵云潇

2023.12.14

冉佳鑫

陈林

马冰妤

艾一夫

2023.12.19

卢天泽

张书齐

杨宇轩

2023.12.21

郭尧昱

张杨

Embla Rán

2023.12.28

覃烨成

操熙霖

朱梦才

胡适宇

课程论文可选题目:

1. 选择适当的约束求解器,在其中对神经网络公平性保障框架[1]给出完整的定义和实现,并设计相关实例进行验证。
2. 设计并实现K-framework[2]相应SMT证明生成方案。
3. 基于CSP对强化学习系统及环境进行形式化建模,在此基础上设计并实现强化学习系统的测试用例生成方案[3]。
4. 实现从Mediator语言[4]到Z3转换的工具实现,并设计相关实例利用Z3求解器对Mediator模型性质进行验证。
5. 选取某种约束求解器,在其中给出概率连接件关系模型[5]的实现,并对相关性质进行验证。
6. 对当前国际上基于SAT、LP、MILP、SMT等约束求解技术对神经网络进行验证的方法进行调研与比较,写一篇综述论文。

[1] Elias Benussi, Andrea Patane, Matthew Wicker, Luca Laurenti and Marta Kwiatkowska. Individual Fairness Guarantees for Neural Networks. Proceedings of the Thirty-First International Joint Conference on Artificial Intelligence,pages 651-658, 2022.
[2] Xiaohong Chen, Zhengyao Lin, Minh-Thai Trinh, and Grigore Roşu. Towards a Trustworthy Semantics-Based Language Framework via Proof Generation. Proceedings of CAV 2021, LNCS 12760, pages 477-499, 2021.
[3] Yuteng Lu, Weidi Sun, and Meng Sun. Towards Mutation Testing of Reinforcement Learning Systems. Journal of Systems Architecture, vol. 131, 102701, 2022.
[4] Yi Li, Weidi Sun and Meng Sun. Mediator: A Component-based Modeling Language for Concurrent and Distributed Systems. Science of Computer Programming. vol. 192, 102438, 2020.
[5] Meng Sun and Xiyue Zhang. A Relational Model for Probabilistic Connectors Based on Timed Data Distribution Streams. in Proceedings of FORMATS 2018, LNCS 11022, pages 125-141, Springer, 2018.

论文要求:
1) 选题目1、2、3、4的同学可合作(同组合作者不超过2人)或独立完成,选择题目5、6的同学需独立完成。
2) 选题目1-5的同学需同时提交代码(或将代码开源并提供代码链接)和论文。
3) 合作者需在课程论文后具体说明每人在工作(主要包括代码实现和论文写作)中的贡献分工。
4) 题目1-5的论文中英文均可,中文软件学报格式正文(不含参考文献)不少于12页,英文LNCS格式正文(不含参考文献)不少于16页;题目6的论文需为英文,LNCS格式正文(不含参考文献)不少于20页,参考文献数不少于30篇,其中2023年参考文献不少于10篇。
5) 12月15日之前通过教学网提交。

综述论文示例:

[a] Ferdinando Fioretto, Enrico Pontelli, William Yeoh. Distributed Constraint Optimization Problems and Applications: A Survey. Journal of Artificial Intelligence Research, vol. 61, pages 623-698, 2018.

[b] Lucas Bordeaux, Youssef Hamadi, Lintao Zhang. Propositional Satisfiability and Constraint Programming: A comparative survey. ACM Computing Surveys, vol. 38(4), 12:1-12:54, 2006.

[c] Joxan Jaffar, Michael J. Maher. Constraint Logic Programming: A Survey. Journal of Logic Programming, vol. 19/20, pages 503-581, 1994.