intelligente Agenten hinzugefügt

This commit is contained in:
paul-loedige 2021-02-02 00:05:54 +01:00
parent 177cd322ed
commit 70705afcf4
18 changed files with 171 additions and 4 deletions

View File

@ -6,4 +6,5 @@
\acro{AI}{Artificial Intelligence} \acro{AI}{Artificial Intelligence}
\acro{ML}{Machine Learning} \acro{ML}{Machine Learning}
\acro{MI}{Maschinelle Intelligenz} \acro{MI}{Maschinelle Intelligenz}
\acro{PEAS}{Performance, Environment, Actuators, Sensors (Leistung, Umgebung, Aktuatoren, Sensoren)}
\end{acronym} \end{acronym}

View File

@ -1,5 +1,5 @@
%all the main content goes here %all the main content goes here
\pagenumbering{arabic} \pagenumbering{arabic}
\input{chapters/Einführung.tex} \input{parts/Einführung.tex}
\input{chapters/Agenten.tex} \input{parts/Agenten.tex}

View File

@ -34,3 +34,6 @@ rightsub = \grq%
\usepackage{anyfontsize} \usepackage{anyfontsize}
%bibliography %bibliography
\usepackage[square, numbers]{natbib} \usepackage[square, numbers]{natbib}
%math
\usepackage{amsmath}
\usepackage{amssymb}

View File

@ -1 +0,0 @@
\chapter{Intelligente Agenten}

View File

@ -0,0 +1,156 @@
\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}

View File

@ -1,21 +1,26 @@
\chapter{Einführung} \chapter{Einführung}
\section{Was ist Intelligenz?} \section{Was ist Intelligenz?}
\label{was ist intelligenz}
\say{Ganz kurz zusammengefasst ist Intelligenz die Fähigkeit zum (logischen) Denken. \say{Ganz kurz zusammengefasst ist Intelligenz die Fähigkeit zum (logischen) Denken.
[...] [...]
Intelligenz ist also erstens die Fähigkeit zum schnellen und effektiven Problemlösen und zweitens die Fähigkeit, die Erkenntnisse auf andere Situationen zu übertragen} Intelligenz ist also erstens die Fähigkeit zum schnellen und effektiven Problemlösen und zweitens die Fähigkeit, die Erkenntnisse auf andere Situationen zu übertragen}
\section{Was ist \acf{KI}?} \section{Was ist \acf{KI}?}
\label{was ist ki}
\say{Die künstliche Intelligenz (engl. \ac{AI}) [...] ist ein Teilgebiet der Informatik, welches sich mit der Erforschung von Mechanismen des intelligenten menschlichen Verhaltens befasst. \say{Die künstliche Intelligenz (engl. \ac{AI}) [...] ist ein Teilgebiet der Informatik, welches sich mit der Erforschung von Mechanismen des intelligenten menschlichen Verhaltens befasst.
Dieses geschieht durch Simulation mit Hilfe künstlicher Artefakte, gewöhnlich mit Computerprogrammen auf einer Rechenmaschine.} Dieses geschieht durch Simulation mit Hilfe künstlicher Artefakte, gewöhnlich mit Computerprogrammen auf einer Rechenmaschine.}
\subsection{Starke \ac{KI}/ Artificial General Intelligence} \subsection{Starke \ac{KI}/ Artificial General Intelligence}
\label{starke ki}
\say{Unter einer starken \acl{KI} versteht man im allgemeinen alle Ansätze, die versuchen, den Menschen bzw. die Vorgänge im Gehirn abzubilden und zu imitieren.} \say{Unter einer starken \acl{KI} versteht man im allgemeinen alle Ansätze, die versuchen, den Menschen bzw. die Vorgänge im Gehirn abzubilden und zu imitieren.}
\subsection{Schwache \ac{KI}/ Narrow \acs{AI}} \subsection{Schwache \ac{KI}/ Narrow \acs{AI}}
\label{schwache ki}
Bei der \say{schwachen} \ac{KI} geht es nicht darum den Menschen zu immitieren. Bei der \say{schwachen} \ac{KI} geht es nicht darum den Menschen zu immitieren.
Stattessen wird versucht \textbf{lernfähige} Algorithmen für einen abgegrenzte Problemstellung zu entwickeln. Stattessen wird versucht \textbf{lernfähige} Algorithmen für einen abgegrenzte Problemstellung zu entwickeln.
\subsubsection{\acf{MI}} \subsubsection{\acf{MI}}
\label{mi}
Wenn man die \ac{KI} aus dem Blickwinkel der Ingenieurswissenschaften betrachtet, Wenn man die \ac{KI} aus dem Blickwinkel der Ingenieurswissenschaften betrachtet,
stellt sie ein Werkzeug für die Erstellung \say{intelligenter Methoden} zum lösen der Probleme des täglichen Lebens dar. stellt sie ein Werkzeug für die Erstellung \say{intelligenter Methoden} zum lösen der Probleme des täglichen Lebens dar.
@ -37,6 +42,7 @@
\end{enumerate} \end{enumerate}
\section{Lernen durch Unterscheiden} \section{Lernen durch Unterscheiden}
\label{lernen durch unterscheiden}
\begin{center} \begin{center}
\includegraphics[width=.6\textwidth]{lernen_durch_unterscheiden.png}\\ \includegraphics[width=.6\textwidth]{lernen_durch_unterscheiden.png}\\
{\Huge\color{orange}Probleme bei unerwarteten Daten!}\\ {\Huge\color{orange}Probleme bei unerwarteten Daten!}\\
@ -44,11 +50,13 @@
\end{center} \end{center}
\subsection{Polanyi-Paradox} \subsection{Polanyi-Paradox}
\label{polanyi-paradox}
Der Mensch versteht selber nicht, wie er in der Lage dazu ist Bilder zu unterscheiden. Der Mensch versteht selber nicht, wie er in der Lage dazu ist Bilder zu unterscheiden.
Daher ist es für ihn schwer einen Algorithmus zu entwickeln, der ihn ersetzt.\\ Daher ist es für ihn schwer einen Algorithmus zu entwickeln, der ihn ersetzt.\\
\includegraphics[width = .6\textwidth]{polanyi_paradox.png} \includegraphics[width = .6\textwidth]{polanyi_paradox.png}
\section{Problem Black-Box-Modelle} \section{Problem Black-Box-Modelle}
\label{problem black-box}
Viele der heute entwickelten \ac{KI}-Modelle sind Black-Boxen. Viele der heute entwickelten \ac{KI}-Modelle sind Black-Boxen.
Dies stellt ein Problem dar, da Menschen nicht in der Lage dazu sind die Funktionsweise des Modells zu bewerten. Dies stellt ein Problem dar, da Menschen nicht in der Lage dazu sind die Funktionsweise des Modells zu bewerten.
Sie können lediglich das Verhalten auf Testdaten analysieren. Sie können lediglich das Verhalten auf Testdaten analysieren.

BIN
images/IntelligentAgent.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
images/beispiele_PEAS.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

BIN
images/goal-based_agent.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
images/learning_agent.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
images/reflex-agent.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB