Content deleted Content added
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
Citation bot (talk | contribs) Add: bibcode, issue. | Use this bot. Report bugs. | Suggested by Abductive | Category:Automated reasoning | #UCB_Category 13/18 |
||
Line 87:
* Primitives. What is the underlying framework used to represent knowledge? [[Semantic network]]s were one of the first knowledge representation primitives. Also, data structures and algorithms for general fast search. In this area, there is a strong overlap with research in data structures and algorithms in computer science. In early systems, the Lisp programming language, which was modeled after the [[lambda calculus]], was often used as a form of functional knowledge representation. Frames and Rules were the next kind of primitive. Frame languages had various mechanisms for expressing and enforcing constraints on frame data. All data in frames are stored in slots. Slots are analogous to relations in entity-relation modeling and to object properties in object-oriented modeling. Another technique for primitives is to define languages that are modeled after [[First Order Logic]] (FOL). The most well known example is [[Prolog]], but there are also many special-purpose theorem-proving environments. These environments can validate logical models and can deduce new theories from existing models. Essentially they automate the process a logician would go through in analyzing a model. Theorem-proving technology had some specific practical applications in the areas of software engineering. For example, it is possible to prove that a software program rigidly adheres to a formal logical specification.
* Meta-representation. This is also known as the issue of [[Reflective programming|reflection]] in computer science. It refers to the ability of a formalism to have access to information about its own state. An example is the meta-object protocol in [[Smalltalk]] and [[CLOS]] that gives developers [[Execution (computing)#runtime|runtime]] access to the class objects and enables them to dynamically redefine the structure of the knowledge base even at runtime. Meta-representation means the knowledge representation language is itself expressed in that language. For example, in most Frame based environments all frames would be instances of a frame class. That class object can be inspected at runtime, so that the object can understand and even change its internal structure or the structure of other parts of the model. In rule-based environments, the rules were also usually instances of rule classes. Part of the meta protocol for rules were the meta rules that prioritized rule firing.
* [[Completeness (logic)|Incompleteness]]. Traditional logic requires additional axioms and constraints to deal with the real world as opposed to the world of mathematics. Also, it is often useful to associate degrees of confidence with a statement, i.e., not simply say "Socrates is Human" but rather "Socrates is Human with confidence 50%". This was one of the early innovations from [[expert system]]s research which migrated to some commercial tools, the ability to associate certainty factors with rules and conclusions. Later research in this area is known as [[fuzzy logic]].<ref>{{cite journal|last=Bih|first=Joseph|title=Paradigm Shift: An Introduction to Fuzzy Logic|journal=IEEE Potentials|volume=25|pages=6–21|year=2006|issue=1 |url=http://www.cse.unr.edu/~bebis/CS365/Papers/FuzzyLogic.pdf|access-date=24 December 2013|doi=10.1109/MP.2006.1635021|bibcode=2006IPot...25a...6B |s2cid=15451765|archive-date=12 June 2014|archive-url=https://web.archive.org/web/20140612022317/http://www.cse.unr.edu/~bebis/CS365/Papers/FuzzyLogic.pdf|url-status=live}}</ref>
* Definitions and [[universals]] vs. facts and defaults. Universals are general statements about the world such as "All humans are mortal". Facts are specific examples of universals such as "Socrates is a human and therefore mortal". In logical terms definitions and universals are about [[universal quantification]] while facts and defaults are about [[existential quantification]]s. All forms of knowledge representation must deal with this aspect and most do so with some variant of set theory, modeling universals as sets and subsets and definitions as elements in those sets.
* [[Non-monotonic logic|Non-monotonic reasoning]]. Non-monotonic reasoning allows various kinds of hypothetical reasoning. The system associates facts asserted with the rules and facts used to justify them and as those facts change updates the dependent knowledge as well. In rule based systems this capability is known as a [[truth maintenance system]].<ref>{{cite journal|last=Zlatarva|first=Nellie|title=Truth Maintenance Systems and their Application for Verifying Expert System Knowledge Bases|journal=Artificial Intelligence Review|year=1992|volume=6|pages=67–110|doi=10.1007/bf00155580|s2cid=24696160}}</ref>
|