Showing posts with label Expert Systems. Show all posts
Showing posts with label Expert Systems. Show all posts

Artificial Intelligence - Knowledge Engineering In Expert Systems.

  


Knowledge engineering (KE) is an artificial intelligence subject that aims to incorporate expert knowledge into a formal automated programming system in such a manner that the latter can produce the same or comparable results in problem solving as human experts when working with the same data set.

Knowledge engineering, more precisely, is a discipline that develops methodologies for constructing large knowledge-based systems (KBS), also known as expert systems, using appropriate methods, models, tools, and languages.

For knowledge elicitation, modern knowledge engineering uses the knowledge acquisition and documentation structuring (KADS) approach; hence, the development of knowledge-based systems is considered a modeling effort (i.e., knowledge engineer ing builds up computer models).

It's challenging to codify the knowledge acquisition process since human specialists' knowledge is a combination of skills, experience, and formal knowledge.

As a result, rather than directly transferring knowledge from human experts to the programming system, the experts' knowledge is modeled.

Simultaneously, direct simulation of the entire cognitive process of experts is extremely difficult.

Designed computer models are expected to achieve targets similar to experts’ results doing problem solving in the domain rather than matching the cognitive capabilities of the experts.

As a result, knowledge engineering focuses on modeling and problem-solving methods (PSM) that are independent of various representation formalisms (production rules, frames, etc.).

The problem solving method is a key component of knowledge engineering, and it refers to the knowledge-level specification of a reasoning pattern that can be used to complete a knowledge-intensive task.

Each problem-solving technique is a pattern that offers template structures for addressing a specific issue.

The terms "diagnostic," "classification," and "configuration" are often used to categorize problem-solving strategies based on their topology.

PSM "Cover-and-Differentiate" for diagnostic tasks and PSM "Propose-and-Reverse" for parametric design tasks are two examples.

Any problem-solving approach is predicated on the notion that the suggested method's logical adequacy corresponds to the computational tractability of the system implementation based on it.

The PSM heuristic classification—an inference pattern that defines the behavior of knowledge-based systems in terms of objectives and knowledge required to attain these goals—is often used in early instances of expert systems.

Inference actions and knowledge roles, as well as their relationships, are covered by this problem-solving strategy.

The relationships specify how domain knowledge is used in each interference action.

Observables, abstract observables, solution abstractions, and solution are the knowledge roles, while the interference action might be abstract, heuristic match, or refine.

The PSM heuristic classification requires a hierarchically organized model of observables as well as answers for "abstract" and "refine," making it suited for static domain knowledge acquisition.

In the late 1980s, knowledge engineering modeling methodologies shifted toward role limiting methods (RLM) and generic tasks (GT).

The idea of the "knowledge role" is utilized in role-limiting methods to specify how specific domain knowledge is employed in the problem-solving process.

RLM creates a wrapper over PSM by explaining it in broad terms with the purpose of reusing it.

However, since this technique only covers a single instance of PSM, it is ineffective for issues that need the employment of several methods.

Configurable role limiting methods (CRLM) are an extension of the role limiting methods concept, offering a predetermined collection of RLMs as well as a fixed scheme of knowledge categories.

Each member method may be used on a distinct subset of a job, but introducing a new method is challenging since it necessitates changes to established knowledge categories.

The generic task method includes a predefined scheme of knowledge kinds and an inference mechanism, as well as a general description of input and output.

The generic task is based on the "strong interaction problem hypothesis," which claims that domain knowledge's structure and representation may be totally defined by its application.

Each generic job makes use of information and employs control mechanisms tailored to that knowledge.

Because the control techniques are more domain-specific, the actual knowledge acquisition employed in GT is more precise in terms of problem-solving step descriptions.

As a result, the design of specialized knowledge-based systems may be thought of as the instantiation of specified knowledge categories using domain-specific words.

The downside of GT is that it may not be possible to integrate a specified problem-solving approach with the optimum problem-solving strategy required to complete the assignment.

The task structure (TS) approach seeks to address GT's shortcomings by distinguishing between the job and the technique employed to complete it.

As a result, every task-structure based on that method postulates how the issue might be solved using a collection of generic tasks, as well as what knowledge has to be acquired or produced for these tasks.

Because of the requirement for several models, modeling frameworks were created to meet various parts of knowledge engineering methodologies.

The organizational model, task model, agent model, communication model, expertise model, and design model are the models of the most common engineering CommonKADS structure (which depends on KADS).

The organizational model explains the structure as well as the tasks that each unit performs.

The task model describes tasks in a hierarchical order.

Each agent's skills in task execution are specified by the agent model.

The communication model specifies how agents interact with one another.

The expertise model, which employs numerous layers and focuses on representing domain-specific knowledge (domain layer) as well as inference for the reasoning process, is the most significant model (inference layer).

A task layer is also supported by the expertise model.

The latter is concerned with task decomposition.

The system architecture and computational mechanisms used to make the inference are described in the design model.

In CommonKADS, there is a clear distinction between domain-specific knowledge and generic problem-solving techniques, allowing various problems to be addressed by constructing a new instance of the domain layer and utilizing the PSM on a different domain.

Several libraries of problem-solving algorithms are now available for use in development.

They are distinguished by their key characteristics: if the library was created for a specific goal or has a larger reach; whether the library is formal, informal, or implemented; whether the library uses fine or coarse grained PSM; and, lastly, the library's size.

Recently, some research has been carried out with the goal of unifying existing libraries by offering adapters that convert task-neutral PSM to task-specific PSM.

The MIKE (model-based and incremental knowledge engineering) method, which proposes integrating semiformal and formal specification and prototyping into the framework, grew out of the creation of CommonKADS.

As a result, MIKE divides the entire process of developing knowledge-based systems into a number of sub-activities, each of which focuses on a different aspect of system development.

The Protégé method makes use of PSMs and ontologies, with an ontology being defined as an explicit statement of a common conceptualization that holds in a certain situation.

Although the ontologies used in Protégé might be of any form, the ones utilized are domain ontologies, which describe the common conceptualization of a domain, and method ontologies, which specify the ideas and relations used by problem solving techniques.

In addition to problem-solving techniques, the development of knowledge-based systems necessitates the creation of particular languages capable of defining the information needed by the system as well as the reasoning process that will use that knowledge.

The purpose of such languages is to give a clear and formal foundation for expressing knowledge models.

Furthermore, some of these formal languages may be executable, allowing simulation of knowledge model behavior on specified input data.

The knowledge was directly encoded in rule-based implementation languages in the early years.

This resulted in a slew of issues, including the impossibility to provide some forms of information, the difficulty to assure consistent representation of various types of knowledge, and a lack of specifics.

Modern approaches to language development aim to target and formalize the conceptual models of knowledge-based systems, allowing users to precisely define the goals and process for obtaining models, as well as the functionality of interface actions and accurate semantics of the various domain knowledge elements.

The majority of these epistemological languages include primitives like constants, functions, and predicates, as well as certain mathematical operations.

Object-oriented or frame-based languages, for example, define a wide range of modeling primitives such as objects and classes.

KARL, (ML)2, and DESIRE are the most common examples of specific languages.

KARL is a language that employs a Horn logic variation.

It was created as part of the MIKE project and combines two forms of logic to target the KADS expertise model: L-KARL and P-KARL.

The L-KARL is a frame logic version that may be used in inference and domain layers.

It's a mix of first-order logic and semantic data modeling primitives, in fact.

P-KARL is a task layer specification language that is also a dynamic logic in some versions.

For KADS expertise models, (ML)2 is a formalization language.

The language mixes first-order extended logic for domain layer definition, first-order meta logic for inference layer specification, and quantified dynamic logic for task layer specification.

The concept of compositional architecture is used in DESIRE (the design and specification of interconnected reasoning components).

It specifies the dynamic reasoning process using temporal logics.

Transactions describe the interaction between components in knowl edge-based systems, and control flow between any two objects is specified as a set of control rules.

A metadata description is attached to each item.

In a declarative approach, the meta level specifies the dynamic features of the object level.

The need to design large knowledge-based systems prompted the development of knowledge engineering, which entails creating a computer model with the same problem-solving capabilities as human experts.

Knowledge engineering views knowledge-based systems as operational systems that should display some desirable behavior, and provides modeling methodologies, tools, and languages to construct such systems.




Jai Krishna Ponnappan


You may also want to read more about Artificial Intelligence here.



See also: 


Clinical Decision Support Systems; Expert Systems; INTERNIST-I and QMR; MOLGEN; MYCIN.



Further Reading:


Schreiber, Guus. 2008. “Knowledge Engineering.” In Foundations of Artificial Intelligence, vol. 3, edited by Frank van Harmelen, Vladimir Lifschitz, and Bruce Porter, 929–46. Amsterdam: Elsevier.

Studer, Rudi, V. Richard Benjamins, and Dieter Fensel. 1998. “Knowledge Engineering: Principles and Methods.” Data & Knowledge Engineering 25, no. 1–2 (March): 161–97.

Studer, Rudi, Dieter Fensel, Stefan Decker, and V. Richard Benjamins. 1999. “Knowledge Engineering: Survey and Future Directions.” In XPS 99: German Conference on Knowledge-Based Systems, edited by Frank Puppe, 1–23. Berlin: Springer.



Artificial Intelligence - The General Problem Solver Software.

     




    To arrive at a solution, General Problem Solver is a software for a problem-solving method that employs means-ends analysis and planning.





    The software was created in such a way that the problem-solving process is separated from information unique to the situation at hand, allowing it to be used to a wide range of issues.

    The software, which was first created by Allen Newell and Herbert Simon in 1957, took over a decade to complete.

    George W. Ernst, a graduate student at Newell, wrote the latest edition while doing research for his dissertation in 1966.



    The General Problem Solver arose from Newell and Simon's work on the Logic Theorist, another problem-solving tool.




    The duo likened Logic Theorist's problem-solving approach to that of people solving comparable issues after inventing it.


    They discovered that the logic theorist's method varied significantly from that of humans.

    Newell and Simon developed General Problem Solver using the knowledge on human problem solving obtained from these experiments, hoping that their artificial intelligence work would contribute to a better understanding of human cognitive processes.

    They discovered that human problem-solvers could look at the intended outcome and, using both backward and forward thinking, decide actions they might take to get closer to that outcome, resulting in the development of a solution.




    The General Problem Solver, which Newell and Simon felt was not just reflective of artificial intelligence but also a theory of human cognition, included this mechanism.



    To solve issues, General Problem Solver uses two heuristic techniques: 

    1. means-ends analysis and 
    2. planning.



    As an example of means-ends analysis in action, consider the following: 


    • If a person coveted a certain book, they would want to be in possession of it.
    • The book is currently kept by the library, and they do not have it in their possession.
    • The individual has the ability to eliminate the gap between their existing and ideal states.
    • They may do so by borrowing the book from the library, and they have other alternatives for getting there, including driving.
    • If the book has been checked out by another customer, however, there are possibilities for obtaining it elsewhere.
    • To buy it, the consumer may go to a bookshop or order it online.
    • The individual must next consider the many possibilities open to them.
    • And so on.


    The individual is aware of a number of pertinent activities they may do, and if they select the right ones and carry them out in the right sequence, they will be able to receive the book.


    Means ends analysis in action is the person who chooses and implements suitable activities.





    The programmer sets up the issue as a starting state and a state to be attained when using means-ends analysis with General Problem Solver.


    The difference between these two states is calculated using the General Problem Solver (called objects).


    • Operators that lessen the difference between the two states must also be coded into the General Problem Solver.
    • It picks and implements an operator to address the issue, then assesses if the operation has got it closer to its objective or ideal state.
    • If that's the case, it'll go on to the next operator.
    • If it doesn't work, it may go back and try another operator.
    • The difference between the original state and the target state is decreased to zero by applying operators.
    • The capacity to plan was also held by General Problem Solver.



    General Problem Solver might sketch a solution to the problem by removing the specifics of the operators and the difference between the starting and desired states.


    After a broad solution had been defined, the specifics could be reinserted into the issue, and the subproblems formed by these details could be addressed within the solution guide lines produced during the outlining step.

    Defining an issue and operators to program the General Problem Solver was a time-consuming task for programmers.

    It also meant that, as a theory of human cognition or an example of artificial intelligence, General Problem Solver took for granted the very actions that, in part, represent intelligence, namely the acts of defining a problem and selecting relevant actions (or operations) from an infinite number of possible actions in order to solve the problem.



    In the mid-1960s, Ernst continued to work on General Problem Solver.


    He wasn't interested in human problem-solving procedures; instead, he wanted to discover a way to broaden the scope of General Problem Solver so that it could solve issues outside of the logic domain.

    In his version of General Problem Solver, the intended state or object was expressed as a set of constraints rather than an explicit specification.

    Ernst also altered the form of the operators such that the output of an operator may be written as a function of the starting state or object (the input).

    His updated General Problem Solver was only somewhat successful in solving problems.

    Even on basic situations, it often ran out of memory.


    "We do believe that this specific aggregation of IPL-Vcode should be set to rest, as having done its bit in furthering our knowledge of the mechanics of intelligence," Ernst and Newell proclaimed in the foreword of their 1969 book GPS: A Case Study in Generality and Problem Solving(Ernst and Newell 1969, vii).



    Artificial Intelligence Problem Solving




    The AI reflex agent converts states into actions. 

    When these agents fail to function in an environment where the state of mapping is too vast for the agent to handle, the stated issue is resolved and passed to a problem-solving domain, which divides the huge stored problem into smaller storage areas and resolves them one by one. 

    The targeted objectives will be the final integrated action.


    Different sorts of issue-solving agents are created and used at an atomic level without any internal state observable with a problem-solving algorithm based on the problem and their working area. 


    By describing issues and many solutions, the problem-solving agent executes exactly. 

    So we may say that issue solving is a subset of artificial intelligence that includes a variety of problem-solving approaches such as tree, B-tree, and heuristic algorithms.


    A problem-solving agent is also known as a goal-oriented agent since it is constantly focused on achieving the desired outcomes.


    AI problem-solving steps: 


    The nature of people and their behaviors are intimately related to the AI dilemma. 


    To solve a problem, we require a set of discrete steps, which makes human labor simple. These are the actions that must be taken to fix a problem:


    • Goal formulation is the first and most basic stage in addressing a problem. 

    It arranges discrete stages to establish a target/goals that need some action in order to be achieved. 

    AI agents are now used to formulate the aim. 


    One of the most important processes in issue resolution is problem formulation, which determines what actions should be followed to reach the specified objective. 

    This essential aspect of AI relies on a software agent, which consists of the following components to construct the issue. 


    Components needed to formulate the problem: 

    This state necessitates a beginning state for the challenge, which directs the AI agent toward a certain objective. 


    In this scenario, new methods also use a particular class to solve the issue area. 


    ActionIn this step of issue formulation, all feasible actions are performed using a function with a specified class obtained from the starting state.

    Transition: In this step of issue formulation, the actual action performed by the previous action stage is combined with the final stage to be sent to the next stage.

    Objective test: This step assesses if the integrated transition model accomplished the given goal or not; if it did, halt the action and go to the next stage to estimate the cost of achieving the goal.

    Path costing is a component of problem-solving that assigns a numerical value to the expense of achieving the objective. 

    It necessitates the purchase of all gear, software, and human labor.



    General Problem Solver Overview


    In theory, GPS may solve any issue that can be described as a collection of well-formed formulas (WFFs) or Horn clauses that create a directed graph with one or more sources (that is, axioms) and sinks (that is, desired conclusions). 


    Predicate logic proofs and Euclidean geometry problem spaces are two primary examples of the domain in which GPS may be used. 

    It was based on the theoretical work on logic machines by Simon and Newell. 

    GPS was the first computer software to segregate its issue knowledge (expressed as input data) from its problem-solving method (a generic solver engine). 


    IPL, a third-order programming language, was used to build GPS. 


    While GPS was able to tackle small issues like the Hanoi Towers that could be adequately described, it was unable to handle any real-world problems since search was quickly lost in the combinatorial explosion. 

    Alternatively, the number of "walks" across the inferential digraph became computationally prohibitive. 

    (In fact, even a simple state space search like the Towers of Hanoi may become computationally infeasible, however smart pruning of the state space can be accomplished using basic AI methods like A* and IDA*.)



    In order to solve issues, the user identified objects and procedures that might be performed on them, and GPS created heuristics via means-ends analysis. 


    • It concentrated on the available processes, determining which inputs and outputs were acceptable. 
    • It then established sub goals in order to move closer to the ultimate objective.
    • The GPS concept ultimately developed into the Soar artificial intelligence framework.



    Jai Krishna Ponnappan


    You may also want to read more about Artificial Intelligence here.


    See also: 

    Expert Systems; Simon, Herbert A.



    Frequently Asked Questions:


    In Artificial Intelligence, what is a generic problem solver?

    Herbert Simon, J.C. Shaw, and Allen Newell suggested the General Problem Solver (GPS) as an AI software. It was the first useful computer software in the field of artificial intelligence. It was intended to function as a global problem-solving machine.


    What is the procedure for using the generic issue solver?

    In order to solve issues, the user identified objects and procedures that might be performed on them, and GPS created heuristics via means-ends analysis. It concentrated on the available processes, determining which inputs and outputs were acceptable.


    What exactly did the General Problem Solver accomplish?

    The General Problem Solver (GPS) was their next effort, which debuted in 1957. GPS would use heuristic approaches (modifiable "rules of thumb") repeatedly to a problem and then undertake a "means-ends" analysis at each stage to see whether it was getting closer to the intended answer.


    What are the three key domain universal issue-solving heuristics that Newell and Simon's general problem solver incorporated in 1972?

    According to Newell and Simon (1972), every issue has a problem space that is described by three components: 1) the issue's beginning state; 2) a collection of operators for transforming a problem state; 3) a test to see whether a problem state is a solution.


    What is heuristic search and how does it work?

    Heuristic search is a kind of strategy for finding the best solution to a problem by searching a solution space. The heuristic here use some mechanism for searching the solution space while determining where the solution is most likely to be found and concentrating the search on that region.


    What are the elements of a broad issue?

    The issue itself, articulated clearly and with sufficient context to explain why it is significant; the way of fixing the problem, frequently presented as a claim or a working thesis; and the goal, declaration of objective, and scope of the paper the writer is writing.


    What are the stages of a basic development process employing a problem-solving approach?

    Problem-Solving Process in 8 Steps:

    Step 1: Identify the issue. What exactly is the issue?

    Step 2: Identify the issue.

    Step 3: Establish the objectives.

    Step 4: Determine the problem's root cause.

    Step 5: Make a plan of action.

    Step 6: Put your plan into action.

    Step 7: Assess the Outcomes

    Step 8: Always strive to improve.

     

    What's the difference between heuristic and algorithmic problem-solving?

    A step-by-step technique for addressing a given issue in a limited number of steps is known as an algorithm. Given the same parameters, an algorithm's outcome (output) is predictable and repeatable (input). A heuristic is an informed assumption that serves as a starting point for further investigation.


    What makes algorithms superior than heuristics?

    Heuristics entail using a learning and discovery strategy to obtain a solution, while an algorithm is a clearly defined set of instructions for solving a problem. Use an algorithm if you know how to solve an issue.



    References and Further Reading:


    Barr, Avron, and Edward Feigenbaum, eds. 1981. The Handbook of Artificial Intelligence, vol. 1, 113–18. Stanford, CA: HeurisTech Press.

    Ernst, George W., and Allen Newell. 1969. GPS: A Case Study in Generality and Problem Solving. New York: Academic Press.

    Newell, Allen, J. C. Shaw, and Herbert A. Simon. 1960. “Report on a General Problem Solving Program.” In Proceedings of the International Conference on Information Processing (June 15–20, 1959), 256–64. Paris: UNESCO.

    Simon, Herbert A. 1991. Models of My Life. New York: Basic Books.

    Simon, Herbert A., and Allen Newell. 1961. “Computer Simulation of Human Thinking and Problem Solving.” Datamation 7, part 1 (June): 18–20, and part 2 (July): 35–37



    Artificial Intelligence - What Are Expert Systems?

     






    Expert systems are used to solve issues that would normally be addressed by humans.


    In the early decades of artificial intelligence research, they emerged as one of the most promising application strategies.

    The core concept is to convert an expert's knowledge into a computer-based knowledge system.




    Dan Patterson, a statistician and computer scientist at the University of Texas in El Paso, differentiates various properties of expert systems:


    • They make decisions based on knowledge rather than facts.

    • The task of representing heuristic knowledge in expert systems is daunting.

    • Knowledge and the program are generally separated so that the same program can operate on different knowledge bases.

    • Expert systems should be able to explain their decisions, represent knowledge symbolically, and have and use meta knowledge, that is, knowledge about knowledge.





    (Patterson, et al., 2008) Expert systems generally often reflect domain-specific knowledge.


    The subject of medical research was a frequent test application for expert systems.

    Expert systems were created as a tool to assist medical doctors in their work.

    Symptoms were usually communicated by the patient in the form of replies to inquiries.

    Based on its knowledge base, the system would next attempt to identify the ailment and, in certain cases, recommend relevant remedies.

    MYCIN, a Stanford University-developed expert system for detecting bacterial infections and blood disorders, is one example.




    Another well-known application in the realm of engineering and engineering design tries to capture the heuristic knowledge of the design process in the design of motors and generators.


    The expert system assists in the initial design phase, when choices like as the number of poles, whether to use AC or DC, and so on are made (Hoole et al. 2003).

    The knowledge base and the inference engine are the two components that make up the core framework of expert systems.




    The inference engine utilizes the knowledge base to make choices, whereas the knowledge base holds the expert's expertise.

    In this way, the knowledge is isolated from the software that manipulates it.

    Knowledge must first be gathered, then comprehended, categorized, and stored in order to create expert systems.

    It is retrieved to answer issues depending on predetermined criteria.

    The four main processes in the design of an expert system, according to Thomson Reuters chief scientist Peter Jackson, are obtaining information, representing that knowledge, directing reasoning via an inference engine, and explaining the expert system's answer (Jackson 1999).

    The expert system's largest issue was acquiring domain knowledge.

    Human specialists may be challenging to obtain information from.


    Many variables contribute to the difficulty of acquiring knowledge, but the complexity of encoding heuristic and experienced information is perhaps the most important.



    The knowledge acquisition process is divided into five phases, according to Hayes-Roth et al. (1983).

    Identification, or recognizing the problem and the data that must be used to arrive at a solution; conceptualization, or comprehending the key concepts and relationships between the data; formalization, or comprehending the relevant search space; implementation, or converting formalized knowledge into a software program; and testing the rules for completeness and accuracy are among them.


    • Production (rule-based) or non-production systems may be used to represent domain knowledge.
    • In rule-based systems, knowledge is represented by rules in the form of IF THEN-ELSE expressions.



    The inference process is carried out by iteratively going over the rules, either through a forward or backward chaining technique.



    • Forward chaining asks what would happen next if the condition and rules were known to be true. Going from a goal to the rules we know to be true, backward chaining asks why this occurred.
    • Forward chaining is defined as when the left side of the rule is assessed first, that is, when the conditions are verified first and the rules are performed left to right (also known as data-driven inference).
    • Backward chaining occurs when the rules are evaluated from the right side, that is, when the outcomes are verified first (also known as goal-driven inference).
    • CLIPS, a public domain example of an expert system tool that implements the forward chaining method, was created at NASA's Johnson Space Center. MYCIN is an expert system that works backwards.



    Associative/semantic networks, frame representations, decision trees, and neural networks may be used in expert system designs based on nonproduction architectures.


    Nodes make form an associative/semantic network, which may be used to represent hierarchical knowledge. 

    • An example of a system based on an associative network is CASNET.
    • The most well-known use of CASNET was the development of an expert system for glaucoma diagnosis and therapy.

    Frames are structured sets of closely related knowledge in frame architectures.


    • A frame-based architecture is an example of PIP (Present Illness Program).
    • MIT and Tufts-New England Clinical Center developed PIP to generate hypotheses regarding renal illness.

    Top-down knowledge is represented via decision tree structures.


    Blackboard system designs are complex systems in which the inference process's direction may be changed during runtime.


    A blackboard system architecture may be seen in DARPA's HEARSAY domain independent expert system.


    • Knowledge is spread throughout a neural network in the form of nodes in neural network topologies.
    • Case-based reasoning is attempting to examine and find answers for a problem using previously solved examples.
    • A loose connection may be formed between case-based reasoning and judicial law, in which the decision of a comparable but previous case is used to solve a current legal matter.
    • Case-based reasoning is often implemented as a frame, which necessitates a more involved matching and retrieval procedure.



    There are three options for manually constructing the knowledge base.


    • Knowledge may be elicited via an interview with a computer using interactive tools. This technique is shown by the computer-graphics-based OPAL software, which enabled clinicians with no prior medical training to construct expert medical knowledge bases for the care of cancer patients.
    • Text scanning algorithms that read books into memory are a second alternative to human knowledge base creation.
    • Machine learning algorithms that build competence on their own, with or without supervision from a human expert, are a third alternative still under development.




    DENDRAL, a project started at Stanford University in 1965, is an early example of a machine learning architecture project.


    DENDRAL was created in order to study the molecular structure of organic molecules.


    • While DENDRAL followed a set of rules to complete its work, META-DENDRAL created its own rules.
    • META-DENDRAL chose the important data points to observe with the aid of a human chemist.




    Expert systems may be created in a variety of methods.


    • User-friendly graphical user interfaces are used in interactive development environments to assist programmers as they code.
    • Special languages may be used in the construction of expert systems.
    • Prolog (Logic Programming) and LISP are two of the most common options (List Programming).
    • Because Prolog is built on predicate logic, it belongs to the logic programming paradigm.
    • One of the first programming languages for artificial intelligence applications was LISP.



    Expert system shells are often used by programmers.



    A shell provides a platform for knowledge to be programmed into the system.


    • The shell is a layer without a knowledge basis, as the name indicates.
    • The Java Expert System Shell (JESS) is a strong expert shell built in Java.


    Many efforts have been made to blend disparate paradigms to create hybrid systems.


    • Object-oriented programming seeks to combine logic-based and object-oriented systems.
    • Object orientation, despite its lack of a rigorous mathematical basis, is very useful in modeling real-world circumstances.

    • Knowledge is represented as objects that encompass both the data and the ways for working with it.
    • Object-oriented systems are more accurate models of real-world things than procedural programming.
    • The Object Inference Knowledge Specification Language (OI-KSL) is one way (Mascrenghe et al. 2002).



    Although other languages, such as Visual Prolog, have merged object-oriented programming, OI-KSL takes a different approach.


    Backtracking in Visual Prolog occurs inside the objects; that is, the methods backtracked.

    Backtracking is taken to a whole new level in OI KSL, with the item itself being backtracked.

    To cope with uncertainties in the given data, probability theory, heuristics, and fuzzy logic are sometimes utilized.

    A fuzzy electric lighting system was one example of a Prolog implementation of fuzzy logic, in which the quantity of natural light influenced the voltage that flowed to the electric bulb (Mascrenghe 2002).

    This allowed the system to reason in the face of uncertainty and with little data.


    Interest in expert systems started to wane in the late 1990s, owing in part to unrealistic expectations for the technology and the expensive cost of upkeep.

    Expert systems were unable to deliver on their promises.



    Even today, technology generated in expert systems research is used in various fields like data science, chatbots, and machine intelligence.


    • Expert systems are designed to capture the collective knowledge that mankind has accumulated through millennia of learning, experience, and practice.



    Jai Krishna Ponnappan


    You may also want to read more about Artificial Intelligence here.


    See also: 


    Clinical Decision Support Systems; Computer-Assisted Diagnosis; DENDRAL; Expert Systems.



    Further Reading:


    Hayes-Roth, Frederick, Donald A. Waterman, and Douglas B. Lenat, eds. 1983. Building Expert Systems. Teknowledge Series in Knowledge Engineering, vol. 1. Reading, MA: Addison Wesley.

    Hoole, S. R. H., A. Mascrenghe, K. Navukkarasu, and K. Sivasubramaniam. 2003. “An Expert Design Environment for Electrical Devices and Its Engineering Assistant.” IEEE Transactions on Magnetics 39, no. 3 (May): 1693–96.

    Jackson, Peter. 1999. Introduction to Expert Systems. Third edition. Reading, MA: Addison-Wesley.

    Mascrenghe, A. 2002. “The Fuzzy Electric Bulb: An Introduction to Fuzzy Logic with Sample Implementation.” PC AI 16, no. 4 (July–August): 33–37.

    Mascrenghe, A., S. R. H. Hoole, and K. Navukkarasu. 2002. “Prototype for a New Electromagnetic Knowledge Specification Language.” In CEFC Digest. Perugia, Italy: IEEE.

    Patterson, Dan W. 2008. Introduction to Artificial Intelligence and Expert Systems. New Delhi, India: PHI Learning.

    Rich, Elaine, Kevin Knight, and Shivashankar B. Nair. 2009. Artificial Intelligence. New Delhi, India: Tata McGraw-Hill.



    What Is Artificial General Intelligence?

    Artificial General Intelligence (AGI) is defined as the software representation of generalized human cognitive capacities that enables the ...