diff --git a/Tp_chapitre_3/.idea/vcs.xml b/.idea/vcs.xml
similarity index 69%
rename from Tp_chapitre_3/.idea/vcs.xml
rename to .idea/vcs.xml
index 6c0b863..94a25f7 100644
--- a/Tp_chapitre_3/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 47b4043..acd8d44 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,7 +1,12 @@
-
+
+
+
+
+
+
@@ -10,120 +15,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -178,52 +73,10 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -369,43 +222,44 @@
1506516350662
+
+
-
+
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
-
-
+
+
+
@@ -448,160 +302,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/Tp_chapitre_3/.idea/misc.xml b/Tp_chapitre_3/.idea/misc.xml
index bba51b2..e208459 100644
--- a/Tp_chapitre_3/.idea/misc.xml
+++ b/Tp_chapitre_3/.idea/misc.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/Tp_chapitre_3/.idea/workspace.xml b/Tp_chapitre_3/.idea/workspace.xml
index abe3448..d139433 100644
--- a/Tp_chapitre_3/.idea/workspace.xml
+++ b/Tp_chapitre_3/.idea/workspace.xml
@@ -1,10 +1,7 @@
-
-
-
-
+
@@ -13,14 +10,78 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -33,9 +94,6 @@
-
-
-
@@ -51,7 +109,8 @@
-
+
+
@@ -70,6 +129,13 @@
+
+
+
+
+
+
+
@@ -82,24 +148,19 @@
-
+
-
-
+
-
-
-
-
@@ -113,37 +174,18 @@
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -192,18 +234,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -244,14 +274,9 @@
-
-
-
-
-
-
-
+
+
@@ -260,45 +285,46 @@
-
- 1507203486472
+
+ 1507205629205
- 1507203486472
-
-
-
-
+ 1507205629205
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
@@ -314,85 +340,196 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- No facets are configured
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9
-
-
-
-
-
-
-
-
-
-
-
- Tp_chapitre_3
-
-
-
-
-
-
-
-
-
-
- 9
-
-
-
-
-
-
-
-
-
-
-
+ 1.8
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/Cannibales/CannibalesOrientedGraphProblem.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/Cannibales/CannibalesOrientedGraphProblem.class
new file mode 100644
index 0000000..555222d
Binary files /dev/null and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/Cannibales/CannibalesOrientedGraphProblem.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/Cannibales/CannibalesState.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/Cannibales/CannibalesState.class
new file mode 100644
index 0000000..ac5255c
Binary files /dev/null and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/Cannibales/CannibalesState.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/Cannibales/CannibalesTest.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/Cannibales/CannibalesTest.class
new file mode 100644
index 0000000..9a227bd
Binary files /dev/null and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/Cannibales/CannibalesTest.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/AbstractGraphSearch.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/AbstractGraphSearch.class
index 293f5c5..3f39fed 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/AbstractGraphSearch.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/AbstractGraphSearch.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/AbstractTreeSearch.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/AbstractTreeSearch.class
index bed0283..e15de73 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/AbstractTreeSearch.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/AbstractTreeSearch.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Node.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Node.class
index 132b27f..767da42 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Node.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Node.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Problem.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Problem.class
index f2fdc25..cc3139c 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Problem.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Problem.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Search.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Search.class
index 01a07a0..7165c74 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Search.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/core/Search.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerOrientedGraphProblem.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerOrientedGraphProblem.class
index 75cad4a..a08e5d4 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerOrientedGraphProblem.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerOrientedGraphProblem.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerState.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerState.class
index 796a236..d2cb046 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerState.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerState.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerTest.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerTest.class
index 8aea591..d2f6f40 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerTest.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/farmer/FarmerTest.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleNoOrientedGraphProblem.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleNoOrientedGraphProblem.class
index 807f5ff..4ee2b6a 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleNoOrientedGraphProblem.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleNoOrientedGraphProblem.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleOrientedGraphProblem.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleOrientedGraphProblem.class
index bb2cb8c..03b2bec 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleOrientedGraphProblem.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleOrientedGraphProblem.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleState.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleState.class
index f1b810b..9e270e8 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleState.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleState.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleTest.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleTest.class
index 897a89c..0519386 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleTest.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/simple/SimpleTest.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/BreadthFirstGraphSearch.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/BreadthFirstGraphSearch.class
index 9093b22..f9de864 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/BreadthFirstGraphSearch.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/BreadthFirstGraphSearch.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/BreadthFirstTreeSearch.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/BreadthFirstTreeSearch.class
index 695c717..b50a45c 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/BreadthFirstTreeSearch.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/BreadthFirstTreeSearch.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/DepthFirstGraphSearch.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/DepthFirstGraphSearch.class
index d4c45f8..5af6be7 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/DepthFirstGraphSearch.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/DepthFirstGraphSearch.class differ
diff --git a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/DepthFirstTreeSearch.class b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/DepthFirstTreeSearch.class
index 1d7b523..e2e1644 100644
Binary files a/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/DepthFirstTreeSearch.class and b/Tp_chapitre_3/out/production/Tp_chapitre_3/fr/emse/ai/search/solver/DepthFirstTreeSearch.class differ
diff --git a/Tp_chapitre_3/src/fr/emse/ai/search/Cannibales/CannibalesOrientedGraphProblem.java b/Tp_chapitre_3/src/fr/emse/ai/search/Cannibales/CannibalesOrientedGraphProblem.java
new file mode 100644
index 0000000..0899e43
--- /dev/null
+++ b/Tp_chapitre_3/src/fr/emse/ai/search/Cannibales/CannibalesOrientedGraphProblem.java
@@ -0,0 +1,85 @@
+package fr.emse.ai.search.Cannibales;
+
+import fr.emse.ai.search.core.Problem;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+public class CannibalesOrientedGraphProblem implements Problem {
+
+ CannibalesState initialState = new CannibalesState(CannibalesState.MMMD);
+ CannibalesState finalState = new CannibalesState(CannibalesState.CCCG);
+
+ @Override
+ public Object getInitialState() {
+ return initialState;
+ }
+
+ @Override
+ public boolean isGoal(Object state) {
+ return state.equals(finalState);
+ }
+
+ @Override
+ public Collection