L11: Basic Solution Procedures Flashcards

1
Q

Define search.

A

To search is to make an (educated) guess among several alternatives- but be prepared to undo that guess and try a different alternative if the guess does not lead to a solution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define systematic search.

A

If there is a solution, it will be found.

If there is no solution, the search space will be exhausted and the search will report that there is no solution.

Begin with an empty assignment, incrementally attempt to extend it into a solution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define backtracking.

A

If we discover the current partial assignment cannot be extended to a solution (a dead end):
- Backtrack over last decision made.
- Try an alternative.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How does search as a tree traversal work?

A

The search for a solution to a CSP may be viewed as exploring a tree.

The root represents the CSP before any search choices.

Choices made correspond to branches in the tree.

Descendants of root node correspond to sub-CSPs.
Original CSP + partial assignment leaves simplified problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is d-way branching?

A

In d-way branching, each branch under a parent node represents the assignment of one of d domain values from the domain of a particular variable.

E.g. if x= {1,2,3}, then we will have 3 branches from a parent or root node (3-way branching)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is 2-way or binary branching?

A

Try extending partial assignment with x = v first. If no solution remove v from consideration before continuing.

The 2 branches from any node represent x = v and x ≠ v.

Each pair of branches divides the search space into two pieces. If we explore the whole tree, we will explore the whole search space.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Compare d-way and binary branching.

A

D-way branching makes presentation of simpler algorithms easier.

However, ….

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the variable order?

A

The variable order is the order in which variables are assigned. The variable order can be fixed or dynamic.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a level in a search tree?

A

The level corresponds to the number of assignments made, also known as search depth.

Root: level 0
X1: level 1
X2: level 2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a future variable?

A

A variable that has not yet been assigned.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a past variable?

A

A variable that has been assigned.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does each branch of the tree represent?

A

Each branch represents a partial assignment.

A branch that reaches depth n represents a complete assignment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the generate and test search method?

A

A simple (but very expensive) method of solving a CSP.

Each possible complete assignment is generated and then tested to see if it satisfies all the constraints.

Brute force: only checks constraints after a complete assignment has been generated.

Systematic: guaranteed to find a solution if one exists (eventually).

Never used in practice.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the problem with generate and test searching for constraint optimisation problems?

A

We can’t stop when we find a satisfying assignment as it might not be the ‘best’ one. We have to examine all complete assignments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does the backtrack algorithm do?

A

Improves on G&T by incrementally extending partial solutions. Every time we make an assignment, we check to see if a constraint has been violated.

Systematic: guaranteed to find a solution if one exists.

Checks a constraint as soon as all of the variable that it constrains are instantiated.

Can spot dead-ends much faster than G&T. The sooner dead-ends are spotted, the more search you save.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the branch and bound search method?

A

Augments Backtrack.
When we reach a solution we record the value of the objective in α.

As soon as a partial assignment cannot improve over the current “best” value α, we backtrack.

Assume minimisation.

Systematic: guaranteed to find an optimal solution.

Like BT, checks a constraint as soon as all of the variables that it constrains are instantiated.

Also maintains the value of the objective associated with the current best solution.

Backtracks if current solution cannot be better. Sooner we find a good solution, sooner we can prune.

17
Q

What is the bounding function in branch and bound?

A

We have a new function calculateObjective() – this is called the bounding function.

Calculates a lower bound on the objective from the current partial assignment. Any solutions extending the current partial assignment have an objective value equal to or greater than the lower bound.

18
Q
A