When I use a word Artificial intelligence
if you happen to read about new technologies, you are most likely to hear the words Artificial intelligence more often than any other words. AI itself is probably the most outstanding creation of humankind which is largely unexplored and growing exponentially if I can say.
AI is about unleashing one of the most amazing things in the universe, Intelligence. the technology that can learn much faster than us, and solve computationally hard problems humans like me or you can’t solve with the same speed and accuracy.
What is AI anyway?
If you think about AI, in the context of machines or technology you think about intelligent machines or intelligent software. let’s focus on the word intelligence.
We often tend to use word intelligence to describe things we don’t know how to explain or how they work, if we can explain them we just say they are algorithms or formulas designed for a specific task. It’s only intelligence if we can’t explain then. This definition implies that anything we design is not intelligent because we would know how it works.
Like us human being we consider ourselves intelligent because we don’t understand well how our brains works. Once we understand that we will not consider ourselves as intelligent anymore. or imagine yourself studying mathematics for the first time, you might wonder how your teacher can solve those simple mathematics problems, but when you grow up you realize that it was simple and you might not consider your primary math teacher as an intelligent person if you are asked.
But that’s not how we should define intelligence, for AI to be productive the concept of intelligence should be defined in the concept of a task, for example, if my goal is to plan flights with the lowest possible cost and my system can do it with a decent of success, I consider my system as intelligence at flight planning. it just turns out that humans are intelligent in doing a lot of different things. Intelligent systems tend to apply concepts and techniques like search, probabilistic planning, and logic to achieve a certain goal.
To design an intelligence system one must understand the task or problem domain.
We refer to a system or AI program as the Agent, and the surroundings or anything that can influence or have an impact on our system’s behaviour in the environment. You may only consider the software as the agent and the other hardware components would be external to the agent and that’s part of the environment. or you might consider the whole system as the agent, it depends on context.
Let's take an example of the agent and its environment. For example like a self-driving car, we might consider a car as an agent and the surroundings as an environment, whether it's something near our agent, the agent's position on the road, road width, distance from a traffic light or maybe the vehicle's current speed. those are some properties that define our agent environment states.
An agent interacts with the environment by sensing its properties and it is known as perception.
we need the state of the environment at every stage to be able to examine our agent and define the next move towards our goal state.
The process by which the agent decides what action to take based on perceived input is known as cognition.
as you can guess much of the discussion about AI focuses on cognition (reasoning and decision-making) just human-like behaviours. like in self self-driving car example the agent can perceive the traffic light state and decide whether to stop or keep going.
Some agent directly associate their action with what is perceived or have very simple pre-programmed behaviours like an automated light that sense something and turn on the light automatically these are referred to as reactive or behaviour-based agents.
On the other side some agents deliberate in the form of non-trivial processes such as game-playing agents or flight planners. we can classify this agent depending on the process they do like planning agents …, just keep in mind that it’s simple to accomplish complicated behaviour by layering simple reactive control.
Types of Learning in Artificial Intelligence
When someone asks you to describe different types of artificial intelligence systems, you might classify them based on their functionality or their evolvement. Let's start with evolution, there are three steps AI can develop or evolve.
- Artificial Narrow Intelligence
- Artificial General Intelligence
- Artificial super intelligence
Artificial Narrow Intelligence: is a stage of AI which involves a machine that can only perform predefined tasks, A simple machine has no thinking capability at this stage. most of the current AI systems are far into this stage I guess.
Artificial General Intelligence: At this stage, machines can think and make decisions just like humans do, and we are not far off this stage currently.
Artificial superintelligence: at this stage, the machine can outperform humans. we are kind of far off this stage but people described it in some movies, where machines have taken over the world. and we are better off this I think.
Based on the functionality of AI systems, AI can be classified into the following types:
- Reactive machines AI
- Limited memory AI
- Theory of Mind AI
- Self-aware AI (AGI)
Reactive machines AI: The most basic types of AI systems have the ability neither to form memories nor to use past experiences to inform current decisions, it's purely reactive. for example, a chess-playing agent who observes opponent moves and their position to decide the next best move.
Limited memory AI: AI can make informed and better decisions by looking into the past data from its memory. for example, self-driving cars can look into past decisions and their effect to decide which action to take in a certain scenario.
Theory of Mind AI: This kind of AI mainly focuses on emotional intelligence, this type of AI is not only the form of representations about the world but also about other agents or entities in the world.
Self-aware AI(AGI): This kind of AI is a bit far given current systems. However, in the future, it is possible to build systems that can form representations about themselves. yes, a machine that has consciousness.
To classify AI problems use properties of the environments and components of the state that need to be captured.
An environment can be fully observable when your agent can see the entire environment or partially observable like in a self-driving car where you can't see the entire environment
like playing a chess game task where the agent can see the entire board, it's fully observable.
It can be deterministic where an agent knows for sure the result of each action it takes or stochastic where an agent is not sure of the result of its actions.
for example, in Recognizing the Handwritten Text task, the environment is stochastic. There is uncertainty about the result because there are several possible solutions.
An environment can be discreet where there is a finite number of actions you can take or continuous where the number of possible states is infinite.
Like playing a Poker task, it is discreet because there are a finite number of actions an agent can take.
It can be benign where the agent t is the only one taking actions that intentionally affect its goal. or it could be adversarial where there are one or more agents that take actions to defeat its goal.
for example, when playing a chess task, it is adversarial because the agent is playing against another opponent who is taking action to defeat the agent.
In all this, what’s AI?
An intelligence system takes action to maximize its chance to achieve the desired goal, which means it requires the agent to behave optimally however it is hard to find an optimal solution given the constraints the agent might face for example a partially observable environment, limited computational resources such as memories and processing speed.
Intelligent agents should not be expected to behave optimally but for the sake of quantifying our agent intelligence, we can come up with a level of performance or bond that we desire our agent to meet or exceed. for example, we might want our flight planning agent to minimize the cost by 30% or so. This is known as bounded optimality.
To me, AI is a branch of computer science concerned with building intelligent machines that perform intelligent tasks.