Benedict du Boulay
University of Sussex
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Benedict du Boulay.
Archive | 1992
Chris Thornton; Benedict du Boulay
The two basic search strategies discussed in the previous chapter (depth-first and breadth-first) are said to be exhaustive. This means that they explore the search space systematically but with no inkling of where a goal node is likely to be found. Recall that the programs have a “worm’s-eye” rather than a “bird’s-eye” view of the space. They just work through the space, methodically checking out every single possibility. For simple problems (small search spaces) such as the water jugs problem this strategy is perfectly adequate. However, if the search space is particularly big, then exploring it exhaustively may take too much time. As it turns out, most interesting problems have huge search spaces.
Archive | 1992
Chris Thornton; Benedict du Boulay
When we are talking about search processes, the word “goal” has a very flexible meaning. In Chapter 6 we saw that one option is to construe goals in terms of conclusions or hypotheses. This means that search rules are, in effect, rules which show what conclusions can be drawn from what bits of evidence. The conclusion corresponds to the goal and the bits of evidence are just the subgoals. When we implement search rules in this way, the backward AND/OR-tree search function effectively tests whether it can draw certain conclusions from the available evidence; that is to say, it implements a form of primitive reasoning.
Archive | 1992
Chris Thornton; Benedict du Boulay
We will begin our review of search-related techniques by looking at the simplest form of search of all, namely state space search, where each state has no internal structure and is represented simply by a token. This process is subsumed in the general class of OR-tree search and is dealt with more generally in the next chapter. We will use the example of finding a path using a map. It is easy to describe and corresponds fairly closely to the non-technical meaning of the word “search”. It is just the process of looking around systematically for a given location or object. In a sense, path-finding search is just ordinary, common-or-garden search, but cast in a computational framework.
Archive | 1992
Chris Thornton; Benedict du Boulay
We saw in Chapter 6 that in the case where search rules associate given conclusions with bits of evidence the behaviour produced by the search function simulates a simple form of reasoning. Backwards search corresponds to a process in which a high-level hypothesis is “proved” by invoking lower-level hypotheses and, ultimately, basic facts. Forwards-search corresponds to a process in which an attempt is made to see what conclusions can be drawn by combining basic facts together in different ways.
Archive | 1992
Chris Thornton; Benedict du Boulay
We have seen that, in general, search is a process which tries to link up goals with facts. In forwards search, the search function works forwards from the set of facts looking for the set of goals. In backwards search, the search function works backwards from the goals looking for the supporting facts. Although, normally, both the goals and the facts are given we have seen in the previous chapter that in the case where we construe goals as conclusions and facts as premises it is sometimes advantageous to make the search function generate the goals and/or the facts. Forwards search can be used to discover which high-level conclusions can be drawn from the given set of facts and backwards search can be used to see which sets of facts might enable the drawing of given conclusions.
Archive | 1992
Chris Thornton; Benedict du Boulay
The earlier chapters of this book have tried to show that the search mechanism has a surprisingly high degree of generality. It has been shown how OR-tree search can be used for route-finding, problem-solving and heuristic problem-solving, and how AND/OR-tree search can be used for planning, reasoning, parsing, expert diagnosis and concept learning. Most of these applications involve the use of some additional computational machinery and/or the construing of goals and facts in a particular way. But in all cases the search mechanism provides the basic driving force.
Archive | 1992
Chris Thornton; Benedict du Boulay
In the previous chapters we have dealt exclusively with different kinds of state-space search. In that representation, there was a starting state, a goal state and intermediate states linked implicitly via a successor function. The general shape of all states was the same. They were distinguished by the values of their internal components.
Archive | 1992
Chris Thornton; Benedict du Boulay
In the previous chapter, we saw that we can write a program consisting of a search function and a successor function which will search a representation of a physical environment to find a path from a start node to a goal node. This sort of program obviously has uses for any task which involves route planning (e.g. programming mobile robots). But in fact the program we have constructed has many other possibilities.
Archive | 1992
Chris Thornton; Benedict du Boulay
In some situations heuristic functions can be used relatively independently of a search process. For example, programs which take the role of a player in a two-person game (e.g. chess) just need to decide at any given stage which of the possible moves is the best one. If we have a heuristic function which says how close a given state is to a goal state then the best move can be identified as the one which has the highest value of the heuristic function. Unfortunately, the efficacy of this approach is greatly undermined by the foothills problem, i.e. the inability of the heuristic function to take account of states that lie “beyond” the immediate successors of the current state. This is known as the horizon effect.
Archive | 1992
Chris Thornton; Benedict du Boulay
Descriptions corresponding to nodes in a search space can vary in complexity. In the case of simple, path-finding search, the descriptions we used were atomic; that is to say they were just single words labeling a given location, e.g. “old_steine”. In the case of the search space for the water jugs problem, the descriptions we used were list structures with two components, each component identifying the amount of liquid in one of the two jugs. In the case of the search space for the 8-puzzle, the descriptions used were list structures with nine components, e.g. [1 2 3 4 5 6 7 8 hole]. When considering sets of goals as a states in the previous chapter, each state could be made up of some arbitrary number of such goals. In principle, descriptions (i.e. nodes) can be as complex as we like. Provided the successor function can be computed, the search process can be applied in the usual way.