An environment is the physical or virtual terrain that an agent work in e.g. Mars, chess board, Internet, etc. Complexity of the decision-making process can be affected by the environment. Russell and Norvig classify environments as follows:
accessible or inaccessible
An agent playing chess can obtain complete, accurate, and current information on the state of the environment. Such environments are accessible. Agents built for accessible environments are simpler than agents built for inaccessible environments.
deterministic or non-deterministic
An action in a deterministic environment results in a single guaranteed effect. An agent knows where a piece would land it is moved. However, an agent kicking a ball towards the goal cannot guarantee whether the ball would reach the goal or blocked by another agent. It is easier to build agents for deterministic environments.
static or dynamic
A static environment only changes with actions performed by the agent. Chess game and football game are dynamic environments being changed by other agents.
discrete or continuous
If there are fixed and finite number of actions and percepts in an environment then it is a discrete environment e.g. a chess game. Mars rover is in a continuous environment. It is easier to build agents for discrete environments.
episodic or non-episodic
In a episodic environment, an agent performs discrete actions which are neither influenced by past actions nor affect future actions e.g. a smoke detector. It keeps no records of past and stores nothing for future. When smoke is detected, it rings. Agents in episodic environments are easier to code.
If the environment is deterministic but very complex then it is essentially non-deterministic. The most complex environments are inaccessible, non-deterministic, non-episodic, dynamic, and continuous.