diff --git a/sheets/02_cpsat/DBST/README.md b/sheets/02_cpsat/DBST/README.md index d59ef688c0e38c6057fd78696ab7b83e49d1e7c2..6686b63bda4aa2446749bcfd12a39bee82cfa298 100644 --- a/sheets/02_cpsat/DBST/README.md +++ b/sheets/02_cpsat/DBST/README.md @@ -16,7 +16,7 @@ The code can be found in [_solver.py](./_solver.py). ### Selection of Variables for the Model The most trivial variable selection would be to choose a boolean variable for every edge, that represents if the edge is in the solution. -Unfortunately, with this representation it is difficult to efficiently contrain the edge set to be a tree. +Unfortunately, with this representation it is difficult to efficiently constrain the edge set to be a tree. Instead we will work on an [arborescence](https://en.wikipedia.org/wiki/Arborescence_(graph_theory)) (instead of an undirected tree) and keep track of how deep a vertex is in this arborescence. You will often need to create auxiliary variables or constructs that allow you to enforce your constraints more efficiently. After some time, you acquire a set of such techniques that allow you to model nearly anything without much thinking.