REASONING SYSTEMS

To behave intelligently, a system must use knowledge to 
determine actions. How do we represent that 
knowledge.

Some types of knowledge representation and reasoning:

	theorem provers and logic programming languages
		McCarthy

	production systems
		Newell and Simon

	frame systems and semantic networks
		Minsky

	schemas and scripts
		Schank

Books emphasis is on logic-based systems.

	It is true that these other representations can be 
	mimicked in first-order logic.

	It is also true we could write object-oriented programs 
	on a Turing machine ...



				PRODUCTION SYSTEMS

Knowledge represented in collections of rules.
	rules consist of condition/action pairs

Examples:
	XCON (computer configuration, forward chaining)
	MYCIN (blood infection diagnosis, backward chaining)
	DENDRAL (mass spectroscopy, includes a couple 
		rule-based systems as subcomponents)

Intermediate states can be generated to "chain" rules 
together:
	sky(blue) -> weather(sunny)
	weather(sunny) -> not weather(rain)
	weather(rain) & traveling(outside) -> take(umbrella)

Truth Maintenance Systems

	Justification-based TMS -- keep track of reasoning 
	chain and remove inferred results based on 
	removed knowledge

	Assumption-based TMS -- keep track of multiple 
	possible states including those no longer believed 
	as being true (like dynamic programming)

Explanations for rule-based inferences.



			FRAMES AND SEMANTIC NETS

Knowledge represented in conceptual objects (frames).
	objects have attributes and relations to other objects

	

Inheritance
	default values
		allows for exceptions (Minsky's question: what 
		makes a bird a bird?)

	multiple inheritance
		inheritance procedure determines features

	inheritance and change (nonmonotonic reasoning)
		effects decision to cache inherited features



Confusion over subset vs. membership
	classes vs. instances in object-oriented programming
	prototype-based inheritance
	natural categorization (Rosch)



			CASES, SCRIPTS AND SCHEMAS



Knowledge represented as exemplars of situations.
	allows for case-based reasoning
	situations can have temporal ordering

Case-based reasoning
	find exemplar like current situation (pattern matching 
		or rule-based approach to locate)
	make decisions based on similarity to current situation

Advantage is that not all features have to match, and that 
reasoning can include consideration of specific situation.

	Our legal system combines rule-based and case-
	based processes.