Chapter 5: Expert Systems, Heuristics, Second Boom Flashcards
What is meant with Weak methods in AI?
An AI uses weak methods when they have difficulty scaling due to the limited amount of knowledge they can incorporate. The knowledge they use is only weakly applicable to a specific problem. Confusingly, nowadays the meaning of strong and weak AI are swapped, meaning that weak AI refers to an AI that can solve a specific problem well, but is not a general problem solver.
When began the shift to AI development for problem-specific solutions?
During the 1970s and 1980s
What is an expert system?
An expert system is a machine that emulates the decision making of a domain expert. This requires the application of domain-specific knowledge, reasoning using a vast knowledge base of rules and the process (search) is often augmented by heuristics. Knowledge is used to draw conclusions.
Give an example of an expert system
Dendral: Given a molecular structure, dendral could predict mass spectograms. Uses expert knowledge in the form of rules, heavily prunes the search of possible candidates. of substructures
What is Computational complexity theory, and give a year of when it was first developed? Also give 2 early examples of publications about complexity theory.
Computational complexity theory is a theory that deals with the study of the size of computational algorithms. It is usually divided into Time and Space complexity. The first one meaning, how much time or operations an algorithm takes to run a function. This is expressed in Big-Oh notation. Space complexity deals with the amount of memory the algorithm needs. It was developed in the 1960’s. In 1971, Cook publishes a paper that showed the NP-completeness of Boolean satisfiability. In 1972, Karp publishes a list of 21 NP-complete problems.
Give the definition of the word heuristic as formulized by Pearle (1984).
Heuristics are criteria, methods, or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal.
This means these methods are rules of thumb, are not always optimal, are used to find something quickly and compromises between simplicity, efficiency, accuracy and completeness.
What are some real-life heuristics?
Checking fruit ripeness by touch, or move in the general direction of a destination instead of following the optimal route.
Explain the traveling salesman problem and give an example of a heuristic.
The traveling salesman problem is a problem in computer science, where given a set of cities connected by weighted edges, the task is to find the shortest possible route that visits each city exactly once and returns to the starting city. The problem is NP-hard, which means that there’s no known polynomial time algorithm that can solve the problem optimally for all inputs. An example of a heuristic is the Nearest Neighbor heuristic, which works as follows:
1. Start with an arbitrary node
2. Choose as next node an unvisited node, with minimum distance to the current node
3. Repeat until all nodes are visited, then return to the starting node along the shortest edge.
The solution depends on the starting node, and sometimes by picking the wrong starting node, a worst-case solution can be created.
When was Lisp developed?
1958 by McCarthy
When was Dendral developed?
1966 at Stanford, written in Lisp
When was Prolog developed?
1972, by Colmerauer
When was Mycin developed?
1974, at Standford, similar to Dendral.
What is the R1 system and when was it developed?
R1 was an Order configuration expert system for computer systems. It saved the company 40 million dollars a year. It was deployed commercially in 1982
What happened in 1988? And what did it lead to?
Nearly every major US corporation is using or investigating expert systems in 1988. This led to a supporting ecosystem of software tooling to build expert systems, as well as companies building specialized computers named Lisp machines. The industry went rom a few million in sales in 1980 to 2 billion in 1988.
Give a step by step approach to the Alpha beta pruning algorithm.
Step 1: Label the tree with the minimizing and maximizing players.
Step 2: Initialize Alpha en Beta to minus infinity and positive infinity respectively.
Step 3: When the maximizing player can choose a root node, update alpha with the maximum value of children. If the minimizing player can choose, update beta with the minimum value.
Step 4: When traversing back up the tree, update alpha and beta in the same way.
Step 5: If there ever comes up a situation where Alpha is greater or equal than Beta, prune the rest of the children.