0% found this document useful (0 votes)
3 views74 pages

Module 1 AI

The document provides an overview of Artificial Intelligence (AI), including its definition, history, foundational disciplines, and applications. It discusses various approaches to AI, such as thinking and acting humanly and rationally, and highlights the capabilities required for intelligent systems. Additionally, it outlines the advantages and disadvantages of AI, along with notable achievements and current state-of-the-art technologies in the field.

Uploaded by

testalu03
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views74 pages

Module 1 AI

The document provides an overview of Artificial Intelligence (AI), including its definition, history, foundational disciplines, and applications. It discusses various approaches to AI, such as thinking and acting humanly and rationally, and highlights the capabilities required for intelligent systems. Additionally, it outlines the advantages and disadvantages of AI, along with notable achievements and current state-of-the-art technologies in the field.

Uploaded by

testalu03
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Module 1

Introduction to AI : Artificial Intelligence: Definition and Applications ,


Foundations of Artificial Intelligence , History of Artificial Intelligence -
State of the Art .
Intelligent Agents: Agents and Environments , The Concept of Rationality,
Nature of Environments: Specifying the Task Environment, Properties of
Task Environment , Structure of Agents: Agent Programs, Simple Reflex
Agent, Model Based Reflex Agent, Goal Based Agent, Utility Based Agent,
Learning Agent (Concept Only, No Algorithm required)
Text Book:
Stuart Russell, Peter Norvig, “Artificial Intelligence: A Modern Approach”, 3rd Edition,
Prentice Hall, 2010.
ARTIFICIAL INTELLIGENCE
• According to the father of Artificial Intelligence, John McCarthy, it is
“The science and engineering of making intelligent machines, especially
intelligent computer programs”.
• Artificial Intelligence is a way of making a computer, a computer
controlled robot, or a software think intelligently, in the similar manner the
intelligent humans think.
• The term "artificial intelligence" is used to describe machines that mimic
"cognitive” functions that humans associate with other human minds, such
as "learning" and "problem solving”.
• AI is the branch of computer science that is concerned with the automation
of intelligent behavior.
• AI is the part of computer science concerned with designing intelligent
computer systems, that is, computer systems that exhibit the characteristics
we associate with intelligence in human behavior such as understanding
language, learning, reasoning and solving problems.
• AI is the exciting new effort to make computers think machines with
minds, in the full and literal sense.
• AI is the study of the computations that make it possible to perceive,
reason, and act.
• Goals of AI
• To Create Expert Systems − The systems which exhibit intelligent
behavior, learn, demonstrate, explain, and advice its users.
• To Implement Human Intelligence in Machines − Creating systems that
understand, think, learn, and behave like humans..
• General-purpose AI like the robots of science fiction is incredibly hard
Human brain appears to have lots of special and general functions,
integrated in some amazing way that we really do not understand at all
(yet).
• Special-purpose AI is more doable (non-trivial) E.g., chess/poker playing
programs, logistics planning, automated translation, voice recognition, web
search, data mining, medical diagnosis, keeping a car on the road.
Approach #1: Thinking Humanly
• AI is: “The exciting new effort to make computers think , machines with
minds, in the full and literal sense." (Haugeland, 1985)
• AI is: “The automation of activities that we associate with human thinking,
activities such as decision-making, problem solving, learning. (Bellman,
1978)
• Goal is to build systems that function internally in some way similar to
human mind.
Cognitive Intelligence: Workings of the human mind
• Traditional computer game players typically work much differently than
human players
• Massive look-ahead, minimal “experience”
• People think differently in experience, “big picture”, etc.
• Cognitive science tries to model human mind based on experimentation
• Cognitive modeling approach tries to act intelligently while actually
internally doing something similar to human mind.
Approach #2: Acting Humanly
• "The art of creating machines that perform functions that require intelligence when
performed by people." (Kurzweil,1990)
• "The study of how to make computers do things at which, at the moment, people
are better." (Rich and Knight, 1991)
• Ultimately to be tested by the Turing Test.
• To provide a satisfactory operational definition of intelligence
Intelligent capabilities
• The computer would need to possess the following capabilities:
• Natural language processing: to enable it to communicate successfully in
English.
• Knowledge representation: to store what it knows or hears.
• Automated reasoning: to use the stored information to answer questions
and to draw new conclusions.
• Machine learning: to adapt to new circumstances and to detect and
extrapolate patterns.
• Intelligence takes many forms, which are not necessarily best tested this
way.
Approach #3: Thinking rationally: The "laws of thought“ approach
• AI is: "The study of mental faculties through the use of computational
models.“ (Chamiak and McDermott, 1985).
• "The study of the computations that make it possible to perceive, reason,
and act.” (Winston, 1992).
• Approach firmly grounded in logic.
Approach #4: Acting rationally
• AI is: "Computational Intelligence is the study of the design of intelligent
agents." (Poole et al., 1998)
• Agents: something that acts i.e. perform some action.
• Rational agent is one that acts so as to achieve the best outcome or, when
there is uncertainty, the best expected outcome.
• "AI is concerned with intelligent behavior in artifacts." (Nilsson, 1998)
Acting rationally
• In solving actual problems, it’s what really matters.
• Behavior is more scientifically testable than thought.
• More general: rather than imitating humans trying to solve hard problems,
just try to solve hard problems.
APPLICATIONS OF AI

• Gaming − AI plays crucial role in strategic games such as chess, poker,


tic-tac-toe, etc., where machine can think of large number of possible
positions based on heuristic knowledge.
• Natural Language Processing − It is possible to interact with the computer
that understands natural language spoken by humans.
• Expert Systems − There are some applications which integrate machine,
software, and special information to impart reasoning and advising. They
provide explanation and advice to the users.
• Vision Systems − These systems understand, interpret, and comprehend
visual input on the computer. • For example, A spying aero plane takes
photographs, which are used to figure out spatial information or map of the
areas. • Doctors use clinical expert system to diagnose the patient. • Police
use computer software that can recognize the face of criminal with the
stored portrait made by forensic artist.
• Speech Recognition − Some intelligent systems are capable of hearing and
comprehending the language in terms of sentences and their meanings
while a human talks to it. It can handle different accents, slang words,
noise in the background, change in human’s noise due to cold, etc.
• Handwriting Recognition − The handwriting recognition software reads
the text written on paper by a pen or on screen by a stylus. It can recognize
the shapes of the letters and convert it into editable text.
• Intelligent Robots − Robots are able to perform the tasks given by a
human. They have sensors to detect physical data from the real world such
as light, heat, temperature, movement, sound, bump, and pressure. They
have efficient processors, multiple sensors and huge memory, to exhibit
intelligence. In addition, they are capable of learning from their mistakes
and they can adapt to the new environment.
Foundations of Artificial Intelligence
• The Foundations provides the disciplines that contributed ideas, viewpoints, and
techniques to AI.
• Philosophy
• Mathematics & Statistics
• Economics
• Neuroscience
• Psychology
• Computer Science and Engineering
• Control Theory and Cybernetics
• Linguistics
Philosophy
• Philosophy is the very basic foundations of AI.
• The study of fundamental nature of knowledge, reality and existence are
considered for solving a specific problem is a basic thing in AI.
• Philosophy defines that how can the formal rules be used to draw valid
conclusions.
• Without philosophy it is difficult to answer the following questions.
• How does the mind arise from physical brain?
• Where does the knowledge come from?
• How does the knowledge lead to action?
Mathematics & Statistics

• AI requires formal logic and probability for planning and learning.


• Computation required for analyzing relation and implementation.
• In AI, Mathematics and Statistics are most important for
• Proving theorems
• Writing algorithms
• Computations
• Decidability
• Tractability
• Modeling uncertainty
Economics
• Deals with investing the amount of money, and maximization of utility
with minimal investment.
• While developing an AI product we should make decisions for
• When to invest?
• How much to invest?
• How to invest?
• Where to invest?
• To answer these questions one should have knowledge about decision
theory, game theory, operation research and etc.
Neuroscience
• Neuroscience is the study of the nervous system, particularly the human
brain.
• Human brains are somehow different, when compared to other creatures,
man has the largest brain in proportion to his size.
• The brain consisted largely of nerve cells, or neurons and the observation
of individual neurons can lead to thought, action and consciousness of
one’s brain.
• How do brains process information?
• Each neuron consists of a cell body, or soma, that contains a cell nucleus. Branching
out from the cell body are a number of fibers called dendrites and a single long fiber
called the axon. The axon stretches out for a long distance, much longer than the
scale in this diagram indicates. Typically, an axon is 1 cm long , but can reach up to 1
meter. A neuron makes connections with 10 to 100,000 other neurons at junctions
called synapses. Signals are propagated from neuron to neuron by a complicated
electrochemical reaction. The signals control brain activity in the short term and also
enable long-term changes in the connectivity of neurons. These mechanisms are
thought to form the basis for learning in the brain. Most information processing goes
on in the cerebral cortex, the outer layer of the brain. The basic organizational unit
appears to be a column of tissue about 0.5 mm in diameter, containing about 20,000
neurons and extending the full depth of the cortex about 4 mm in humans.
Psychology
• The Scientific method to the study of human vision.
• Problem solving skill,
• How do people behave,
• Perceive,
• Process cognitive information, and
• Represent knowledge.
• How do humans and animals think and act?
Computer Science and Engineering
• Logic and inference theory, algorithms, programming languauges, and
system building are important parts of Computer Science.
• Computer hardware gradually changed for AI applications, Such as
the graphics processing unit(GPU), tensor processing unit(TPU), and
wafer scale engine(WSE).
• The amount of computing and quantum computers can solve very
complicated AI problems.
• The software side of computer science, supplied the operating
systems, programming languages, and tools needed to write modern
programs.
Computer Science and Engineering ….

• AI has founded many ideas in modern and mainstream computer


science, including
• Time sharing, interactive interpreters, personal computers with
windows and mice, rapid development environment, and
• Key concepts of symbolic, functional, declarative , and object oriented
programming.
• How can we build fast and efficient computer?
Control Theory
• Control theory helps the system to analyze, define, debug and fix
errors by itself.
• Developing self controlling machine, self-regulating feedback control
systems and the submarine are some examples of control theory.
• Calculus and matrix algebra, and the tools of control theory, provide
themselves to systems that are describable by fixed sets of continuous
variables, are foundation of AI.
Control Theory …
• Knowledge representation, grammars, computational linguistics or
natural language processing(NLP) are significant to developing AI
applications.
• The tools of logical inference and computations provide the language,
vision, and symbolic planning of agent programming.
• How can artifacts operate under their own control?
Linguistics
• Speech recognition is a technology which enables a machins to
understand the spoken language and translate into a machine readable
format.
• It is a way to talk with a computer, and on the basis of that command,
a computer can perform a specific task.
• It includes speech to text , text to speech.
• How does language relate to thought?
HISTORY OF AI
• 1943: early beginnings McCulloch & Pitts: Boolean circuit model of brain
• 1950: Turing Turing's "Computing Machinery and Intelligence“
• 1950s: initial promise
• Early AI programs, including
o Newell & Simon's Logic Theorist
o Samuel's checkers program
1956: birth of AI Dartmouth meeting: "Artificial Intelligence“ name adopted
• 1955-65: “great enthusiasm”
o Newell and Simon: GPS, general problem solver
o Gelertner: Geometry Theorem Prover
o McCarthy: invention of LISP - History of AI
• 1966—73: Reality dawns
o Realization that many AI problems are intractable.
o Limitations of existing neural network methods identified.
• 1969—85: Adding domain knowledge
o Development of knowledge-based systems
o Success of rule-based expert systems, E.g., DENDRAL, MYCIN
• But were brittle and did not scale well in practice
• 1986 - Rise of machine learning
o Neural networks return to popularity
o Major advances in machine learning algorithms and applications
• 1990 - Role of uncertainty
o Bayesian networks as a knowledge representation framework.
• 1995 - AI as Science
o Integration of learning, reasoning, knowledge representation
• 1995 –2011 Intelligent agents
• 2011–present: Deep learning, big data and artificial general intelligence
• Latest Achievements in AI (2018)
• Alibaba language processing AI outscores top humans at a Stanford
University reading and comprehension test, scoring 82.44 against 82.304
on a set of 100,000 questions.
• Announcement of Google Duplex, a service to allow an AI assistant to
book appointments over the phone.
• Advantages of Artificial Intelligence
• High Accuracy with less errors
• High-Speed
• High reliability
• Useful for risky areas
• Digital Assistant
• Useful as a public utility

• Disadvantages of Artificial Intelligence


• High Cost
The State of the ART
• What can AI do today? A concise answer is difficult because there are so many
activities in so many subfields.
• Robotic vehicles: A driverless robotic car named STANLEY sped through the
rough terrain of the Mojave dessert at 22 mph, finishing the 132-mile course first
to win the 2005 DARPA Grand Challenge. STANLEY is a Volkswagen Touareg
outfitted with cameras, radar, and laser rangefinders to sense the environment and
onboard software to command the steering, braking, and acceleration (Thrun,
2006). The following year CMU’s BOSS won the Urban Challenge, safely driving
in traffic through the streets of a closed Air Force base, obeying traffic rules and
avoiding pedestrians and other vehicles.
• Speech recognition: A traveler calling United Airlines to book a flight can have
the entire conversation guided by an automated speech recognition and dialog
management system.
• Autonomous planning and scheduling: A hundred million miles from Earth,
NASA’s Remote Agent program became the first on-board autonomous planning
program to control the scheduling of operations for a spacecraft. REMOTE
AGENT generated plans from high-level goals specified from the ground and
monitored the execution of those plans—detecting, diagnosing, and recovering
from problems as they occurred.
• Game playing: IBM’s DEEP BLUE became the first computer program to defeat
the world champion in a chess match when it bested Garry Kasparov by a score of
3.5 to 2.5 in an exhibition match (Goodman and Keene, 1997). Kasparov said that
he felt a “new kind of intelligence” across the board from him.

• Spam fighting: Each day, learning algorithms classify over a billion messages as
spam, saving the recipient from having to waste time deleting what, for many
users, could comprise 80% or 90% of all messages, if not classified away by
algorithms.
• Logistics planning: During the Persian Gulf crisis of 1991, U.S. forces deployed
a Dynamic Analysis and Replanning Tool, DART (Cross and Walker, 1994), to do
automated logistics planning and scheduling for transportation. This involved up
to 50,000 vehicles, cargo, and people at a time, and had to account for starting
points, destinations, routes, and conflict resolution among all parameters. The AI
planning techniques generated in hours a plan that would have taken weeks with
older methods.

• Robotics: The iRobot Corporation has sold over two million Roomba robotic
vacuum cleaners for home use. The company also deploys the more rugged
PackBot to Iraq and Afghanistan, where it is used to handle hazardous materials,
clear explosives, and identify the location of snipers.
• Machine Translation: A computer program automatically translates from Arabic
to English. The program uses a statistical model built from examples of
Arabic-to-English translations and from examples of English text totaling two
trillion words. None of the computer scientists on the team speak Arabic, but they
do understand statistics and machine learning algorithms.
INTELLIGENT AGENTS

• INTELLIGENCE
Ability of a system to:
• calculate
• reason
• perceive relationships and analogies
• learn from experience
• solve problems, comprehend complex ideas
• classify, generalize
• adapt new situations
•AGENTS
• An agent is anything that can be viewed as perceiving its environment
through sensors and acting upon that environment through actuators.
• Operates in an environment.
• Perceive its environment through sensors.
• Acts upon its environment through actuators/ effectors.
• Has Goals.
• A human agent has ears, eyes and other organs for sensors and legs, hand,
voice etc. for actuators.
• A robotic agent has camera, infrared range finders etc. as sensors and
various motors for actuators.
• Percept is the perceptual input of the agent.
• Percept sequence is the history of everything the agent has perceived.
• Agents choice of action depends on the entire percept sequence to date.
• Agent’s behavior is described by the agents function which maps the percept
behavior to an action. The agent function for an artificial agent will be
implemented by an agent program.
• This can be implemented as a table look-up.
•INTELLIGENT AGENTS
• An intelligent agent is an autonomous entity which act upon an environment
using sensors and actuators for achieving goals.
• An intelligent agent may learn from the environment to achieve
• their goals.
• Following are the main four rules for an AI agent:
• Rule 1: An AI agent must have the ability to perceive the environment.
• Rule 2: The observation must be used to make decisions.
• Rule 3: Decision should result in an action.
• Rule 4: The action taken by an AI agent must be a rational action.
• A thermostat is an example of an intelligent agent.
To illustrate these ideas, we use a very simple example—the vacuum-cleaner world. This
particular world has just two locations: squares A and B. The vacuum agent perceives
which square it is in and whether there is dirt in the square. It can choose to move left,
move right, suck up the dirt, or do nothing. One very simple agent function is the
following: if the current square is dirty, then suck; otherwise, move to the other square. A
partial tabulation of this agent function is shown below.
•Sensor and actuators
• An agent perceives its environment through sensors.
• The complete set of inputs at a given time is called a percept.
• The current percept or Sequence of percepts can influence the action of an
agent.
• It can change the environment through actuators/ effectors.
• An operation involving an actuator is called an action.
• Action can be grouped into action sequences.
The Concept of Rationality
• Rational agent is one that does the right thing
• Right thing means the sequence of actions done by agent at that time is
desirable.
• A performance measure evaluate the desirability.
• Performance measures are designed according to what one want in the
environment.
• RATIONAL AGENT
A rational agent is an agent which has clear preference, models uncertainty, and acts in a
way to maximize its performance measure with all possible actions.
What is rational at any given time depends on four things:
• The performance measure that defines the criterion of success.
• The agent’s prior knowledge of the environment.
• The actions that the agent can perform.
• The agent’s percept sequence to date.
definition of a rational agent:
For each possible percept sequence, a rational agent should select an action that is
expected to maximize its performance measure, given the evidence provided by the
percept sequence and whatever built-in knowledge the agent has.
• A rational agent is an agent which has clear preferences and models
uncertainty via expected values.
• A rational agent can be anything that makes decisions, typically a
person, firm, machine, or software.
• A rational agent always performs right action, where the right action
means the action that causes the agent to be most successful in the given
percept sequence.
• Rational agent is capable of taking best possible action in any situation.
• Performing actions with the aim of obtaining useful information is an
important part of rationality.
Omniscience, learning, and autonomy

• If the agent depends on the prior knowledge of its designer rather than on its own percepts, the
agent lacks autonomy.
• A rational agent should be autonomous- it should learn what it can to compensate for partial or
incorrect prior knowledge.
• Eg: A vaccum cleaning agent which learns to for see where and when additional dirt will appear will
do better than one that does not.
• At the start, the agent does not have complete autonomy.
• When the agent has little or no experience, it would have to act randomly unless the designer gave
some assistance.
• Just as evolution provides animals with just enough build-in reflex to survive long enough to learn
for themselves, an agent has some initial knowledge as well as the ability to learn.
• After sufficient experience of its environment, the behavior of a rational agents can become
independent of its prior knowledge.
• The incorporation of learning allows one to design a rational agent that will succeed in a vast
variety of environment.
PEAS Representation –Specifying the task of
environment
PEAS is a type of model on which an AI agent works upon.
• When an AI agent or rational agent is defined, then its properties can be under
PEAS representation model.
• It is made up of four words:
P : Performance measure
E : Environment
A : Actuators
S : Sensors
• Performance measure is the objective for the success of an agent’s behavior.
PEAS description of the task environment for an automated taxi
Properties of task environments
• Fully observable vs Partially observable
• Single agent vs multiagent
• Deterministic vs Stochastic
• Episodic vs Sequential
• Discrete vs Continuous
• Known vs unknown.
Fully observable vs Partially observable

• If the agent’s sensor gives it access to the complete state of the environment at each
point in time, the task environment is fully observable.
• A task environment is fully observable if the snsors detect all aspects that are
relevant to the choice of action.
• In fully observable environments, the agent need not maintain any internal state to
keep track of the world.
• An environment might be partially observable because of noisy or inaccurate
sensors or because parts of the state are simply missing from the sensor data
• Eg: if vaccum cleaner agent has only local dirt sensor and cannot say of there is
dirt in other rooms.
• Eg: automated taxi will not able to sense the entire environment
• If the agent has no sensors at all then the environment is unobservable.
Single agent vs multiagent

• Does an agent A(eg: taxi driver) have to view object B(another vehicle) as an
agent or as an object?
• If B is maximizing its performance metric(eg: in chess) which minimizes A’s
performance metric, it is a competitive multiagent environment. Therefore, chess
is a competitive multiagent environment.
• In taxi driving agent, avoiding collisions maximizes the performance metric of all
agents, so it is a partially cooperative multiagent environment. It is also partially
competitive as, eg: only one vehicle can occupy a parking space.
Deterministic vs Stochastic

• If the next state of the environment is completely determined by the present


state and the action executed by the agent, environment is deterministic
otherwise it is stochastic.
• An agent need not worry about uncertainty in a fully observable
deterministic environment.
• If the environment is partially observable, most often it is stochastic.
• Eg: Taxi-driving is stochastic as we cannot predict the behavior or traffic.
Also the tire may become flat or the engine can seize up without warning.
• The vacuum world is deterministic unless we introduce stochastic elements
like dust appearing randomly or an unreliable suction mechanism.
• An environment is uncertain if it is not fully observable or not deterministic.
Episodic vs Sequential

• In an episodic task environment, the agent’s experience is divided into


atomic episodes.
• In each episode, the agent receives a percept and performs a single action.
• The next episode does not depends on the actions taken in previous
episodes.
• Eg: an agent that has to spot defective parts in an assembly line. Each
decision is based on the current part regardless of previous decisions. The
current decision doesn’t affect whether the next part is defective.
• Episodic environments are much simpler than sequential as the agent does
not need to think ahead.
Discrete vs Continuous

• This applies to the state of the environment, to the way is handled and
to the percepts and actions of the agent.
• Eg: chess has a finite number of discrete states and discrete set of
percepts and actions.
• Eg:
• Taxi driving is a continuous state and continuous time problem. The
speed and location of the taxi and vehicles sweep through a range of
continuous values smoothly over time. Actions are also continuous.
Input from digital cameras is of continuously varying intensities and
locations.
Known vs unknown.

• In a known environment, the outcome for all actions are given.


• If the environment is unknown, the agent will have to learn how it works in
order to make good decisions.
• It is possible for a known environment to be partially observable. Eg: in
solitaire card game, I may know the rules but do not know the cards not yet
turned over.
• Conversely, an unknown environment can be fully observable. Eg: in a new
video game, the screen may show the entire game state, but I still don’t
know what the buttons do until I try them.
Structure of an AI Agent
• An agent program which implements the agent function. The structure of an
intelligent agent is a combination of architecture and agent program. It can be viewed
as:
Agent = Architecture + Agent program
• Following are the main three terms involved in the structure of an AI agent:
• Architecture: Architecture is machinery that an AI agent executes on.
• Agent Function: Agent function is used to map a percept to an action.
f: P* → A
• Agent program: Agent program is an implementation of agent function. An agent
program executes on the physical architecture to produce function f.
TYPES OF AI AGENTS
1. Simple Reflex Agent
• Choose actions only based on the current percept.
• Rational only if a correct decision is made only on the basis of current
precept.
• Their environment is completely observable.
• Condition-Action Rule − It is a rule that maps a state (condition) to an
action.
2. Model-based reflex agent
• A model of the world to choose their actions. They maintain an
internal state.
• Model − knowledge about “how the things happen in the world”.
• Internal State − It is a representation of unobserved aspects of current state
depending on percept history.
• Updating the state requires the information about
How the world evolves.
How the agent’s actions affect the world.
3. Goal-based agents
• Choose their actions in order to achieve goals.
• Goal-based approach is more flexible than reflex agent since the knowledge
supporting a decision is explicitly modelled, thereby allowing for
modifications.
• Goal − It is the description of desirable situations.
4. Utility-based agent
• Choose actions based on a preference (utility) for each state.
• Goals are inadequate when there are conflicting goals, out of which
only few can be achieved.
• Goals have some uncertainty of being achieved and you need to
weigh likelihood of success against the importance of a goal.
5. Learning agent
• A learning agent in AI is the type of agent which can learn from its
past experiences, or it has learning capabilities.
• It starts to act with basic knowledge and then able to act and adapt
automatically through learning.
• A learning agent has mainly four conceptual components, which are:
Learning element: It is responsible for making improvements by learning
from environment
Critic: Learning element takes feedback from critic which describes that
how well the agent is doing with respect to a fixed performance standard.
Performance element: It is responsible for selecting external action.
Problem generator: This component is responsible for suggesting actions
that will lead to new and informative experiences.

You might also like