From 0fece14db65e1107e5619515bcd03372f7c1078f Mon Sep 17 00:00:00 2001
From: NotXia <35894453+NotXia@users.noreply.github.com>
Date: Mon, 11 Dec 2023 17:35:23 +0100
Subject: [PATCH] Add FAIRK1 constraint programming
---
.../module1/img/_constraint_graph.drawio | 61 ++++++
.../module1/img/_constraint_graph.pdf | Bin 0 -> 16694 bytes
.../module1/main.tex | 1 +
.../module1/sections/_constraints.tex | 193 +++++++++++++++++-
4 files changed, 254 insertions(+), 1 deletion(-)
create mode 100644 src/fundamentals-of-ai-and-kr/module1/img/_constraint_graph.drawio
create mode 100644 src/fundamentals-of-ai-and-kr/module1/img/_constraint_graph.pdf
diff --git a/src/fundamentals-of-ai-and-kr/module1/img/_constraint_graph.drawio b/src/fundamentals-of-ai-and-kr/module1/img/_constraint_graph.drawio
new file mode 100644
index 0000000..8c90f64
--- /dev/null
+++ b/src/fundamentals-of-ai-and-kr/module1/img/_constraint_graph.drawio
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/fundamentals-of-ai-and-kr/module1/img/_constraint_graph.pdf b/src/fundamentals-of-ai-and-kr/module1/img/_constraint_graph.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..72719ea13cdf06a900ca35fdd5dcab0338aa86b2
GIT binary patch
literal 16694
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
T