ODL 129 TEAM B Coursework 1
Question 1.
Investigate the history of search teqniques and search algorithms in the development of AI as a research area in Computer science. Illistrate one or more of those algorithms in relation to the typical kinds of problem solving system to which they have been applied. You might start with the early work in AI by Newell and Simon (1972), N,J Nilsson (1980), Patrick Winston (1984) and R. Korf (1985)
Answer
Machines are able to carry out defined tasks very quickly and accurately, but they are unable to  think or reason about those tasks. AI attempts to emulate human intelligence in a machine i.e the ability to make decisions based upon feedback mechanisms from our surroundings. AI aims to  design computer systems that can rationalise & think like a human being. A machine capable of  understanding, learning, decision making & problem solving. It studies mental abilities through the  use of computational models, and the development of search techniques was considered to be one of  the early successes of AI research.
The modern field of AI began in the 1950's when Alan Turing proposed that machines could  be programmed to exhibit intelligent behaviour, and he developed the Turing Test. A few years later, John McCarthy (who coined the term AI), suggested that a study should be carried out to investigate  the idea that every aspect of learning or any other feature of intelligence could be defined in such  a way that it was possible to develop a machine that could simulate it. In the late 50's Newell &  Simon developed The Logic Theorist, (a program that represented problems as a tree, attempting to solve  them by selecting branches that were most likely to reach the desired conclusion in the most efficient  way (quicker))!
Search Trees are very useful in problem-solving. The structure of a search tree is basically  as it's name implies, it has nodes and branches (pathways between nodes). The search starts from a  specific start node with branches leading from it to nodes on the next level. The 'branching'  continues until the goal state is reached.
AI search techniques are used to find a sequence of steps to get from an initial state to a goal  state(s) by either searching backwards from the goal, or forwards from the initial state.
Forward and backward chaining are examples of search techniques, and which method is used  depends upon the problem. In Forward Chaining you start at the initial state and move to the goal  state, this is known as a data driven search, and is useful when there are many potential goals, if  it's difficult to form a goal, or if there are not many paths to follow. With Backward Chaining you  start at the goal, the data of the problem is not given. There are many paths to follow, and each  level of the search has a large number of nodes. An example of Backward Chaining was a program  called MYCIN which was developed by Shortliffe in 1976. It was used to diagnose infectious  diseases, so would start with the disease itself, i.e. the symptoms and characteristics displayed,  and then search for a match of those symptoms from its list, and when it found a correct match it  diagnosed the disease.
In 1963 Newell and Simon developed the GPS (General Problem Solver), and this was the first AI program  to use an idea called Means-End Analysis. It was used for information processing, and tried to explain  all behaviour as functions of memory, control processes and rules. The theories were tested in computer  simulations, and the results compared with human behaviour for the same task. It used forward  and backward chaining within the context of the same problem. It solved parts of the problem seperately  and then brought all the parts back together into one solution. It first of all identified the difference  between initial and goal states, and then tried to find an operator such as PUSH(obj,loc), PICK-UP(obj),  MOVE(obj,loc), and DROP(obj), in order to move from the initial to the goal state. If unable to  solve the problem it would break it down into sub-problems, and then apply the same technique. The  GPS uses a set of rules and a difference table. It was supposed to provide a set of processes that could  be used to solve various types of problems, but in reality it could only be used with well defined  problems such as proving logic theorems, word puzzles and chess.
Depth Fisrt Search uses search trees, and as a tree search does not require as much memory as  some other techniques, as it only records the nodes on the current path. This is similar to the way  humans conduct a search, i.e. if we are given a choice, then we would be more likely to choose  the option that looked most promising and follow it, rather than persuing several options at the  same time. If there are a lot of solutions to the problem, all occurring at a comparable depth,  then you may reach a solution after exploring just a small part of the tree, although it may not  be the best solution. A disadvantage of this technique is that you may get stuck exploring long  (potentially infinite) paths, when there could be a solution with a path of only one or two steps.  It is not very useful where there is only one solution, or if you want to find the shortest route.      Click here to see an example of a Depth-first Search.
Next we will take a look at Breadth First Search, this uses more memory than the previous example,  but it will always find the shortest path, or the one that involves the least number of steps. This  technique is useful when exploring very large search spaces, where there is an expected solution in  a relitavely small number of steps. It is also useful if you want to explore all solutions, and you  set a depth limit on the search.      Click here to see an example of a Breadth-first Search.
There are two main types of search methods utilized to solve problems, algorithmic & heuristic.
Search Algorithms are a technique used when building certain types of AI systems. An algorithm is a group of clearly defined instructions enabling a solution to be reached to a given  problem in a finite number of steps. They are perfomance oriented, based on probability and  statistics.They are useful in planning systems which involve automatic generation and evaluation of plans to achieve specific  goals, for example: what route will take me from node 0 to node 9? Real AI planning systems actually  involve more complex tasks such as planning routes for robots to take through real environments.  E.g. Through an uncontrolled environment such as space exploration or searching the surface of a planet/moon.
Heuristic Search is a good technique to use if the whole search space is very large. Rather  than try all of the possible paths you would focus on the ones that seem to be nearer to the goal  state. This type of search contains an evaluation function that gives a score or value to a node  in the search tree, dependant upon how close it seems to be to the goal state. Hueristic search  strategies therefore follow the most appropriate solution of several posed at each successive step  within a program. E.g. Chess program (will alter its strategy depending on the move of the opposing  player).
There are several heuristic search algorithms, to follow are a few examples:-
A good example of a Heuristic Search is the 8 puzzle. This is a board type game for just one player, and consists of 8 square tiles on a 3 x 3 board, with numbers one through to eight marked on them,  and one empty space without a tile. Moves can be made by sliding a tile which is horizontally or  vertically adjacent to the blank space into that position. This exchanges the positions of the tile  and the blank space, there are several versions of this puzzle, but in our example the object of  the puzzle is to move the tiles around until they are in clockwise order from 1 to eight, with the  blank space in the centre of the board. The things that need to be considered in the search to  solve this puzzle are: the start state, the number of possible states of the board, the average  number of possible moves from a given position of the board, and the minimum number and maximum  number of possible moves between the start and goal states.       Click here to see an example of the 8 Puzzle
Generate and Test - this algorithm generates a possible solution, and then tests it to find  out if it is a real solution by comparing it with a set of acceptable goal states. If it finds a  solution it then quits, but if it doesn't it repeats the loop, and so on.
Simple Hill Climbing starts with the initial state, which becomes current state, it  then moves to the next state and evaluates it. If the new state is a goal state, it returns the  result and quits. If it is not a goal state, but it is better than the current state i.e. nearer to  the goal state, it will then make this its current state. If it is no better than the current state, it continues in the loop.
Best First Search is similar to the Hill Climbing, except that it combines Depth First Search  and Breadth First Search. It follows a single path at a time, but switches paths if it finds a more  promising one. A disadvantage of this technique is that it doesn't take into account the cost of a  path so far when choosing the next node to search from. It may reach a solution, but it may not be  a very good one.
A* Search Technique attempts to find a solution which minimises the total lenght or cost of  a solution path. It also combines breadth first, where the shortes path is found first, with depth  first, where the node which seems closest to a solution is explored next. It also gives a score or  value to a node, but this is a combination of the cost so far and the estimated cost to a solution.  This technique will always find the shortest path first.
Although the history of AI as a research area in Computer Science is a relatively young  (approximately 50 years), major steps forward have been taken in terms of achieving the goal of  developing a machine that can adapt and learn (the primary aim of many AI programs). Several  search techniques and algorithms have been developed such as A* Search Technique, Best First  Search and Simple Hill Climbing to name a few. Although still a long way off from developing a  machine that can think, learn & understand like a human, if AI research continues to progress at  the same rate as it has to date, the goal of creating a machine with artificial intelligence that can  emulate human intelligence is possible within the next 50 years.
References
[1] Brookshear, J. G., "Computer Science An Overview", 2000.
[2] "GPS (A.Newell & H.Simon)."
http://tip.psychology.org/simon.html
[3] "Search Algorithms & Research Papers on Internet Searching."
http://vcolaso.port5.com/ai/vicdoc/
[4] "CS 381K: Heuristic Search: 8 Puzzle."
http://www.cs.utexas.edu/users/novak/asg-8p.html
[5] "A Brief History of Artificial Intelligence."
www.javacoffeebreak.com/tutorials/aisearch/chapter1.html
[6] "Simple Tree Searches"
http://www.generation5.org/simple_search.shtml
[7] "The History of Artificial Intelligence"
http://library.thinkquest.org/2705/history.htm
To top
Question 2
Question 3
Question 4
Question 5
Hosted by www.Geocities.ws

1