Archived

This topic is now archived and is closed to further replies.

Theyarv

Semantic Networks/Production Systems

Recommended Posts

Theyarv    122
Hi, I''m not a game designer but i am studying AI as a psychology module, and one of the aspects i have the study are the 2 knowledge representation methods above. I was wondering what their strenghts and weaknesses are? Thanks

Share this post


Link to post
Share on other sites
Puzzler183    540
I can tell you that semantic networks are only good if you need to store relationships between objects. Predicate calculus sentences are better for rules and storage.

Share this post


Link to post
Share on other sites
Theyarv    122
is it possible to combine the 2? If so then why isn''t it merged into a new type of Knowledge Representation? And if not - why not?

Share this post


Link to post
Share on other sites
Timkin    864
Take a look at the work done on NAG (Nice Argument Generator). NAG combines semantic networks and Bayesian networks... so in that sense, it''s not a combination of the semantic network/production system you were looking for... but it''s similar... and BNs don''t have the same sorts of problems that productions systems have (but they do have their problems). NAG has been used to plan investigative questions in a detective mystery scenario by generating plausible scenarios based on evidence. It''s quite impressive to see NAG finger the killer!

Cheers,

Timkin

Share this post


Link to post
Share on other sites
Theyarv    122
I had a look at the Itchy and Scratchy NAG site, but it seems not to be working
Also what obvious problems do PS have?
I know that if you remove one part you are likely to crash the entire system and also that you are unable to commit to 2 different possibilities in the ''action'' bit.
Anything else that i''ve obviously missed?

Share this post


Link to post
Share on other sites
Puzzler183    540
I don''t know what a production system is but I have been thinking about an advance semantic netowrk design that could store any sentence as relationships and I have come up with one.

Basically, each link can have links coming ot of it describing the link. Two links for example may be linked together with an "and" link.

Share this post


Link to post
Share on other sites
Puzzler183    540
I don''t know what a production system is but I have been thinking about an advance semantic netowrk design that could store any sentence as relationships and I have come up with one.

Basically, each link can have links coming ot of it describing the link. Two links for example may be linked together with an "and" link.

Share this post


Link to post
Share on other sites
Theyarv    122
Puzzler - the problem with that type of sematnic network is ambiguity
would it ever be able to differentiate
''they are killing apples''
maybe the apples are a type called killing apples, or someone is killing some apples. What makes it even harder is that as is, humans are unable to differentiate, therefore a computer wont be able to either.

Share this post


Link to post
Share on other sites
Kylotan    9860
If you''re looking into storing sentences, then you should take a look at the natural language processing side of things, with ideas such as conceptual graphs and scripts. Semantic networks are also well covered in this field in a bit more depth than you have gone into so far. But the only real foolproof answer to get around ambiguity is to replace ''natural'' language with a more formal language that cannot be misinterpreted.

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]

Share this post


Link to post
Share on other sites
Timkin    864
quote:
Original post by Theyarv
Also what obvious problems do PS have?



Efficiency is the main problem. The more rules you put into the system, the harder it is to get anything useful out of it. Also, the commonly implemented conflict resolution strategies tend to deal with the most recent, highest priority rules. This can keep the system from processing older, less apparently important information that may indeed turn out to be useful.

Of course, this is not to say that PSs cannot be made to ''do good work''! Take SOAR for example... not too shabby if I may say so!

Cheers,

Timkin

Share this post


Link to post
Share on other sites
Theyarv    122
Yaeh efficiency is quite bad - here is the last part of what i have on PS

Forward chaining is functional when the initial facts are known but with no conclusion or hypotheses. An advantage of production system it that it can also work in the reverse.
If you know what the conclusion might be, forward chaining systems will be inefficient. You will keep on forward chaining until you run out of rules that apply or you have added your hypothesis to the working memory. But in the process the system is likely to do an immense amount of irrelevant work. However when matching what rules may give the conclusion, every rule and possible starting point will be given and you are left with a very large amount of data to sift through. Disjunctive knowledge in the part of the rule further adds to inefficiency.
Production systems are ideal where initial states change from user to user (such as in Mycin, a system created to help doctors with diagnosis and treatment of bacterial infection). When the production system is programmed to apply rules in order there will be no conflict in the system. The *natural *modularity of the reresentaion means that each rule only has to define one small and independent piece of information, however this can also make it difficult to track the effects of adding a new rule. These types of systems are often very large in size which can cause lots of problems in computers but by each rule being independent it is possible to split the knowledge base, makign maintenanca and debuging a lot easier. The indepence also makes it very easy to add extra rules (as long as they don’t conflict).
The main positive aspect of production systems is their plausibility. Production systems can provide explanations and justifications for their decisions simply by displaying the rules that were applied to reach any given conclusion.
A very important feature for Mycin was that uncertainty (probability) is easier to programme into this type of representation than others.
Other than inefficiency, the main other weakness of production rules is its inability to express disjunctive knowledge in the side of a rule, adding to restriction of expressive adequacy.


Now i have to concentrate on the semantic network side of things

Share this post


Link to post
Share on other sites
Timkin    864
Yep, there is certainly a debate raging between proponents of production systems and proponents of Bayesian networks. Certainly, everything a PS can do, a BS can do. It''s just that some people don''t like the difficulties associated with eliciting probabilities for BNs. I honestly think that the best tool for the job depends on the job!

As for the semantic networks... just remember that every semantic network can be written in terms of first order logic. Of course, semantic nets are a much nicer way of looking at things (which is how I see BNs over PSs... much easier to see the influences withing a problem).

Cheers,

Timkin

Share this post


Link to post
Share on other sites