Presentation on theme: "Expert System Seyed Hashem Davarpanah"— Presentation transcript:
1 Expert System Seyed Hashem Davarpanah Davarpanah@usc.ac.ir University of Science and Culture
2 Agent: anything that perceives and acts on its environment AgentsAgent: anything that perceives and acts on its environmentAI: study of rational agentsA rational agent carries out an action with the best outcome after considering past and current percepts
4 What is an intelligent agent 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; andacts upon that environment to realize a set of goals or tasks for which it was designed.input/sensorsIntelligent Agentoutput/user/environmenteffectors
5 What is an intelligent agent (cont.) 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.
6 Why are intelligent agents important Humans have limitations that agents may alleviate (e.g. memory for the details that isn’t 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 خصوصیات عاملهاهمكاريدر سيستمهاي چندعامله، عاملها معمولاً با يكديگر همكاري مينمايند. اين همكاري دلالت بر وجود نوعي ارتباطات اجتماعي در بين عاملها دارد.يك عامل چند كاره قادر است تا چندين كار مختلف انجام دهد. اغلب عاملها تككاره ميباشند.
10 Characteristic features of intelligent agents Knowledge representation and reasoningTransparency and explanationsAbility to communicateUse of huge amounts of knowledgeExploration of huge search spacesUse of heuristicsReasoning with incomplete or conflicting dataAbility to learn and adapt
11 Knowledge representation and reasoning 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.ONTOLOGYONCUP1BOOK1TABLE1CUPBOOKTABLEINSTANCE-OFOBJECTSUBCLASS-OFrepresentsIf 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)Application DomainModel of the Domain
12 User/ Environment Separation of knowledge from control Implements a general method ofsolving the input problem based onthe knowledge from the knowledge baseIntelligent AgentInput/Problem SolvingEngineSensorsUser/EnvironmentOntologyRules/Cases/MethodsKnowledge BaseOutput/EffectorsThere are two distinct components of an agent: the knowledge base and the problem solving engine.The knowledge base contain data structures that represent the application domain. It includes representations of objects and their relations (the ontology), but also representations of laws, actions, rules, cases or elementary problem solving methods.The problem solving engine implements a general 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, the problem solving engine is only an interpreter (or general reasoning mechanism).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.Data structures that represent the objects from the application domain,general laws governing them, action that can be performed with them, etc.
13 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.
14 Transparency and explanations 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.
15 Ability to communicate 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.
16 Use of huge amounts of knowledge 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.
17 Use of huge amounts of knowledge (example) 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.
18 Exploration of huge search spaces An intelligent agent usually needs to search huge spaces in order to find solutions to problems.Example 1: A search agent on the InternetExample 2: A checkers playing agentThe game of checkers:There are two players (Grey and White), each having 12 men. They alternatively move one of their men. A man could be moved forward diagonally from one black square to another, or it could jump over an opponent's man, if the square behind it is vacant. In such a case the opponent's man is captured. Any number of men could be jumped (and captured) if the square behind each is vacant. If a man reaches the opponent's last row, it is transformed into a king by placing another man on top of it. The king could move both forward and backward (as opposed to the men which could move only forward).The winning player is the one who succeeds in blocking all the men of its opponent (so that they cannot move) or succeeds in capturing all of them.
19 Examples: The reasoning of a physician in an intensive care unit Reasoning with incomplete dataThe ability to provide some solution even if not all thedata relevant to the problem is available at the time asolution is required.Examples:The reasoning of a physician in an intensive care unitIf 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.
20 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.
21 The ability to improve its competence and efficiency. Ability to learnThe 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.
22 Types of Agents Reflex Agent Reflex Agent with State Goal-based Agent Utility-Based AgentLearning Agent
25 State Management Reflex agent with state Incorporates a model of the worldCurrent state of its world depends on percept historyRule to be applied next depends on resulting statestate’ next-state( state, percept ) action select-action( state’, rules )
27 Incorporating Goals Rules and “foresight” Essentially, the agent’s rule set is determined by its goalsRequires knowledge of future consequences given possible actionsCan also be viewed as an agent with more complex state managementGoals provide for a more sophisticated next-state function
29 Incorporating Performance May have multiple action sequences that arrive at a goalChoose action that provides the best level of “happiness” for the agentUtility function maps states to a measureMay include tradeoffsMay incorporate likelihood measures
31 Incorporating Learning Can be applied to any of the previous agent typesAgent <-> Performance ElementLearning ElementCauses improvements on agent/ performance elementUses feedback from criticProvides goals to problem generator
32 هر لایه براي كنترل بخشي از رفتار عامل طراحي شده است. معماري سلسله مراتبياين معماري يك معماري لايهاي است كه به منظور پيادهسازي رباتهاي فيزيكي طراحي شده است. در اين رباتها، هوش مركزي يا مكانيزم كنترلي وجود ندارد.هر لایه براي كنترل بخشي از رفتار عامل طراحي شده است.EXPLOREWANDERAVOID OBSTACLESInputsActions
35 Properties of Environments Fully versus partially observableDeterministic versus stochasticEpisodic versus sequentialStatic versus dynamicDiscrete versus continuousSingle agent versus multiagent
36 How are agents builtA 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.
37 Why it is hardThe knowledge engineer has to become a kind of subject matter expert in order to properly understand expert’s 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).
38 Intelligent agents: Conclusion Intelligent agents are systems that can perform tasks requiring knowledge and heuristic methods.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.