Logic-based Expert Systems - Artificial intelligence:
Expert systems are agents which are programmed to make decisions about real world situations. They are put together by utilizing knowledge illicitation techniques to additional information from human experts. A specific fruitful area is in diagnosis of diseases, where expert systems are utilized to select what disease a patient has given their symptoms.
Expert systems are one of the major success stories of Artificial Intelligence. Russell and Norvig give a very nice example from medicine:
"A leading expert on lymph-node pathology describes a fiendishly hard case to the expert system, and checks the system's diagnosis. He scoffs at the response to the system. Only slightly worried, the creators of the system suggest he command the computer for an explanation of the diagnosis.In this casethe machine points out the main factors influencing its decision and explains the subtle interaction of many of the symptoms. Eventually, the experts admit his error."
Often, the instructions from the expert are encoded as if-then instruct in first-order logic and the implementation of the expert system may be fairly simply achieved in a programming language such as Prolog.
We can take our card game from the previous chapter as an instance for the implementation of a logic-based expert system. The instructions were: 4 cards are laid on the table face up. The Player 1 selectsthe first card, and in turns, they take it till they both have two cards each. To see who has won, they each add their 2 card numbers, and the winner is the 1 with the biggest even number. The winner scores the even number they have. If there is no even number, or both players gain the same even number, then the game is draw.
It could be argued that undertaking a minimax search is not very essential for this game, because we could simply just specify a set of rules for each player, so that they select cards rationally., we will derive down some Prolog rules to demonstrate thiswhich specify how player one should select the first card.
For instance, imagine the cards dealt were: 4, 5, 6, 10. In this case, the best selection of action for player 1 is to choose the ten, followed presumably by the 4, because player 2 will pick the 6. We have to abstract from this particular example to the general case: we see that there were 3 even numbers and 1 odd one, so player 1 is guaranteed another even number to match the one they chose. This is also true if there are 4 even numbers. So we have our first rule:
- If there are 3 or 4 even numbered cards, then player one should choose the highest even numbered card in their first go.
When there are 3 or 4 odd cards it is not hard to see that the most rational action for player one is to select the highest odd numbered card:
- If there are 3 or 4 odd numbered cards, then player 1 should select the highest odd numbered card in their first go.
The only other situation is when there are 2 even and 2 odd cards. I will leave it as an exercise to convince you that there are no instructions governing the choice of player one's first card: they can simply choose randomly, because they are not going to win unless player two makes a mistake, inthis type of case.