2

I started building my expert system from generating decision tree like this: decision tree: http://obrazki.elektroda.pl/6125718100_1336340563.png

I used PC-Shell to build expert system, main code looks like:

result=e IF a>20, b=yes;
result=f IF a>20, b=no;
result=c IF a==20;
result=g IF a<20, d="is dry"; 

etc...

So where is artificial intelligence in this? Doesn't it works like text based game where you answers and in the end you've got result? And how in this example will work inference (forward and backward)?

3 Answers3

1

Yes, this is AI, Good Old Fashion AI (GOFAI). And more specifically a knowledge base, which can act as an expert system; the Wikipedia article on expert systems contains a similar example:

  • IF it is living THEN it is mortal
  • IF his age = known THEN his year of birth = date of today - his age in years
  • IF the identity of the germ is not known with certainty AND the germ is gram-positive AND the morphology of the organism is "rod" AND the germ is aerobic THEN there is a strong probability (0.8) that the germ is of type enterobacteriacae

It is similar to text-based games in its working, and the inference is in the deduction of the value of "result" from the values of "a", "b", and "d".

Peace Makes Plenty
  • 856
  • 10
  • 13
0

To me it seems that you are confusing decision trees as a decision support tool and the ones used in machine learning. The confusion probably comes from the fact that the two are practically the same thing, but are used differently.

As @jb-krohn says in his answer, in your example you do build a decision tree as an expert system. That is, you define the branching of your decision tree yourself. While this falls into the broad category of AI, it is actually very different from the way decision trees are used in contemporary machine learning.

In machine learning, the branching of decision trees is left to the algorithm to determine, based on the data set. This is, the algorithm builds the rules itself, aiming to match its structure to the given training dataset.

There are a number of subsequent considerations, such as overfitting that might help you see the pros and cons of you defining your own decision trees vs letting an algorithm guess them. To elaborate on expert systems as they are implemented with forward-chaining inference, it might help to refer to their ability to include first-order logic predicates, which adds further to their expressive power, as explained in this answer.

Finally, forward- and backward-chaining inference, you need to be working with a modifiable knowledge base. Typically, this is not present with decision trees where the domain and range are static. In expert systems however, the execution of a rule actually changes the predicates that you use as input data. Thus from the perspective of decision trees, this introduces some type of recursion to your algorithm, something ruled out by the simple structure of decision trees.

mapto
  • 605
  • 9
  • 23
0

In my personal experience Expert Systems can be highly nested as well, the other answer referred to old fashioned type AI and this is very true. You can have an expert system with so many nested forms of IF THEN -> IF THEN -> etc... it can create complexities and issues with the system the more it scales up. A modern expert system based again on my own personal experience in my studies, would use more modern techniques in programming for efficiencies such as using Cases or Finite State Machines, or even Fuzzy logic, these are basic examples I have used throughout the studies that have aided me in replicating something that is expert that I was trying to replicate. Fuzzy Logic is still actively researched however in my opinion, and I do find expert systems can come up in this field from time to time if not from a research point rather than actually serving any use, they can be a good way of breaking down goals and aims in a research project to get to an eventual answer you are seeking or use case.