Umgebungsprogramm ist die Bezeichnung für eine Software, die eine Umgebung für einen Software-Agenten bereitstellt.
Meist entstehen Agentensysteme zuerst am Computer, bevor sie auf realen Architekturen (z. B. Robotern) eingesetzt werden. In dieser Entwicklungsphase dienen Umgebungsprogramme den Entwicklern als Testumgebung für den Agenten.
Vorteile der Programme sind die gute Überwachbarkeit und die leichte Manipulier- sowie Variierbarkeit der Umgebung.
Man unterscheidet fünf Umgebungseigenschaften:
Eine Umgebung ist zugänglich genau dann, wenn der Agent durch seine Sensoren ein vollständiges Bild seiner Umgebung erhält. (Sensoren melden alle Aspekte der Welt die für die Aktionsfindung nötig bzw. hilfreich sind.)
Eine Umgebung ist deterministisch genau dann, wenn der Folgezustand der Umgebung nur vom aktuellen Zustand und der Aktion des Agenten abhängt.
Eine Umgebung ist episodisch genau dann, wenn sich alle Wahrnehmungen des Agenten in Episoden einteilen lassen. (Die Aktionen sind nur von den Wahrnehmungen der aktuellen Episode abhängig.)
Eine Umgebung ist dynamisch genau dann, wenn sie sich während der Aktionsfindung verändern kann.
Sonderfall semidynamisch: Die Umgebung ist an sich statisch. Allerdings muss der Agent unter Zeitdruck entscheiden, hat also nicht die Möglichkeit, in jedem Fall alle Aspekte der Umgebung auszuwerten.
Eine Umgebung ist diskret, wenn es eine klar unterscheidbare und wohldefinierte Anzahl von Wahrnehmungen und Aktionen gibt.