diff --git a/Acronyms.tex b/Acronyms.tex index 862d0ca..c591aa9 100644 --- a/Acronyms.tex +++ b/Acronyms.tex @@ -6,4 +6,5 @@ \acro{AI}{Artificial Intelligence} \acro{ML}{Machine Learning} \acro{MI}{Maschinelle Intelligenz} + \acro{PEAS}{Performance, Environment, Actuators, Sensors (Leistung, Umgebung, Aktuatoren, Sensoren)} \end{acronym} \ No newline at end of file diff --git a/Content.tex b/Content.tex index 9da9d5d..0a774cb 100644 --- a/Content.tex +++ b/Content.tex @@ -1,5 +1,5 @@ %all the main content goes here \pagenumbering{arabic} -\input{chapters/Einführung.tex} -\input{chapters/Agenten.tex} +\input{parts/Einführung.tex} +\input{parts/Agenten.tex} diff --git a/Packages.tex b/Packages.tex index 4d31e67..1762296 100644 --- a/Packages.tex +++ b/Packages.tex @@ -33,4 +33,7 @@ rightsub = \grq% %custom font sizes \usepackage{anyfontsize} %bibliography -\usepackage[square, numbers]{natbib} \ No newline at end of file +\usepackage[square, numbers]{natbib} +%math +\usepackage{amsmath} +\usepackage{amssymb} \ No newline at end of file diff --git a/chapters/Agenten.tex b/chapters/Agenten.tex deleted file mode 100644 index cda1700..0000000 --- a/chapters/Agenten.tex +++ /dev/null @@ -1 +0,0 @@ -\chapter{Intelligente Agenten} \ No newline at end of file diff --git a/chapters/Agenten/Intelligente Agenten.tex b/chapters/Agenten/Intelligente Agenten.tex new file mode 100644 index 0000000..64f5775 --- /dev/null +++ b/chapters/Agenten/Intelligente Agenten.tex @@ -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} diff --git a/chapters/Einführung.tex b/chapters/Einführung/Einführung.tex similarity index 93% rename from chapters/Einführung.tex rename to chapters/Einführung/Einführung.tex index be3285e..d6be716 100644 --- a/chapters/Einführung.tex +++ b/chapters/Einführung/Einführung.tex @@ -1,21 +1,26 @@ \chapter{Einführung} \section{Was ist Intelligenz?} + \label{was ist intelligenz} \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} \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. Dieses geschieht durch Simulation mit Hilfe künstlicher Artefakte, gewöhnlich mit Computerprogrammen auf einer Rechenmaschine.} \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.} \subsection{Schwache \ac{KI}/ Narrow \acs{AI}} + \label{schwache ki} 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. \subsubsection{\acf{MI}} + \label{mi} 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. @@ -37,6 +42,7 @@ \end{enumerate} \section{Lernen durch Unterscheiden} + \label{lernen durch unterscheiden} \begin{center} \includegraphics[width=.6\textwidth]{lernen_durch_unterscheiden.png}\\ {\Huge\color{orange}Probleme bei unerwarteten Daten!}\\ @@ -44,11 +50,13 @@ \end{center} \subsection{Polanyi-Paradox} + \label{polanyi-paradox} 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.\\ \includegraphics[width = .6\textwidth]{polanyi_paradox.png} \section{Problem Black-Box-Modelle} + \label{problem black-box} 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. Sie können lediglich das Verhalten auf Testdaten analysieren. \ No newline at end of file diff --git a/images/IntelligentAgent.png b/images/IntelligentAgent.png new file mode 100644 index 0000000..89430bf Binary files /dev/null and b/images/IntelligentAgent.png differ diff --git a/images/agenten_abgrenzung.png b/images/agenten_abgrenzung.png new file mode 100644 index 0000000..0abd573 Binary files /dev/null and b/images/agenten_abgrenzung.png differ diff --git a/images/beispiel_subsumption_architecture.png b/images/beispiel_subsumption_architecture.png new file mode 100644 index 0000000..0413d9c Binary files /dev/null and b/images/beispiel_subsumption_architecture.png differ diff --git a/images/beispiele_PEAS.png b/images/beispiele_PEAS.png new file mode 100644 index 0000000..dbecb81 Binary files /dev/null and b/images/beispiele_PEAS.png differ diff --git a/images/beispiele_leistungsbewertung_1.png b/images/beispiele_leistungsbewertung_1.png new file mode 100644 index 0000000..4d001c0 Binary files /dev/null and b/images/beispiele_leistungsbewertung_1.png differ diff --git a/images/beispiele_leistungsbewertung_2.png b/images/beispiele_leistungsbewertung_2.png new file mode 100644 index 0000000..6cf5ac0 Binary files /dev/null and b/images/beispiele_leistungsbewertung_2.png differ diff --git a/images/beispiele_umgebungseigenschaften.png b/images/beispiele_umgebungseigenschaften.png new file mode 100644 index 0000000..f8603ce Binary files /dev/null and b/images/beispiele_umgebungseigenschaften.png differ diff --git a/images/goal-based_agent.png b/images/goal-based_agent.png new file mode 100644 index 0000000..bdf7906 Binary files /dev/null and b/images/goal-based_agent.png differ diff --git a/images/learning_agent.png b/images/learning_agent.png new file mode 100644 index 0000000..469ecce Binary files /dev/null and b/images/learning_agent.png differ diff --git a/images/model-based_reflex-agent.png b/images/model-based_reflex-agent.png new file mode 100644 index 0000000..dd0b58c Binary files /dev/null and b/images/model-based_reflex-agent.png differ diff --git a/images/reflex-agent.png b/images/reflex-agent.png new file mode 100644 index 0000000..1d82fa9 Binary files /dev/null and b/images/reflex-agent.png differ diff --git a/images/utility-oriented_agent.png b/images/utility-oriented_agent.png new file mode 100644 index 0000000..ceeaf05 Binary files /dev/null and b/images/utility-oriented_agent.png differ