1 | Artificial intelligence and agents Flashcards
What is an agent?
Someone who acts upon the world
What is an environment?
A given world. For example a room
What elements does the agent rely on?
- Prior knowledge - about the agent and the environment
- History - of interaction with the environment, which is composed of
- Stimuli - received from the current environment, which can include observations about the environment, as well as actions that the environment imposes on the agent and
- Past experiences - of previous actions and stimuli, or other data, from which it can learn
- Goals - that it must try to achieve or preferences over states of the world
- Abilities - the primitive actions the agent is capable of carrying out.
What is design time computation?
is the computation that is carried out to design the agent. It is carried out by the designer of the agent, not the agent itself.
What is offline computation?
is the computation done by the agent before it has to act. It can include compilation and learning. Offline, an agent can take background knowledge and data and compile them into a usable form called a knowledge base. Background knowledge can be given either at design time or offline.
What is online computation?
is the computation done by the agent between observing the environment and acting in the environment. A piece of information obtained online is called an observation. An agent typically must use its knowledge base, its beliefs and its observations to determine what to do next.
What two strategies are there to building an agent?
Simplify the environment
The first is to simplify environments and build complex reasoning systems for these simple environments. For example, factory robots can do sophisticated tasks in the engineered environment of a factory, but they may be hopeless in a natural environment. Much of the complexity of the task can be reduced by simplifying the environment. This is also important for building practical systems because many environments can be engineered to make them simpler for agents.
Simplify the agent
The second strategy is to build simple agents in natural environments. This is inspired by seeing how insects can survive in complex environments even though they have very limited reasoning abilities. Researchers then make the agents have more reasoning abilities as their tasks become more complicated.
What is a general difference between a computer program and AI?
Computer program: procedural
AI: declarative
One way that AI representations differ from computer programs in traditional languages is that an AI representation typically specifies what needs to be computed, not how it is to be computed.
What does the general framework of task solving consist of?
- Determine what constitutes a solution (Solve)
- Represent the task in a way a computer can reason about (Represent)
- Use the computer to compute an output, which is answers presented to a user or actions to be carried out in the environment (Compute)
- Interpret the output as a solution to the task. (Interpet)
What is knowledge?
Knowledge is the info about a domain that can be used to solve tasks in that domain
What is a representation language?
A representation language is used to express the knowledge that is used in an agent
What makes a good representation language?
rich enough to express the knowledge needed to solve the task.
as close to a natural specification of the task as possible; it should be compact, natural, and maintainable. It should be easy to see the relationship between the representation and the domain being represented, so that it is easy to determine whether the knowledge represented is correct. A small change in the task should result in a small change in the representation of the task.
amenable to efficient computation, or tractable, which means that the agent can act quickly enough. To ensure this, representations exploit features of the task for computational gain and trade off accuracy and computation time.
able to be acquired from people, data and past experiences.
What is an optimal solution?
An optimal solution to a task is one that is the best solution according to some measure of solution quality.
For example, a robot may need to take out as much trash as possible; the more trash it can take out, the better.
What is an satisficing solution?
A satisficing solution is one that is good enough according to some description of which solutions are adequate.
What is an approximately optimal solution?
An approximately optimal solution is one whose measure of quality is close to the best that could theoretically be obtained.
Typically, agents do not need optimal solutions to tasks; they only need to get close enough. For example, the robot may not need to travel the optimal distance to take out the trash but may only need to be within, say, 10% of the optimal distance.