|< Day Day Up >|| |
A Knowledge-based System (KBS) is a system that utilizes human knowledge stored in a knowledge base to solve problems. Because a KBS seeks to solve problems that typically require the expertise and reasoning of a human being, the process is not guaranteed to work. Applications that work with information in this way are said to be heuristic, as opposed to algorithmic. A knowledge base will contain whatever type of information the programmers need it to process but a few specific categories include rules, facts, attributes, relationships, and events. The two types of knowledge-based systems you need to be familiar with are expert systems and neural networks.
Although the terms KBS and expert systems are often used interchangeably, for our purposes, we will make a distinction between the two. An expert system is a program that solves problems by emulating human reasoning. Said another way, an expert system tries to reason like a person, using a database of knowledge gathered by experts in a particular field. Standing between the user and the knowledge base in an expert system is the inference engine-the component that actually gets its hands dirty. The user makes a query through an interface; the inference engine analyzes the query and then consults the knowledge base. Once the system comes to a conclusion, it will deliver its results back to the user. A few fields that benefit from the use of expert systems are medicine, finance, and the oil industry. Oil companies will use them to assist with drilling issues and questions regarding geology, while doctors use them for help diagnosing certain diseases. Financial organizations use expert systems to make forecasts about future trends in the markets.
There are different ways to develop expert systems. These programming models are known as paradigms. The most common method is referred to as rule-based programming. Using the familiar If and Then parameters, rule-based programming employs preprogrammed rules of thumb to provide answers for any given situation. Each individual rule contains an If parameter and a Then parameter.
A more complex system may also include And/Or operators. The If parameter tries to compare user input to patterns in the data. This is where the inference engine does its work. In a process called pattern matching, the engine will attempt to match the facts provided by a user with established patterns in the database. When a match is found, the inference engine determines the rule or rules that apply. Once a rule has been singled out, a course of action is determined by the Then parameter. It contains a group of actions that pertain to each rule. One by one, the applicable rules are processed and the recommended courses of action are delivered to the user. Expert systems are fed rules and actions; they do not learn with time. They simply contain programmed responses to recognizable queries.
In the following example, we will look at a simplified version of rule-based programming at work. You aren't feeling well, so you consult a medical expert system on your PC. You tell the interface that you have a cough and a runny nose. The inference engine examines the data and looks for a pattern containing the Ifs: Cough and Runny Nose. A match is made. The rule Cold is determined to be applicable to the situation. Finally, the Then parameter of Cold is referenced, which contains the action to be taken. The inference engine collects this action and delivers it to your screen-Eat Chicken Soup.
Another example of a supercharged expert system is IBM's Deep Blue chess playing computer. In a rematch that ended after six games on May 11, 1997, Deep Blue defeated world champion Garry Kasparov at his own game. This landmark event in computing (and chess) was made possible by IBM's tireless research team. They entered the moves from hundreds of famous chess matches going back 100 years and more. The computer had so much data at its disposal, and could evaluate such a large amount (2,000 per second) of chess positions; the champ didn't stand a chance. The assumption is that the Deep Blue computer that beat Kasparov was a 'learning' system but it didn't really employ artificial intelligence. Alternatively, Blue used a rule-based expert system that placed a value on each chess piece, and then decided between thousands of possible moves based on those values. It was determined that neural network systems are great at many things, but trying to think like a chess champ is not one of them.
A neural network is a more ambitious method of processing data that attempts to actually think like a person. While expert systems emulate human reasoning with static rules and predetermined actions, neural networks operate in a fashion similar to the human brain. In a manner of speaking, they simulate the nervous system of biological organisms, like us! This is accomplished by approximating the physical structure of the networks of neurons our brains use to solve problems. This is what is known as artificial intelligence (AI). We won't get into the complex programming that is necessary to achieve this but suffice it to say that these systems aren't developed overnight. Not only can neural networks solve problems that computers aren't historically good at solving, but they can also learn new things. Once a neural net is configured (or trained), over time, it can make adjustments to the interconnections of 'neurons' in its 'brain.' In other words, they can learn from examples, successes, and failures.
Another reason these systems are called networks is that they are typically comprised of multiple processors in many computers, working in parallel unison, with each layered neuron processing its own bits of data. The more processors that are interconnected, the higher the rate of learning will be and the more intuitive the system will become.
Expert systems are typically rule based and do not learn over time. Neural networks can learn over time by comparing successes and failures.
|< Day Day Up >|| |