Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Components  





2 Aspects and development of early systems  



2.1  Knowledge-based vs. expert systems  





2.2  Rule-based systems  





2.3  Meta-reasoning  





2.4  Widening of application  





2.5  Advances driven by enhanced architecture  





2.6  Advances in automated reasoning  







3 See also  





4 References  





5 Further reading  














Knowledge-based systems






العربية
Deutsch
Español
فارسی
Gaeilge

Italiano
Türkçe
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Aknowledge-based system (KBS) is a computer program that reasons and uses a knowledge basetosolve complex problems. Knowledge-based systems were the focus of early artificial intelligence researchers in the 1980s. The term can refer to a broad range of systems. However, all knowledge-based systems have two defining components: an attempt to represent knowledge explicitly, called a knowledge base, and a reasoning system that allows them to derive new knowledge, known as an inference engine.

Components[edit]

The knowledge base contains domain-specific facts and rules[1] about a problem domain (rather than knowledge implicitly embedded in procedural code, as in a conventional computer program). In addition, the knowledge may be structured by means of a subsumption ontology, frames, conceptual graph, or logical assertions.[2]

The inference engine uses general-purpose reasoning methods to infer new knowledge and to solve problems in the problem domain. Most commonly, it employs forward chainingorbackward chaining. Other approaches include the use of automated theorem proving, logic programming, blackboard systems, and term rewriting systems such as Constraint Handling Rules (CHR). These more formal approaches are covered in detail in the Wikipedia article on knowledge representation and reasoning.

Aspects and development of early systems[edit]

Knowledge-based vs. expert systems[edit]

The term "knowledge-based system" was often used interchangeably with "expert system", possibly because almost all of the earliest knowledge-based systems were designed for expert tasks. However, these terms tell us about different aspects of a system:

Today, virtually all expert systems are knowledge-based, whereas knowledge-based system architecture is used in a wide range of types of system designed for a variety of tasks.

Rule-based systems[edit]

The first knowledge-based systems were primarily rule-based expert systems. These represented facts about the world as simple assertions in a flat database and used domain-specific rules to reason about these assertions, and then to add to them. One of the most famous of these early systems was Mycin, a program for medical diagnosis.

Representing knowledge explicitly via rules had several advantages:

  1. Acquisition and maintenance. Using rules meant that domain experts could often define and maintain the rules themselves rather than via a programmer.
  2. Explanation. Representing knowledge explicitly allowed systems to reason about how they came to a conclusion and use this information to explain results to users. For example, to follow the chain of inferences that led to a diagnosis and use these facts to explain the diagnosis.
  3. Reasoning. Decoupling the knowledge from the processing of that knowledge enabled general purpose inference engines to be developed. These systems could develop conclusions that followed from a data set that the initial developers may not have even been aware of.[3]

Meta-reasoning[edit]

Later[when?] architectures for knowledge-based reasoning, such as the BB1 blackboard architecture (ablackboard system),[4] allowed the reasoning process itself to be affected by new inferences, providing meta-level reasoning. BB1 allowed the problem-solving process itself to be monitored. Different kinds of problem-solving (e.g., top-down, bottom-up, and opportunistic problem-solving) could be selectively mixed based on the current state of problem solving. Essentially, the problem-solver was being used both to solve a domain-level problem along with its own control problem, which could depend on the former.

Other examples of knowledge-based system architectures supporting meta-level reasoning are MRS[5] and SOAR.

Widening of application[edit]

In the 1980s and 1990s, in addition to expert systems, other applications of knowledge-based systems included real-time process control,[6] intelligent tutoring systems,[7] and problem-solvers for specific domains such as protein structure analysis,[8] construction-site layout,[9] and computer system fault diagnosis.[10]

Advances driven by enhanced architecture[edit]

As knowledge-based systems became more complex, the techniques used to represent the knowledge base became more sophisticated and included logic, term-rewriting systems, conceptual graphs, and frames.

Frames, for example, are a way representing world knowledge using techniques that can be seen as analogous to object-oriented programming, specifically classes and subclasses, hierarchies and relations between classes, and behavior[clarification needed] of objects. With the knowledge base more structured, reasoning could now occur not only by independent rules and logical inference, but also based on interactions within the knowledge base itself. For example, procedures stored as daemonson[clarification needed] objects could fire and could replicate the chaining behavior of rules.[11]

Advances in automated reasoning[edit]

Another advancement in the 1990s was the development of special purpose automated reasoning systems called classifiers. Rather than statically declare the subsumption relations in a knowledge-base, a classifier allows the developer to simply declare facts about the world and let the classifier deduce the relations. In this way a classifier also can play the role of an inference engine.[12]

The most recent[as of?] advancement of knowledge-based systems was to adopt the technologies, especially a kind of logic called description logic, for the development of systems that use the internet. The internet often has to deal with complex, unstructured data that cannot be relied on to fit a specific data model. The technology of knowledge-based systems, and especially the ability to classify objects on demand, is ideal for such systems. The model for these kinds of knowledge-based internet systems is known as the Semantic Web.[13]

See also[edit]

References[edit]

  1. ^ Smith, Reid (May 8, 1985). "Knowledge-Based Systems Concepts, Techniques, Examples" (PDF). reidgsmith.com. Schlumberger-Doll Research. Retrieved 9 November 2013.
  • ^ Sowa, John F. (2000). Knowledge Representation: Logical, Philosophical, and Computational Foundations (1st ed.). Pacific Grove: Brooks / Cole. ISBN 978-0-534-94965-5.
  • ^ Hayes-Roth, Frederick; Donald Waterman; Douglas Lenat (1983). Building Expert Systems. Addison-Wesley. ISBN 0-201-10686-8.
  • ^ Hayes-Roth, Barbara; Department, Stanford University Computer Science (1984). BB1: an Architecture for Blackboard Systems that Control, Explain, and Learn about Their Own Behavior. Department of Computer Science, Stanford University.
  • ^ Genesereth, Michael R. "1983 - An Overview of Meta-Level Architecture". AAAI-83 Proceedings: 6.
  • ^ Larsson, Jan Eric; Hayes-Roth, Barbara (1998). "Guardian: An Intelligent Autonomous Agent for Medical Monitoring and Diagnosis". IEEE Intelligent Systems. 13 (1). Retrieved 2012-08-11.
  • ^ Clancey, William (1987). Knowledge-Based Tutoring: The GUIDON Program. Cambridge, Massachusetts: The MIT Press.
  • ^ Hayes-Roth, Barbara; Buchanan, Bruce G.; Lichtarge, Olivier; Hewitt, Mike; Altman, Russ B.; Brinkley, James F.; Cornelius, Craig; Duncan, Bruce S.; Jardetzky, Oleg (1986). PROTEAN: Deriving Protein Structure from Constraints. AAAI. pp. 904–909. Retrieved 2012-08-11.
  • ^ Robert Engelmore; et al., eds. (1988). Blackboard Systems. Addison-Wesley Pub (Sd).
  • ^ Bennett, James S. (1981). DART: An Expert System for Computer Fault Diagnosis. IJCAI.
  • ^ Mettrey, William (1987). "An Assessment of Tools for Building Large Knowledge- BasedSystems". AI Magazine. 8 (4). Archived from the original on 2013-11-10. Retrieved 2013-11-10.
  • ^ MacGregor, Robert (June 1991). "Using a description classifier to enhance knowledge representation". IEEE Expert. 6 (3): 41–46. doi:10.1109/64.87683. S2CID 29575443.
  • ^ Berners-Lee, Tim; James Hendler; Ora Lassila (May 17, 2001). "The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities". Scientific American. 284: 34–43. doi:10.1038/scientificamerican0501-34. Archived from the original on April 24, 2013.
  • Further reading[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Knowledge-based_systems&oldid=1227659474"

    Categories: 
    Artificial intelligence
    Information systems
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    Articles needing additional references from May 2024
    All articles needing additional references
    Wikipedia articles in need of updating from May 2024
    All Wikipedia articles in need of updating
    Articles with multiple maintenance issues
    All articles with vague or ambiguous time
    Vague or ambiguous time from May 2024
    Wikipedia articles needing clarification from May 2024
    Articles with NKC identifiers
     



    This page was last edited on 7 June 2024, at 02:47 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki