CS724 problem 4 EXPERT SYSTEM PROPOSAL Pick a problem that you understand and that has some complexity. Then pick a small part of the problem that you are going to solve using a production system. The resultant problem is to be about the complexity of the bagging example in the book (pp.169-174). The rules that you develop must interact. It will not be considered a reasonable problem if the rules are simply evaluated in a fixed order. An acceptable problem will: solve some problem, be complex enough to require some thinking, not be too complex, not be solved using sequential control have rules that interact with each other have at least two rules with two or more match items on the left hand side You are to turn in: (1) a one page description of the problem solved; (2) a set of rules, each numbered (suggest you type them on a computer); (3) a sample worked problem, showing STM at each step, and listing the rule causing the STM. (The sample problem is to show a reasonable part of the rules setup). For the next step you are to write a working program to perform the operation. You will write a prolog program using the rules.pl program. WRITE IN PROLOG You are to write a small rule set to solve a small but interesting problem. You are to prepare a one page description of the problem, a set of rules in production format, and a nontrivial example of solving a problem. A DRAFT version of the problem statement is due as indicated. You are to take a problem that you understand, take a SMALL but INTERESTING portion of the problem, and show rules that can solve that problem. An example problem would be to solve integration for some simple trig forms. Your problem should be simple enough that it should not require more than a page of rules. The rules are to be presented in English and/or program form in the basic format of production rules for the initial problem statement. The working program will be written using PROLOG. The following is a short example of what is desired, but for too small of a problem. .nf (1) If STM has major terms connected with either '+' or '-' THEN add to STM each individual term from expression (without the +/-). (2) If STM has an expression that contains one X times values (form of C*X or X*C) THEN add to STM (DX(C*X)-->C) (3) If STM has an expression of the form (C*X^N) THEN add to STM (DX(C*X^N)-->C*N*X^(N-1)) [read ^ as raise to the power of] (4) If STM has entries of the form (DX(el)-->Del) and there is also an expression of the form (exp + el) and also an entry of the form (DX(exp)-- >Dexp) (where 'exp' and 'el' are the same throughout THEN add to STM (DX(exp + el)-->Dexp + Del) (5) Same as (4) but for - (6) If there is in STM a form (DX(exp)-->Dexp) and there is not an 'exp' larger than 'exp' THEN STOP and list (DX(exp)-->Dexp). .fi