Presentation on theme: "Expert System Seyed Hashem Davarpanah University of Science and Culture."— Presentation transcript:
Expert System Seyed Hashem Davarpanah University of Science and Culture
2 Agent: anything that perceives and acts on its environment AI: study of rational agents A rational agent carries out an action with the best outcome after considering past and current percepts Agents
What is an intelligent agent Intelligent Agent user/ environment output/ sensors effectors input/ An intelligent agent is a system that: perceives its environment (which may be the physical world, a user via a graphical user interface, a collection of other agents, the Internet, or other complex environment); reasons to interpret perceptions, draw inferences, solve problems, and determine actions; and acts upon that environment to realize a set of goals or tasks for which it was designed.
Humans, with multiple, conflicting drives, multiple senses, multiple possible actions, and complex sophisticated control structures, are at the highest end of being an agent. At the low end of being an agent is a thermostat. It continuously senses the room temperature, starting or stopping the heating system each time the current temperature is out of a pre-defined range. The intelligent agents we are concerned with are in between. They are clearly not as capable as humans, but they are significantly more capable than a thermostat. What is an intelligent agent (cont.)
6 Why are intelligent agents important Humans have limitations that agents may alleviate (e.g. memory for the details that isnt effected by stress, fatigue or time constraints). Humans and agents could engage in mixed-initiative problem solving that takes advantage of their complementary strengths and reasoning styles.
7 Why are intelligent agents important (cont) The evolution of information technology makes intelligent agents essential components of our future systems and organizations. Our future computers and most of the other systems and tools will gradually become intelligent agents. We have to be able to deal with intelligent agents either as users, or as developers, or as both.
8 هوشمندی خودمختاری خودمختاري توانايي عمل و اخذ تصميم مستقل از برنامهنويس يا كاربر عامل ميباشد. يادگيري چنين عاملهايي قادرند اطلاعات جديد را در يك قالب مفيد ذخيره نمايند. به عنوان مثال، عاملها ميتوانند از يك كاربر از طريق مشاهده فعاليتهايش و يا از طريق دريافت راهنماييهايش ياد بگيرند. يادگيري به عاملها اجازه ميدهد تا كارايي خود را در طي زمان به منظور انجام بعضي وظايف بهبود ببخشند. اگر كاربر به يك عامل بگويد كه يك وظيفه را خوب انجام نداده است، عامل از آن استفاده كرده و ياد ميگيرد كه دومرتبه چنين اشتباهي را در آينده تكرار نكند. خصوصیات عاملها
9 همكاري در سيستمهاي چندعامله، عاملها معمولاً با يكديگر همكاري مينمايند. اين همكاري دلالت بر وجود نوعي ارتباطات اجتماعي در بين عاملها دارد. يك عامل چند كاره قادر است تا چندين كار مختلف انجام دهد. اغلب عاملها تككاره ميباشند. خصوصیات عاملها
Characteristic features of intelligent agents Knowledge representation and reasoning Transparency and explanations Ability to communicate Use of huge amounts of knowledge Exploration of huge search spaces Use of heuristics Reasoning with incomplete or conflicting data Ability to learn and adapt
If an object is on top of another object that is itself on top of a third object then the first object is on top of the third object. RULE x,y,z OBJECT, (ON x y) & (ON y z) (ON x z) represents ON CUP1 BOOK1 ON TABLE1 CUP BOOK TABLE INSTANCE-OF OBJECT SUBCLASS-OF Application Domain Model of the Domain An intelligent agent contains an internal representation of its external application domain, where relevant elements of the application domain (objects, relations, classes, laws, actions) are represented as symbolic expressions. This mapping allows the agent to reason about the application domain by performing reasoning processes in the domain model, and transferring the conclusions back into the application domain. Knowledge representation and reasoning ONTOLOGY
Separation of knowledge from control Ontology Rules/Cases/Methods Problem Solving Engine Intelligent Agent User/ Environment Output/ Sensors Effectors Input/ Knowledge Base Implements a general method of solving the input problem based on the knowledge from the knowledge base Data structures that represent the objects from the application domain, general laws governing them, action that can be performed with them, etc.
There are two basic components of an agent: the knowledge base and the problem solving engine. The knowledge base contains data structures that represent the application domain. It includes representations of objects and their relations (the object ontology), but also representations of laws, actions, rules, cases or elementary problem solving methods. The problem solving engine implements a problem solving method that manipulates the data structures in the knowledge base to reason about the input problem, to solve it, and to determine the actions to perform next. That is, there is a clear separation between knowledge (which is contained into the knowledge base) and control (represented by the problem solving engine). This separation allows the development of general tools, or shells, that do not contain any domain specific knowledge in the knowledge base. By defining this knowledge, one can develop a specific agent. The idea of these tools is to re-use the problem solving engine for a new application by defining the appropriate content of the knowledge base.
The knowledge possessed by the agent and its reasoning processes should be understandable to humans. The agent should have the ability to give explanations of its behavior, what decisions it is making and why. Without transparency it would be very difficult to accept, for instance, a medical diagnosis performed by an intelligent agent. Transparency and explanations
An agent should be able to communicate with its users or other agents. The communication language should be as natural to the human users as possible. Ideally, it should be free natural language. The problem of natural language understanding and generation is very difficult due to the ambiguity of words and sentences, the paraphrases, ellipses and references which are used in human communication. Ability to communicate
In order to solve "real-world" problems, an intelligent agent needs a huge amount of domain knowledge in its memory (knowledge base). Example of human-agent dialog: User:The toolbox is locked. Agent:The key is in the drawer. In order to understand such sentences and to respond adequately, the agent needs to have a lot of knowledge about the user, including the goals the user might want to achieve. Use of huge amounts of knowledge
User: The toolbox is locked. Agent (reasoning): Why is he telling me this? I already know that the box is locked. Maybe he needs to get in. Perhaps he is telling me because he believes I can help. To get in requires a key. He knows it and he knows I know it. The key is in the drawer. If he knew this, he would not tell me that the toolbox is locked. So he must not realize it. To make him know it, I can tell him. I am supposed to help him. The key is in the drawer. Use of huge amounts of knowledge (example)
An intelligent agent usually needs to search huge spaces in order to find solutions to problems. Example 1: A search agent on the Internet Example 2: A checkers playing agent Exploration of huge search spaces
The ability to provide some solution even if not all the data relevant to the problem is available at the time a solution is required. Examples: The reasoning of a physician in an intensive care unit Reasoning with incomplete data If the EKG test results are not available, but the patient is suffering chest pains, I might still suspect a heart problem. Planning a military course of action with incomplete knowledge about the enemy.
Reasoning with conflicting data The ability to take into account data items that are more or less in contradiction with one another (conflicting data or data corrupted by errors). Example: The reasoning of a military intelligence analyst that has to cope with the deception actions of the enemy.
The ability to improve its competence and efficiency. An agent is improving its competence if it learns to solve a broader class of problems, and to make fewer mistakes in problem solving. An agent is improving its efficiency if it learns to solve more efficiently (for instance, by using less time or space resources) the problems from its area of competence. Ability to learn
22 Types of Agents Reflex Agent Reflex Agent with State Goal-based Agent Utility-Based Agent Learning Agent
23 Reflex Agent
24 Reflex Agent with State
25 State Management Reflex agent with state –Incorporates a model of the world –Current state of its world depends on percept history –Rule to be applied next depends on resulting state state next-state( state, percept ) action select-action( state, rules )
26 Goal-based Agent
27 Incorporating Goals Rules and foresight –Essentially, the agents rule set is determined by its goals –Requires knowledge of future consequences given possible actions Can also be viewed as an agent with more complex state management –Goals provide for a more sophisticated next-state function
28 Utility-based Agent
29 Incorporating Performance May have multiple action sequences that arrive at a goal Choose action that provides the best level of happiness for the agent Utility function maps states to a measure –May include tradeoffs –May incorporate likelihood measures
30 Learning Agent
31 Incorporating Learning Can be applied to any of the previous agent types –Agent Performance Element Learning Element –Causes improvements on agent/ performance element –Uses feedback from critic –Provides goals to problem generator
32 معماري سلسله مراتبي EXPLORE WANDER AVOID OBSTACLES Inputs Actions Inputs اين معماري يك معماري لايهاي است كه به منظور پيادهسازي رباتهاي فيزيكي طراحي شده است. در اين رباتها، هوش مركزي يا مكانيزم كنترلي وجود ندارد. هر لایه براي كنترل بخشي از رفتار عامل طراحي شده است.
33 معماري سلسله مراتبي Outputs and actions Inputs Layer n … Layer 2 Layer 1 Horizontal Architecture
34 معماري سلسله مراتبي Inputs Outputs and actions Layer n … Layer 2 Layer 1 Vertical Architecture
35 Properties of Environments Fully versus partially observable Deterministic versus stochastic Episodic versus sequential Static versus dynamic Discrete versus continuous Single agent versus multiagent
How are agents built A knowledge engineer attempts to understand how a subject matter expert reasons and solves problems and then encodes the acquired expertise into the agent's knowledge base. The expert analyzes the solutions generated by the agent (and often the knowledge base itself) to identify errors, and the knowledge engineer corrects the knowledge base.
Why it is hard The knowledge engineer has to become a kind of subject matter expert in order to properly understand experts problem solving knowledge. This takes time and effort. Experts express their knowledge informally, using natural language, visual representations and common sense, often omitting essential details that are considered obvious. This form of knowledge is very different from the one in which knowledge has to be represented in the knowledge base (which is formal, precise, and complete). This transfer and transformation of knowledge, from the domain expert through the knowledge engineer to the agent, is long, painful and inefficient (and is known as "the knowledge acquisition bottleneck of the AI systems development process).
Intelligent agents are systems that can perform tasks requiring knowledge and heuristic methods. Intelligent agents: Conclusion Intelligent agents are helpful, enabling us to do our tasks better. Intelligent agents are necessary to cope with the increasing challenges of the information and knowledge society.