Foundations & earlier writing · April 13th, 2019

What is an Environment

Welcome back to my artificial intelligence essay series. Last time, we made our first foray into artificial intelligence by exploring the concept of agents. Today, I want to talk about the environment. We can explore what an environment is and why it may be more important than agents. Without further ado, let's get into it!

Environments and Things

Generally speaking, what environment means in artificial intelligence is the same as you or I would understand the term in the real world. For example, I'm writing this essay in my office. Earlier, I was in my bedroom environment. Later, all of us might be in a classroom environment.

Each of these environments consists of everything (taken literally) which exists in such environments. Luckily, we have the means to scope this concept of everything.

One way to scope the environment is from the perspective of the agent. How much of the environment are we allowing an agent to perceive at any one time dictates the real-time definition of that environment. If the agent knows about the entire environment, we can refer to such an environment as fully observable. Conversely, partial observation is a limited (the degree to which is part of the environmental definition) view of the environment.

Another way to limit the environment is by instantiating it as deterministic or stochastic. We can still make the environment monolithic according to its specification or we can define loose beginning rules and allow the environment to randomly evolve. At the same time, I think a less frequently considered aspect of environmental scope is whether the agent interacts with the environment and its inhabitants just once or multiple times over time. The difference is the degree to which the agent needs to be able to fully act versus iteratively works towards a goal.

Definition Matters

Defining the environment along these lines (and others) implies there is an infinite number of potential environments. I agree. I also think that's to our advantage when mapping a given problem (space) to our environment construct.

I'd suggest the better we define and scope and environment, the higher the resolution our solution will be in the end. Thus, we're not referring to the Environment. I'm also not referring to any type of ecosystem. It isn't the size of these general concepts which rules them out as useful but instead the scale of their meaning in my mind. Stated simply, my office means something as it can be mapped to various problem spaces whereas the general Environment cannot facilitate the same.

Lumberjacks and Forests

Let's get back to our lumberjack now. We've identified the lumberjack as our agent. If we're going to solve any problems, we need a construct to represent the problem space. It just so happens that the problem space is captured as an environment.

For instance, the problem we want to know how to efficiently produce x pieces of wood in y time. So, we construct our forest as the environment. We need parameters of course.

Time is a fixed bound in the problem and therefore we want the lumberjack agent to have full access to the total forest. Further, we determine the makeup of the forest using historical examples of tree stand patterns, tree sizes, obstacles, other forest lifeforms in the forest and so forth. The problem of efficiently producing pieces of wood is not extraneously impacted this way. We may opt to instantiate the agent episodically so that we can observe how the solution (an efficient algorithm for chopping trees and cutting into wood) iteratively develops.

Looking Forward

How the agent behaves in our little forest environment is another matter. Thus, the next logical step is to put the concepts of agents and environments together. In doing so, we can investigate specific types of agent behaviors and map those back to the meta-concepts of problems such as lumberjacking a forest.

← Back to essays