DEV Community

Will Velida
Will Velida

Posted on

A Quick Introduction to Artificial Intelligence Environments.


Artificial intelligence programs can also be referred to as "intelligent agents" that interact with different types of environment. Agents interact with environments in two main ways: perception and action.

In AI, perception is the process of transforming something from the environment into internal representations while action, when performed by the agent, changes the environment. If we use an example of AI in finance, we could say that a trading agent perceives environmental factors of a market such as a stock market or commodities marker through the form of rate news. Rate news in terms of AI is what we call a "sensor". Sensors are what agents use to get things from their environment to perform their perception. The trading agent may use this information to make trades based on the information they perceive from their sensors to influence the market to their advantage. The trades is what we call an "actuator" because the trades are the action the agent is making in order to influence the market.

In AI, this cycle is known as the Perception Action Cycle (represented below):

Perception Action Cycle

Of course, what we would consider environment would entirely matter of the boundaries of the agent. While knowing where the environment ends and the agent begins is complex sometimes, we can classify environments to predict how difficult the AI task will be.

Fully Observable

When it is possible to determine the complete state of the environment each time your agent needs to make the optimal decision. For example, a checkers game can be classed as fully observable, because the agent can observe the full state of the game (how many pieces the opponent has, how many pieces we have etc.)

Partially Observable

Contrast to fully observable environments, Agents may memory of past decision to make the optimal choice within their environment. An example of this could be a Poker game. The Agent may not know what cards the opponent has and will have to make best decision based on what cards the opponent has played.


Deterministic environments are where your agent's actions uniquely determine the outcome. So for example, if we had a pawn while playing chess and we moved that piece from A2 to A3, that would always work. There is no uncertainty in the outcome of that move.


Unlike deterministic environments, there is a certain amount of randomness involved. Using our poker game example, when a card is dealt there is a certain amount of randomness involved in which card will be drawn.


In discrete environments, we have a finite amount of action choices  and a finite amount of things that we can sense. Using our checkers example again, there are a finite amount of board positions and a finite amount of things we can do within the checkers environment.


In continuous environments, many actions can be sensed by our agents. To apply this to a medical context, a patient's temperature and blood pressure are continuous variables, and can be sensed by medical agents designed to capture vital signs from patients and then recommend diagnostic action to healthcare professionals.


In benign environments, the environment has no objective by itself that would contradict your own object. For example, when it rains it might ruin your plans to play cricket (great game, I promise) but it doesn't rain just because Thor (God of Thunder) doesn't want you to play cricket. It does it through factors unrelated to your objective.


Adversarial environments on the other hand do get out to get you. This is commonplace in games, such as video games, where bosses and enemies are out to destroy your plans of getting that high score, or in chess where an AI would be out to checkmate you.

This is just a quick and basic overview of what type of environments AI or agents might operate in. I'd recommend that you look around if you want to dive deeper into a specific environment, but hopefully this article has provided you with a good starting point. Maybe when I understand these concepts a bit better, I'll explain them at greater length.

Top comments (1)

nabdak profile image

Thanks so much for this explanation. I need to know what are the environment properties for the n-queens problem, because I still confused about the difference between the properties.