1

I understand that I can draw a state-space graph for any problem. However, here is the problem: I can't really figure out how to make production systems.

I am solving the FWGC (Farmer, Wolf, Goat, Cabbage) River Crossing Puzzle using a state-space search. So, my tasks are that:

  1. Represent the state-space graph (which I know how to do)

  2. Write production systems.

My questions: How do I write production systems?

The thing that confused me, was the production system example in Rich's book (about the water jug problem), where he has imagined all the states possible and wrote the next state for them.

Here in the FWGC problem, I see some problems while writing the production system.

For instance, for a given state, there are multiple possible next states, i.e. a farmer can take Goat, Cabbage, Wolf, or go alone to the other side (assuming that all states are safe, just for the sake of simplicity).

So, how would I represent the same state going to multiple next states in production systems?

What I have tried-:

Then, I googled a pdf

https://www.cs.unm.edu/~luger/ai-final2/CH4_Depth-.%20Breadth-,%20and%20Best-first%20Search.pdf

enter image description here

Is that what I call the production system for this case?

But, here are my reasons why it should not be called a production system:

  1. There might be other possible states as well.

  2. It is showing only 1 solution.

So, how do I actually learn to create production rules (I know how to make state-space representation better as I have read that J.Nillison's book which was GOLD in this matter)? And, what would be the production rules in this case?

nbro
  • 39,006
  • 12
  • 98
  • 176
qsaso
  • 111
  • 2
  • I suggest that you simplify this post as much as possible to contain only the information that is needed to answer your question. Also, please, ask your main question immediately at the beginning, so that we understand which one it really is. Is your question 1. "how to make a production system?", 2. "What is a production system?", or maybe something else? It's not very clear. I think this post can be simplified and clarified. – nbro Sep 09 '20 at 10:17
  • done. i hope it is clear now. – qsaso Sep 09 '20 at 15:37
  • I am not an expert on the topic, but, if I understand and remember correctly, a production system is composed of the so-called "productions", i.e. "if-then" statements, and a database (or working memory) with facts. Now, in your case, you know that the wolf and goat cannot be together, without the human, otherwise the wolf may eat the goat. So, I think that, in your case, you need to create these _if-then_ statements (or productions) and the _facts_ in the database. Section 2.1 of this paper https://www.doc.ic.ac.uk/~rak/papers/LPS.pdf explains what a production system is, so it may help you. – nbro Sep 09 '20 at 16:21
  • See also http://refpersys.org/ and the blog of the late Jacques Pitrat on http://bootstrappingartificialintelligence.fr/WordPress3/ – Basile Starynkevitch Dec 08 '20 at 21:36

0 Answers0