Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VORLESUNG 1:
- ==========================
- Was AI tut:
- Erstellen intelligenter Maschinen, dabei geht es nicht darum genauso wie MEnschen zu denken
- Das Formalisieren von Wissen und das mechanisieren des logischen Denkens
- Benutzen von Rechenmodellen um die Psycholgie und Verhalten von Menschen/Tieren(künstlichen Agenten zu verstehen
- Die Arbeit mit Computern so einfach zu machen wie die Arbeit mit Menschen
- Turing Test:
- Prüft ob sich der Agent wie ein Mensch verhält
- Automatisiertes Problemlösen und Theorembeweisen:
- Problemlösen als Suche in der Welt aller möglichen Operationen.
- Benötigt formalisiertes Problem
- MicroWorlds:
- Vereinfachte künstliche Welten um idealisierte Probleme der AI zu lösen
- (Zu ideal, da reale Welt nicht ideal ist)
- Expertensysteme:
- Idee: Intelligente Systeme leiten ihre Macht aus großen Wissen ab, anstatt aus Formalisierungen
- (Erwartungen konnten nicht getroffen werden, Systeme waren auch zu instabil und schwer zu warten)
- Embodied AI / Verkörperte AI:
- Idee: Die Welt ist das beste Modell, da immer jedes Detail zu Verfügung steht.
- Der Trick dabei: Die Welt oft und genau genug abzutasten
- Semantic Web:
- Idee: Das Wissen der Welt durch ein standardisiertes Format den Computern einfach bereitzustellen
- Große Quelle an Informationen
- Begrenzungen klassischer Systeme: | Moderne Ansätze
- Basierten pur auf Logik | Hybrid aus: Logik, Geometrie etc
- Kein Darstellung von unsicherem Wissen | Mächtige statistische Modelle
- Simples Weltmodell | Komplexe geometrische Darstellung der Umwelt
- Begrenzte Sensorfähigeiten | Sehr gute Sensorsysteme
- Manuell eingegebenes Wissen | Enormes Wissen im Internet verfügbar
- Begrenzter Speicher für Programm und Wissensbasis | Ernorme Rechenkraft, besonders im Cloud-computing
- Moderne Trends:
- Big Data / Google AI:
- Idee: Keine Regeln, sondern nach Daten in riesiger Datenbank nachsehen (Gegensatz: Alte Logikbasierte Systeme)
- Kombination von Statistik, oberflächlicher Wissenrepräsentation und Lernmethoden gestützt vn riesiger Wissensbasis
- Deep Learning:
- Idee: Neuronale Netze mit vielen verschachtelten Ebenen (Früher nicht möglich wegen Rechenleistung)
- Können komplexere Zusammenhänge erkennen (Sprach und Bilderkennung)
- Extrahieren Regelmäßigkeiten aus riesigen Datensätzen ohne Kontrolle/Aufsicht
- System-Level-AI:
- Idee: Kombinieren von mehreren spezialisierten Quellen von Expertenwissen und Inferenzmethoden, sodass
- sich die Stärken komplementieren
- Beispiel: IBM Watson
- Wo sind wir bei AI?
- Die Situation:
- Massive Rechenkraft
- Eingebettete Computer
- Billige aber gute Sensorik
- Große Computernetzwerke, Internet, Ubiquitäres Computing, Computerspiele
- "Intelligente" Systeme werden benötigt:
- Informationsabfrage aus dem Internet, Computerspiele, Shppingagenten (Vorschläge etc),Kontrollieren von Lieferketten
- Viele Methoden der AI sind nutzbar:
- Lernmethoden, Data-Mining, probalistisches Begründen (prob. Reasoning), Beschreibungslogiken (description logics), prob. Zustandsschätzung (prob. state estimation)
- New AI:
- SMart Phones, Ambient Intelligence, Google AI
- Was hat AI getan:
- Neue (viele) Unterbereiche:
- DataMining, Virtual Agents, logic programming, program specification and verification...
- Programmierstyle:
- Funktional, Logical, OOP, Constraint-Prog.
- Systeme:
- Planen von Spaceshuttle Flügen, autonomische Raumfahrzeuge, Computerschach, medical diagnostics, autonomisches fahren
- Beispiele von "coolen Systemen"
- Watson, Driving cars, siri/google now
- Was liegt vor uns:
- Komplette Systeme, interaktion mit der Umwelt, natürliche aufgaben und alltägliche aufgaben
- Was können wir:
- Representatin und Begründung
- Unsicheres Wissen repräsentieren
- Planung
- Lernen
- Sicht
- Acting/Thinking Rationally/Humanly
- In der Vorlesung geht's um Acting Rationally! :D
- VORLESUNG 2:
- ==========================
- Definition eines Agenten:
- Nimmt Umwelt durch Sensoren wahr
- Manipuliert Umwelt durch Aktoren (Actuators)
- Er interagiert also mit der Welt.
- Rationale Agenten:
- Handeln in der "richtigen" Weise
- Um die Performance zu beurteilen braucht man objektive Performancekriterien
- Die Performance Measure / Leistungsmessung beurteilt wie weit der Agent die Wlt ändert, um zum Ziel zu kommen
- (Bsp: Wieviele Pakete ein Roboter verteilt)
- Wann soll die PerfMeasure stattfinden? Kontinuirlich, Periodisch oder nur einmal?
- Ein idealer rationaler Agent führt die Aktionen aus, die zu einer Maximierung seiner Leistung führen. Die Aktionen werden basierend auf Vorwissen (prior Knowledge) und einer Sequenz von Percepts.
- Ein Agent weiß aber nicht in jedem Fall alles => Rationale Entscheidung, aber vielleicht im NACHHINEIN nicht die Beste
- Ein Agent ist nicht immer allwissend.
- PEAS = Performance Measure, Environment, Actions and Sensors
- Agentfunktion: Kriegt als Eingabe eine Percept-Sequence und gibt Aktion zurück
- Der Grad zu welchem der Agent auf Erfahrung zurückgreifen kann, nennt sich Autonomität. Durch genbug Zeit und Percept sollte ein Agent sich neuen Situationen anpassen können und neue Aktionen erlernen können, welche für die Situationen passend sind.
- Formale Agentdefinition:
- O = Percepts
- A = Actions
- X = World States
- Perceptfilter Fp : X -> O
- Transition: Fe : X x A -> X
- E = Environment (X, X0, Fe, Fp)
- effects(f, E) = State-Sequence die von f in E produziert wird
- U: X^T -> R (Perf. Measure)
- V_U (f,E) = U(effects(f, E))
- Struktur eines Rationalen Agenten:
- Agent = Architecture + Program
- Ein Agent ist ein auf einer Architektur (M) ausgeführtes Programm.
- LM enthält alle Programme die auf M ausgeführt werden können.
- Ein Programm hat eine Menge interner Zustände I. i0 ist dabei der Startrzustand.
- M: LM x I x O -> I x A
- ==> Tabledriven Agents / Tabellenagenten:
- Agent guckt Aktion in Tabelle nach. Als Index wird die Percept-Sequence genutzt.
- Problem:
- Tabelle kann riesig werden, da bei selbst geringer Anzahl an Percepts die Permutationen riesig werden
- ==> Reflexive/Reactive Agents:
- X x (Condition-Action Rules) -> A
- Problem: Sensordaten können großen Raum annehmen.
- "Lösung": Sensordaten in Zustand interpretieren, diesen Zustand für Condition-Action-Rules nehmen
- ==> Agents with Internal World Model (Kind of Reflexive Agent):
- Agent kennt Status der Welt und weiß welche Aktionen welche Auswirkungen haben.
- Wählt so aus, welche Aktion er ausführen sollte.
- ==> Goal Based Agent:
- Kennt Status der Welt und welchen Einfluss die Aktionen haben.
- Guckt sich jede mögliche Aktion und ihren EInfluss an und wählt die Aktion aus, welche den Agenten ans Ziel bringt.
- ==> Utility Based Agent:
- Wie Goal Based Agent, kann aber einschätzen (anhand der Utility-Funktion) welche Aktion ihn näher ans Ziel bringt. (Ohne sofort das Ziel zu erreichen)
- ==> Learning Agents:
- Critic: Bewertet die Sensordaten anhand eines Performance Standards. Das Feedback geht ans LEarning Element
- Learning Element: Verbessert Performance Element. Gibt Ziele an Problem Generator.
- Problem Generator: Präsentiert Probleme an Performance Element.
- Performance Element: Evaluiert Sensordaten und steuert Aktoren. Wird vom Learning Element geändert und gibt Wissen an dieses.
- Basis eines Agents:
- Agent hat Speicher, welcher den Status der Welt speichert
- Speicher wird anhand der Percepts geupdated.
- Anhand des Speicherinhalts wird eine Aktion gewählt.
- Anhand der Aktion wird Speicher geupdated.
- Eigenschaften eines Environments:
- Oberservability:
- Complete: Agent sieht kompletten Zustand der Welt
- Partial: Agent sieht nur teilweisen Status der Welt
- Determinism:
- Deterministic: Der nächste Weltzustand basiert nur auf der nächsten Aktion des Agenten
- Non-Deterministic: Weltzustand kann sich unabhängig von der Aktion ändern
- Episodic/Nonepisodic:
- Episodic: Qualität einer Entscheidung kann sofort gemessen werden
- Non-Episodic: Qualität einer Entscheidung wird erst in Zukunft klar
- Static/Dynamic:
- Static: Welt kann sich nicht ändern, wenn der Agent keine Aktion ausführt
- Dynamic: Welt kann sich ändern, wenn der Agent keine Aktion ausführt.
- Discrete/Continous:
- Discrete: Welt hat diskrete Zustände (Schach)
- Continous: Welt hat kontinuirliche Zustände (Positionen von Robotern)
- ( ODESC, 5 Letters )
- -Ein Agent nimmt wahr und handelt. Besteht aus Architektur und Agent Programm.
- -Ein idealer Agent maximiert mit seinen Aktionen seine Performance. Braucht dafür Perceptsequence und Wissen über Welt
- -Ein Agentprogramm transformiert ein Percept-Sequence in Aktionen.
- -Verschiedene Agentdesigns:
- o Reactive
- o Goal-based
- o Utility-based
- -Manche Umgebungen sind schwieriger als andere. Die schwersten sind partial-oberservable, non-deterministic, dynamic, continous, non-episodic.
- Vorlesung 3:
- ======================
- Operator: Beschreibung einer Aktion durch das angeben des Endzustandes
- Ausgangszustand: Zustand in welchem der Agent glaubt am Anfang zu sein
- State Space: Menge aller möglicher Zustände
- Goal Test: Test ob der jetziger Zustand ein Zielzustand ist
- Path / Pfad: Sequenz von Aktionen die von Zustand zu Zustand führen.
- Path-Costs / Pfadkosten: Normalerweise die Summe der Kosten aller Aktionen
- Solution / Lösung: Pfad vom Ausganszustand zu einem Zielzustand
- Search-Costs / Suchkosten: Zeit- und Speicher-/Raumkosten um eine Lösung zu finden
- Total Costs: Search Costs + Path-Costs
- Problem Solving Agents (PSA):
- Motivation:
- Lösen von bekannten komplexen Problemen (bsp Travelling Salesman)
- Problem Space: Besteht aus Zuständen (State Space), welche durch Operationen/Operatoren verbunden sind.
- PSAs sind ähnlich zu Goal-based Agents, da sie im Problem Space nach der Endlösung suchen. Sie wählen die Operation,
- welche zum Ziel führt.
- Problemformulation: Ziel und Problem
- Gegeben: Anfangszustand
- Gewünscht: Erreichen eines Ziels durch Ausführen von passenden Aktionen
- Gesucht: Eine Sequenz von Aktionen (welche zum Ziel führen) und deren Ausführung
- Suchprobleme sind oftmals sehr groß, aufgrund von Branching.
- Branching: Jeder Zustand spaltet sich in (Anzahl der möglichen Operationen) * Zustände
- Problemformulierung:
- Ziel formulieren
- World-State-Space (Weltzustandsraum) definieren (Alle mögliche Zustände der Welt)
- Aktionen, welche einen Weltzustand in einen anderen überführen, definieren
- Problemtyp definieren, basiert auf Wissen über Weltzustände und Aktionen
- Kosten für Suche und Ausführung definieren
- Der Weg wie ein Problem formuliert wird, kann das Lösen stark vereinfachen oder erschweren!!!
- Außerdem haben die Eigenschaften der Umwelt (ODESC) großen EInfluss auf die Größe des Search-Space
- Bei partially-observable Environments, gibt es "mögliche Zustände" in denen der Agent sein kann.
- Bei "multistate Problems" heißen die Zustänmde in denen der Agent ist "Belief States", weil der Agent glaubt in einem Zustand zu sein.
- Markov Decision Problem: Bei einer Transition von einem Zustand durch eine Aktion in den Zielzustand wird mit angegeben, mit welcher Wahrscheinlichkeit dies passiert: X x A x X -> R. Der Prozess des Findes heißt Markov Decision Process. Dabei wird unter Unsichehreit gehandelt.
- Problem-Types: (LEARN THAT SHIT)
- Deterministisch?
- Observability | yes | no
- ---------------------------------------------------------------
- fully | Single-State | Markov-Decision-Process (MDP)
- | Problem |
- ----------------------------------------------------------------
- partially | Multi-state | partially observable MDP
- | Problem | Contigency Problem
- Generelle Formulation von Suchproblemen: 6-Tuple (Q, S, G, A, Successors, Cost)
- Q = Endlicher Menge an Zustäönden
- S c Q = nicht-leere Menge an Anfangszuständen
- G c Q = nicht-leere Menge an Zielzuständen
- A = endliche Menge an möglichen Aktionen
- Successors: Q x A -> Q (Übergang on Zustand nach anderen Zustand, basierend auf Aktion)
- Cost: Q x A x Q -> R+ (Kosten um durch einen Aktion von einem Zustand in einen anderen zu kommen, enthält nur die
- Zustände, wleche in Successors enthalten sind
- Es können generell Probleme als Suchprobleme interpretiert werden, welche als Wegfindungsproblem in einem Graphen dargestellt werden können
- Außerdem jedes Problem das als eines dieser 6-Tuple passt. You don't say.
- Generelle Search_procdure:
- Loop-Start:
- Wenn keine Blätter zum erweitern vorhanden sind: FAIL
- Wähle Blatt zum erweitern
- Wenn Blatt Zielzustand enthält: RETURN SOLUTION
- Ansonsten: Blatt erweitern und neue Blätter zum Search-Tree hinzufügen
- Loop End;
- Wenn man einen Search-Tree durchsuchen will, kann man die noch zu untersuchenden (durch Erweiterung gefundenen) Blätter auch einfach in eine Queue (Liste) einfügen. Wie man die Blätter in die Queue einfügt kann großen Einfluss auf Ausführungszeit und Raum haben. (Tiefensuche, Breitensuche etc)
- Kriterien für Suchstrategien:
- Completeness: Wird immer eine Lösung gefunden, falls eine existiert?
- Time Complexity: Anzahl der untersuchten/erweiterten Blätter (Worst Case?)
- Space Complexity: Maximale ANzahl an Blättern im Speicher (Worst Case?)
- Optimality: Wird immer die "billigste" Lösung gefunden?
- (CTSO, 4 LETTERS!!!) (CDESC for Environments, CTSO for Search-Criteria)
- (Erklärung mir unbekannter Suchen:
- uniform-cost search: Es wird an dem Knoten weitergesucht welcher bis jetzt die wenigstens kosten hat;
- Depth-limited search: DFS nur mit tiefenbegrenzung;
- Iterative Deepening Search: Wie Depth-Limited, bloß dass das Limit pro Iteration der Suche um 1 erhöht wird
- Bi-directional: Eine Suche startet vom Ziel, eine andere vom Ausgang. Wenn sich Graphen kreuzen hat man Lösung)
- Uninformierte oder blinde Suchen: (Keine Information über Lenge oder Kosten einer Lösung/Pfades)
- -BFS,uniform-cost search, DFS
- -Depth-limited search, iterative deepening search
- -bi-directional search
- (Insgesamt 6 Verfahren!)
- Kontrast dazu:
- Informierte oder heuristische Suche. Kommt später, oder gleich. Ich mach mir nen Tee.
Advertisement
Add Comment
Please, Sign In to add comment