157 lines
9.0 KiB
TeX
157 lines
9.0 KiB
TeX
\chapter{Intelligente Agenten}
|
|
\label{intelligente agenten}
|
|
Intelligente Agenten stellen das zentrale Konzept für den Entwurf von Systemen der \ac{KI} dar.
|
|
Sie dienen gleichzeitig als Abstraktionsschicht und als interdisziplinäres Kommunktionsmodell.
|
|
Die Agenten haben dabei folgende Eigenschaften:
|
|
\begin{itemize}
|
|
\item sie verfolgen ihre Ziele autonom
|
|
\item sie agieren in Umgebungen, die sich ändern können
|
|
\item sie sind gegen Probleme in Ein und Ausgabe robust (\say{prepared for failure})
|
|
\item sie sind nicht unbedingt physikalisch oder graphisch verkörpert
|
|
\end{itemize}
|
|
\includegraphics[width = .6\textwidth]{IntelligentAgent.png}\\
|
|
Der Agent besteht hierbei aus einer Kombination von Architektur(Sensorik, Aktorik, ausführender Computer ($m$)) und dem Agentenprogramm (\ref{agentenprogramme}).
|
|
Hierbei ist die Optimalität des Agenten begrenzt durch:
|
|
$$ AG_m = \{Ag | Ag \in AG \text{und der Agent }Ag\text{ kann auf }m\text{ implementiert werden}\}$$
|
|
|
|
\section{Abgrenzungen}
|
|
\label{intelligente agenten: abgrenzungen}
|
|
\includegraphics[width = \textwidth]{agenten_abgrenzung.png}
|
|
|
|
\section{Rationalität}
|
|
\label{agenten: rationalitaet}
|
|
Ein Agent ist dann \say{rational}, wenn er auf Basis jeder möglichen \say{Wahrnehmungsfolge} immer die Aktion auswählt, die sien Leistungsbewertung maximiert.
|
|
Er wählt also die Aktion/ Aktionsfolge, die den maximalen erwarteten Nutzen (\ref{nutzentheorie}) bringt.
|
|
Hierbei wird keine Allwissenheit (\ref{agenten: allwissenheit}) des Agenten vorausgesetzt.
|
|
Was zu einem gegebenen Zeitpunkt rational ist hängt ab von:
|
|
\begin{itemize}
|
|
\item der Leistungsbewertung, die das Erfolgskriterium definiert
|
|
\item dem Vorwissen des Agenten über seine Umgebung
|
|
\item den Aktionen, die der Agent ausführen kann
|
|
\item der bisherigen Wahrnehmungsfolge des Agenten
|
|
\end{itemize}
|
|
|
|
\section{Allwissenheit}
|
|
\label{agenten: allwissenheit}
|
|
Ein Agent ist dann \say{allwissend}, wenn er mit seiner Sensorik alle Umgebungszustände $S$ (States) wahrnehmen kann.
|
|
Man spricht hierbei von \say{percept}:
|
|
$$\text{percept}: S\rightarrow P$$
|
|
\begin{itemize}
|
|
\item $S$: eine Menge von States
|
|
\item $P$: eine nicht-leere Menge von Wahrnehmungen (Perceptions)
|
|
\end{itemize}
|
|
Für zwei Zustände $s_1\in S$ und $s_2\in S$ gilt $s_1\asymp s_2$ falls $\text{percepts}(s_1)=\text{percepts}(s_2)$.
|
|
Mit anderen Worten: $\asymp$ teilt $S$ in gegenseitig ununterscheidbare Mengen von States.
|
|
$|\asymp|$ gibt folglich die Effektivität der Sensorik an.
|
|
Wenn $|\asymp|=|S|$ ist, kann der Agent alle States unterscheiden und ist daher allwissend.
|
|
|
|
\section{Leistungsbewertung}
|
|
\label{agenten: leistungsbewertung}
|
|
Die Leistungsbewertung ist individuell für jeden Agenten.
|
|
Hierbei werden Kriterien für den Erfolg des Verhaltens eines Agenten definiert.
|
|
Es ist wichtig, dass die Kriterien möglichst gut definiert sind, denn es gilt:\\
|
|
\say{What you measure is what you get!}\\
|
|
Oder mit den Worten von Norbert Wiener:\\
|
|
\say{We had better be quite sure that the purpose put into the machine is the purpose which we really desire}
|
|
|
|
\subsection{Beispiele}
|
|
\label{leistungsbewertung: beispiele}
|
|
\includegraphics[width=\textwidth]{beispiele_leistungsbewertung_1.png}\\
|
|
\includegraphics[width=\textwidth]{beispiele_leistungsbewertung_2.png}\\
|
|
|
|
\section{Nutzentheorie}
|
|
\label{nutzentheorie}
|
|
Bei der Nutzentheorie geht es darum durch die Vorgabe einer Nutzenfunktion $U$ den Agenten darin anzuweisen \textbf{WAS} er zu tun hat, \textbf{ohne} ihm zu sagen, \textbf{WIE} er es tun soll.
|
|
Je besser die aufgestellte Nutzenfunktion $U$ ist, desto näher kommt der Agent an die bestmögliche Leistung heran.
|
|
Die Nutzenfunktion $U$ ist definiert durch:
|
|
$$ U:E\rightarrow \mathbb{R}~;E:\text{wahrgenommene Umgebung}$$
|
|
Jede Aktion $A$, die vom Agenten ausgeführt wird hat die möglichen Ergebniszustände $\text{Ergebnis}_i(A)$.
|
|
Der erwartete Nutzen $EU$ ist hierbei gegeben durch:
|
|
$$EU(A|E) = \sum_i P(\text{Ergebnis}_i(A)|\text{Ausführen}(A),E) U(\text{Ergebnis}_i(A))$$
|
|
|
|
|
|
\section{Umgebungen und Arbeitsumgebungen}
|
|
\label{umgebung und arbeitsumgebung}
|
|
Die Definition von \ac{PEAS} ist der erste Schritt in der Entwicklung eines Agenten
|
|
|
|
\subsection{\ac{PEAS} Beispiele}
|
|
\label{peas beispiele}
|
|
\includegraphics[width=\textwidth]{beispiele_PEAS.png}
|
|
|
|
\subsection{Eigenschaften von Umgebungen}
|
|
\label{umgebungen: eigenschaften}
|
|
\begin{itemize}
|
|
\item \textbf{Beobachtbarkeit:}\\
|
|
Wenn die Sensorik jederzeit die gesamte Umgebung erfasst ist diese \textbf{vollständig beobachtbar}, sonst \textbf{teilweise beobachtbar}.
|
|
\item \textbf{Determinismus:}\\
|
|
Wenn der Folgezustand einer Umgebung vollständig durch den Agentenzustand und seine Aktion bestimmt ist, dann ist diese \textbf{deterministisch}, sonst \textbf{stochastisch}.
|
|
\item \textbf{Episodisch oder Sequentiell:}\\
|
|
Eine Umgebung ist \textbf{episodisch}, wenn Wahrnehmungs- und Ausführungsfolgen in voneinander unabhängige Episoden unterteilt sind.
|
|
Falls die Episoden aufeinander aufbauen und daher Kurzzeitaktionen eine Langzeitwirkung haben, ist die Umgebung \textbf{sequentiell}.
|
|
\item \textbf{Dynamik:}\\
|
|
Die Umgebung ist \textbf{dynamisch}, falls sie sich auch dann verändert, wenn der Agent keine Aktion ausführt.
|
|
Sonst ist sie \textbf{statisch}.
|
|
\item \textbf{Diskret oder stetig:}\\
|
|
\begin{itemize}
|
|
\item Umgebungen, Aktionen und Wahrnehmungen sind \textbf{diskret}, wenn ihre Ausprägungen eine diskrete Menge an Zuständen haben; sonst \textbf{stetig}
|
|
\item Die Zeit ist \textbf{diskret}, wenn sie sich sprunghaft verändert; sonst \textbf{stetig}
|
|
\end{itemize}
|
|
\item \textbf{Einzel- oder Multiagent:}\\
|
|
Ein \textbf{Einzelagent} löst eigenständig ein Problem, wohingegen \textbf{Multiagentenumgebungen} kooperativ oder konkurrierend sein können
|
|
\end{itemize}
|
|
|
|
\subsubsection{Beispiele}
|
|
\label{umgebungseigenschaften: beispiele}
|
|
\includegraphics[width=\textwidth]{beispiele_umgebungseigenschaften.png}
|
|
|
|
\section{Agentenprogramme}
|
|
\label{agentenprogramme}
|
|
\subsection{Reflex-Agent}
|
|
\label{reflex-agent}
|
|
\includegraphics[width=\textwidth]{reflex-agent.png}
|
|
|
|
\subsection{Modellbasierter Reflex-Agent}
|
|
\label{model-based reflex-agent}
|
|
\includegraphics[width=\textwidth]{model-based_reflex-agent.png}
|
|
|
|
\subsection{Zielbasierter Agent}
|
|
\label{goal-based agent}
|
|
\includegraphics[width=\textwidth]{goal-based_agent.png}
|
|
|
|
\subsection{Nutzenorientierter Agent}
|
|
\label{utility-oriented agent}
|
|
\includegraphics[width=\textwidth]{utility-oriented_agent.png}
|
|
|
|
\subsection{Lernender Agent}
|
|
\label{learning agent}
|
|
\includegraphics[width=\textwidth]{learning_agent.png}
|
|
|
|
\subsection{Softwarearchitekturen für Agentenprogramme}
|
|
\label{software architecture for agent programs}
|
|
{\large\color{red}Nur Subsumption Architecture gezeigt. Weitere Architekturen in Vorlesung 02!}
|
|
|
|
\subsubsection{Subsumption Architecture}
|
|
\label{subsumption architecture}
|
|
Rodney Brooks' \say{subsumption architecture} ist besonders gut für den Aufbau von Reflex-Agenten (\ref{reflex-agent}) geeignet,
|
|
da die Architektur direkt aus der Wahrnehmung eine Aktion erzeugt.
|
|
Bei dieser Architektur sind die einzelnen Verhaltensziele als priorisierte Schichten aufgebaut.
|
|
\begin{tabular}{|p{.475\textwidth}|p{.475\textwidth}|}
|
|
\hline
|
|
\textbf{Vorteile} & \textbf{Nachteile}\\
|
|
\hline
|
|
\begin{itemize}
|
|
\item Einfach (Schichten sind abgeschlossene Verhalten)
|
|
\item deterministisch (daher echtzeitfähig)
|
|
\item Parallelität in der Ausführung
|
|
\end{itemize} &
|
|
\begin{itemize}
|
|
\item Verhalten fest implementiert und von Umgebung abhängig
|
|
\item Gesamtverhalten aufgrund von der dynamischen Aktionsauswahl schwer abschätzbar
|
|
\item keine Langzeitentscheidungen
|
|
\end{itemize}\\
|
|
\hline
|
|
\end{tabular}
|
|
|
|
\paragraph{Beispiel: Karte erkunden}\mbox{}\\
|
|
\includegraphics[width = \textwidth]{beispiel_subsumption_architecture.png}
|