Rule-Based Systems. Technische Universität Darmstadt Knowledge Engineering Group
|
|
- Alfred Pfeiffer
- vor 5 Jahren
- Abrufe
Transkript
1 Rule-Based Systems Technische Universität Darmstadt Knowledge Engineering Group Seminar: Knowledge Engineering und Lernen in Spielen, Prof. Johannes Fürnkranz, SS06 Florian Dautermann Darmstadt, 23. Mai 2006
2 Übersicht 1. Motivation 2. Informationsgewinnung (Intelligence) 3. Vorhersage von Spielzügen (Prediction) 4. Bewertung 5. Quellen Rule Based Systems Florian Dautermann 2
3 Übersicht 1. Motivation 2. Informationsgewinnung (Intelligence) 3. Vorhersage von Spielzügen (Prediction) 4. Bewertung 5. Quellen Rule Based Systems Florian Dautermann 3
4 Motivation in vielen Spielen ist es essentiell, gegnerisches Verhalten oder den Grad der gegnerischen Entwicklung zu erahnen menschliche Spieler ziehen aufgrund von Beobachtungen Schlussfolgerungen Rule Based Systems versuchen dieses menschliche Verhalten zu simulieren bekannt als Expert Systems aus nicht-spiel- Anwendungen Rule Based Systems Florian Dautermann 4
5 Motivation Beispiel: Echtzeitstrategie - Starcraft Rule Based Systems Florian Dautermann 5
6 Motivation Beispiel: Prügelspiele - Mortal Combat Rule Based Systems Florian Dautermann 6
7 Motivation Beispiel: Ego-Shooter - Quake SOAR-Quake-Bot IF enemy visible and my health is < very-low-health-value (20%) OR his weapon is much better than mine THEN propose retreat Rule Based Systems Florian Dautermann 7
8 Übersicht 1. Motivation 2. Informationsgewinnung (Intelligence) 3. Vorhersage von Spielzügen (Prediction) 4. Bewertung 5. Quellen Rule Based Systems Florian Dautermann 8
9 Informationsgewinnung Idee Dragoon benötigt Gateway benötigt Nexus Rule Based Systems Florian Dautermann 9
10 Informationsgewinnung Idee Shuttle benötigt Robotics Facility benötigt Cybernetic Core benötigt Gateway benötigt Nexus Rule Based Systems Florian Dautermann 10
11 Informationsgewinnung Idee Reaver benötigt Robotic Support Bay benötigt Robotics Facility benötigt Cybernetic Core benötigt Gateway benötigt Nexus Rule Based Systems Florian Dautermann 11
12 Informationsgewinnung Datenstrukturen Working Memory Fakten & Annahmen durch Regeln Bsp: Reaver = Yes; Zealot = Maybe; Scout = Unknown Rules Memory Regeln (if-then-stil) repräsentieren den Technology Tree Bsp: if (Dragoon == Yes) {Gateway = Yes; Nexus = Yes}; if (Gateway == Yes && Zealot == Unknown) Zealot = Maybe; Rule Based Systems Florian Dautermann 12
13 Informationsgewinnung Forward Chaining 3 Phasen Modell matching rules überprüfe Regeln (if-teil) mindestens eine erfüllt? ja speichere alle Kandidaten mehrere Regeln können wahre Vorbedingungen haben! Rule Based System Rule Based Systems Florian Dautermann 13
14 Informationsgewinnung Forward Chaining 3 Phasen Modell matching rules überprüfe Regeln (if-teil) mindestens eine erfüllt? ja speichere alle Kandidaten conflict resolution fire the rule auswählen der Regel ausführen der Regel Verfahren: First Applicable Random Most Specific Least Recently Used Best Rule Based System Rule Based Systems Florian Dautermann 14
15 Informationsgewinnung Forward Chaining 3 Phasen Modell matching rules überprüfe Regeln (if-teil) mindestens eine erfüllt? ja speichere alle Kandidaten nein Aktionen durchführen conflict resolution auswählen der Regel nächster Spielzyklus fire the rule ausführen der Regel Sensing (Daten akquirieren) Rule Based System Rule Based Systems Florian Dautermann 15
16 Informationsgewinnung Backward Chaining Gegenteil des Forward Chaining Benutzung des then-teils um passende Regeln zu finden Bsp: if (Robotics Facility == Yes) Shuttle == Maybe Wenn überprüft werden soll, ob es ein Shuttle geben kann, muss überprüft werden ob es eine Robotics Facility gibt B.C. ist schwerer zu implementieren als F.C., vor allem mit fest programmierten if-then-regeln wird angewendet bei viele Fakten, wenige Regeln viele Anfangszustände, wenige Zielzustände Rule Based Systems Florian Dautermann 16
17 Informationsgewinnung Laufzeitverbesserung Forward-Chaining hat Komplexität O((RA)^C) R Anzahl der Regeln A Anzahl der Annahmen im Working Memory C Anzahl der Bedingungen je Regel Rete-Algotrithmus zur Verbesserung Merkt sich die markierten Regeln. Prüft nur gegen die Veränderungen im Working Memory Kompexität O(RAC) erhöhter Speicherbedarf Rule Based Systems Florian Dautermann 17
18 Übersicht 1. Motivation 2. Informationsgewinnung (Intelligence) 3. Vorhersage von Spielzügen (Prediction) 4. Bewertung 5. Quellen Rule Based Systems Florian Dautermann 18
19 Vorhersage Vorausahnen der gegnerischen Aktion ist essentiell in vielen Kampfspielen Einfaches Kampfspiel: Papier, Schere, Stein kennt man die nächste Aktion kann man reagieren menschliche Spieler wählen ihre Aktionen in Mustern RBS versuchen, diese Muster zu erkennen Rule Based Systems Florian Dautermann 19
20 Vorhersage Papier, Schere, Stein - Vorführung Rule Based Systems Florian Dautermann 20
21 Vorhersage Datenstrukturen Working Memory public class Action { public String act; public int determinewinner(action a, Action b){...} public Action getcounteraction(){...} } public class WorkingMemory { public Action actiona = new Action(); //vorletzte Aktion public Action actionb = new Action(); //letzte Aktion public Action actionc = new Action(); //nächste Aktion } Rules Memory public class Rule { public Action antecedenta = new Action(); public Action antecedentb = new Action(); public Action consequentc = new Action(); public boolean matched; public int weight; public Rule(){ matched = false; weight = 0;} public void setrule(action A, Action B, Action C){...} } Rule Based Systems Florian Dautermann 21
22 Vorhersage Ablauf Gewicht der gewählten R - - Gewicht der richtigen R ++ nein im letzten Zug gewonnen? ja Gewicht der gewählten R ++ for (i=0; i<27; i++){ if (rules[i].matched && (rules[i].consequentc.act == action.act)) { rules[i].weight++; break; } } Backward Chaining! Rule Based Systems Florian Dautermann 22
23 Vorhersage Ablauf Gewicht der gewählten R - - Gewicht der richtigen R ++ nein im letzten Zug gewonnen? ja Gewicht der gewählten R ++ update Working Memory wm.actiona.act = wm.actionb.act; wm.actionb.act = action.act; Rule Based Systems Florian Dautermann 23
24 Vorhersage Ablauf Gewicht der gewählten R - - Gewicht der richtigen R ++ nein im letzten Zug gewonnen? ja Gewicht der gewählten R ++ update Working Memory Matches finden for (i=0; i<27; i++){ if (rules[i].antecedenta.act == wm.actiona.act && rules[i].antecedentb.act == wm.actionb.act) rules[i].matched = true; else rules[i].matched = false; } Rule Based Systems Florian Dautermann 24
25 Vorhersage Ablauf Gewicht der gewählten R - - Gewicht der richtigen R ++ nein im letzten Zug gewonnen? ja Gewicht der gewählten R ++ update Working Memory Matches finden ruletofire = -1; for (i=0; i<27; i++){ if (rules[i].matched){ if (ruletofire == -1) ruletofire = i; else if(rules[i].weight > rules[ruletofire].weight) ruletofire = i; } } Beste Regel auswählen Rule Based Systems Florian Dautermann 25
26 Vorhersage Ablauf Gewicht der gewählten R - - Gewicht der richtigen R ++ nein im letzten Zug gewonnen? ja Gewicht der gewählten R ++ update Working Memory Matches finden Beste Regel auswählen if (ruletofire!= -1){ prediction.act = rules[ruletofire].consequentc.act; wm.actionc.act = rules[ruletofire].consequentc.act; previousrulefired = ruletofire; randomprediction = ra.getrandomaction(); } else { prediction = ra.getrandomaction(); wm.actionc.act = prediction.act; randomprediction.act = wm.actionc.act; } return prediction.getcounteraction(); Regel ausführen Rule Based Systems Florian Dautermann 26
27 Übersicht 1. Motivation 2. Informationsgewinnung (Intelligence) 3. Vorhersage von Spielzügen (Prediction) 4. Bewertung 5. Quellen Rule Based Systems Florian Dautermann 27
28 Bewertung Vorteile Einfachheit, basiert auf menschlichem Denken Modularität, Flexibilität, einfach zu erweitern, da Regeln atomare Einheiten darstellen Anwendbarkeit, funktioniert in vielen Anwendungsgebieten Wissen wird von der Implementierung getrennt Rule Based Systems Florian Dautermann 28
29 Bewertung Nachteile geringe Aussagekraft der Regeln entweder hoher Speicherbedarf oder hoher Berechnungsaufwand! Anwendbarkeit, funktioniert nicht immer (z.b. wenn kein Expertenwissen vorhanden!) Rule Based Systems Florian Dautermann 29
30 Bewertung Geeignete Probleme Expertenwissen muss vorhanden sein Auswählen der richtigen Regel sollte nicht zu wichtig sein Reaktive Systeme, keine Abfolge von Aktionen Rule Based Systems Florian Dautermann 30
31 Übersicht 1. Motivation 2. Informationsgewinnung (Intelligence) 3. Vorhersage von Spielzügen (Prediction) 4. Bewertung 5. Quellen Rule Based Systems Florian Dautermann 31
32 Quellen David M. Bourg, Glenn Seemann: AI for Game Developers, O'Reilly, Alex J. Champandard: AI Game Development, New Riders Publishing, Introduction to Rule-Based Systems, James Freeman-Hargis, The 2004 AIISC Report - Working Group on Rule-based Systems Johann Eder, Knowledge Engeneering Starcraft Screenshot: Mortal Combat Screenshot: Rule Based Systems Florian Dautermann 32
33 Danke für Ihre Aufmerksamkeit Fragen? Rule Based Systems Florian Dautermann 33
Fuzzy Movement. Dirk Güldner. Seminar: Knowledge Engineering und Lernen in Spielen. TU-Darmstadt, SS 2006,
Fuzzy Movement Dirk Güldner Seminar: Knowledge Engineering und Lernen in Spielen TU-Darmstadt, SS 2006, 30.05.2006 Übersicht Begriffsdefinition allgemeine Ziele & Ziele in Spieleumgebungen Situations-
MehrClassification and Regression Trees. Markus Müller
Classification and Regression Trees Markus Müller Gliederung Lernen Entscheidungsbäume Induktives Lernen von Bäumen ID3 Algorithmus Einfluß der Beispielmenge auf den Baum Möglichkeiten zur Verbesserung
MehrKI in Computerspielen
KI in omputerspielen Decision Making 04.07.2017 Institut für Informatik K.I in omputerspielen 1 Inhalt Decision Making Behavior Trees Regelbasierte Systeme Institut für Informatik K.I in omputerspielen
MehrRegelbasierte Systeme
Regelbasierte Systeme Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg 04.02.2010 Dr.-Ing. Bernd Ludwig (FAU ER) Regelbasierte
MehrObjektorientierung III
Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 10 9.1.2017 Objektorientierung III Aufgabe 10.1. Wir sind doch alle gleich In der Vorlesung
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 20 (9.7.2018) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrStädtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode
Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
MehrKnowledge-Based system. Inference Engine. Prof. Dr. T. Nouri.
12.01.2008 Knowledge-Based system Inference Engine Prof. Dr. T. Nouri Taoufik.Nouri@FHN.CH 2 / 30 Inhalt Grundlagen Wozu Inference? Aufbau Knowledge Based System Strategien für Folgerungen Suchstrategien
MehrTechnische Universität München WiSe 2018/19 Fakultät für Informatik Übungsblatt 6 Dr. Ch. Herzog 26. November 2018
Technische Universität München WiSe 2018/19 Fakultät für Informatik Übungsblatt 6 Dr. Ch. Herzog 26. November 2018 Übungen zu Grundlagen der Programmierung Aufgabe 19 (Lösungsvorschlag) Rekursive Datenstruktur
MehrAlgorithmen und Datenstrukturen Musterlösung 5
Algorithmen und Datenstrukturen Musterlösung 5 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
MehrGreenfoot: Verzweigungen Nicolas Ruh und Dieter Koch
Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Betrachten wir die act()-methode des Wombats aus dem Wombats-Szenario: Wie interpretieren Sie diesen Code? (einfach übersetzen) Falls der Wombat ein
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 21 (29.7.2014) String Matching (Textsuche) II Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 20 (13.7.2016) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)
MehrGreenfoot: Verzweigungen
Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Betrachten wir die act()-methode des Wombats aus dem Wombats-Szenario: Wie interpretieren Sie diesen Code? (einfach übersetzen) Falls der Wombat ein
Mehr1 2 3 Bewege Stapel von links nach rechts. In jedem Zug darf genau ein Ring bewegt werden. Es darf nie ein größerer auf einen kleineren Ring gelegt we
1 2 3 Bewege Stapel von links nach rechts. In jedem Zug darf genau ein Ring bewegt werden. Es darf nie ein größerer auf einen kleineren Ring gelegt werden. 1 2 3 Bewege Stapel von links nach rechts. In
MehrUML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich
UML / Fujaba Generierung von Java-Quellcode aus UML-Diagrammen Marcel Friedrich Agenda Einleitung Struktur Verhalten Klassendiagramme Storydiagramme Statecharts Action methods 2 Thema Codegenerierung mit
MehrÜbungen / Lösungen Programmieren 1 Felix Rohrer LÖSUNGEN
LÖSUNGEN if / else / else if... 2 Aufgabe 1:... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 3 Aufgabe 6:... 3 Aufgabe 7:... 3 Aufgabe 8:... 4 Aufgabe 9:... 4 Aufgabe 10:... 5 switch...
MehrAlgorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen
Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:
MehrJava. public D find(k k) { Listnode K, D n = findnode(k); if(n == null) return null; return n.data; Java
Einführung Elementare Datenstrukturen (Folie 27, Seite 15 im Skript) Java Java public D find(k k) { Listnode K, D n = findnode(k); if(n == null) return null; return n.data; } protected Listnode K, D findnode(k
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion
MehrObjektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer
Java Kurs Objektorientierung II & die Java Klassenbibliothek Kristian Bergmann und Arthur Lochstampfer Vergleich class Apfel { String farbe; int gewicht; String geerntetin; class Erdbeere { String farbe;
MehrDatenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik
5. Datenstrukturen Motivation Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik Eine Datenstruktur speichert gegebene Daten und stellt auf diesen bestimmte Operationen
Mehr9 Türme von Hanoi Bewege Stapel von links nach rechts. In jedem Zug darf genau ein Ring bewegt werden. Es darf nie ein größerer auf einen kleine
9 Türme von Hanoi 1 2 3 Bewege Stapel von links nach rechts. In jedem Zug darf genau ein Ring bewegt werden. Es darf nie ein größerer auf einen kleineren Ring gelegt werden. 9 Türme von Hanoi 1 2 3 Bewege
MehrII.3.1 Rekursive Algorithmen - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -
MehrAnwendung (2. Versuch:-) Entkopplung der Locks
Gut gemeint aber leider fehlerhaft... Jeder Producer benötigt zwei Locks gleichzeitig, um zu produzieren: 1. dasjenige für den Puffer; 2. dasjenige für einen Semaphor. Musser fürden Semaphor einwait()
MehrM3 M4 M7 VORNAME: Gewinnt VERTIEFUNG:
NACHNAME: Vier SEMESTER: M5 M6 M3 M4 M7 VORNAME: Gewinnt VERTIEFUNG: FV IM VERWENDETE KLASSEN: Als Anlage erhalten Sie einen Ausdruck des vorab bekannt gemachten Quelltextes von verschiedenen Klassen.
MehrAlex J. Champandard: AI Game Development, Chapters Shooting and Aimining
Technische Universität Darmstadt Institut für Informatik Sommersemester 2006 Alex J. Champandard: AI Game Development, Chapters 13-18 Shooting and Aimining Veranstaltung: KE und Lernen in Spielen Leiter:
Mehr// Objekt-Methoden: public void insert(int x) { next = new List(x,next); } public void delete() { if (next!= null) next = next.next; } public String
// Objekt-Methoden: public void insert(int x) { next = new List(x,next); } public void delete() { if (next!= null) next = next.next; } public String tostring() { String result = "["+info; for(list t=next;
MehrEinstieg in die Informatik mit Java
Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere
MehrEinführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.4 Felder Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.4 Felder (Vektoren, "array"s) 2.5 Verschachtelte Schleifen 2.6 "if" Anweisungen 2.7
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung III: D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009,
MehrTutoraufgabe 1 (Implementierung eines ADTs):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Tutoriumslösung - Übung (Abgabe.05.0) F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe (Implementierung eines ADTs): Wir spezifizieren den ADT
MehrVorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
MehrAbschlussklausur Lösung. Bitte in Druckschrift leserlich ausfüllen!
Informatik für Informationsmanager II SS 2006 Universität Koblenz-Landau Institut für Informatik Prof. Dr. Steffen Staab Dr. Manfred Jackel Abschlussklausur 04.08.2006 Lösung Bitte in Druckschrift leserlich
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - Selektoren public class Rechteck
Mehr16. Dynamische Datenstrukturen
Datenstrukturen 6. Dynamische Datenstrukturen Eine Datenstruktur organisiert Daten so in einem Computer, dass man sie effizient nutzen kann. Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange
MehrJava Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public
MehrPrüfung Softwareentwicklung II (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B, IB 2 C Sommersemester 2013 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2013, 08:30 Uhr
MehrAlgorithmen auf Zeichenketten
Algorithmen auf Zeichenketten Rabin-Karp Algorithmus Christoph Hermes hermes@hausmilbe.de Zeichenketten: Rabin-Karp Algorithmus p. 1/19 Ausblick auf den Vortrag theoretische Grundlagen... Zeichenketten:
MehrCoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.
CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
MehrSystem.out.println("TEXT");
Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class
MehrVorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 4 Besprechung: 19. 23.11.2018 (KW 47) Vorbereitende
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;
MehrTutoraufgabe 1 (Implementierung eines ADTs):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Übungsblatt (Abgabe.05.0) F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/
MehrTutoraufgabe 1 (2 3 4 Bäume):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Übung F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe ( Bäume): a) Löschen Sie den Wert aus dem folgenden Baum und geben Sie den dabei
Mehr1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf
MehrInformatik Abitur Bayern 2017 / II - Lösung
Informatik Abitur Bayern 2017 / II - Lösung Autoren: Wolf (1) Wagner (2) Scharnagl (3-5) 1a 5 1b Diese Methode vergleicht den Namen des Interpreten eines jeden Elements der Liste mit dem gegebenen Namen.
MehrAI in Computer Games. Übersicht. Motivation. Vorteile der Spielumgebung. Techniken. Anforderungen
Übersicht AI in Computer Games Motivation Vorteile der Spielumgebung Techniken Anwendungen Zusammenfassung Motivation Vorteile der Spielumgebung Modellierung glaubwürdiger Agenten Implementierung menschlicher
MehrGeneral Video Game AI Competition 2016
General Video Game AI Competition 2016 BFS, MCTS und GA - Einführung Miriam Moneke, Nils Schröder, Tobias Joppen Christan Wirth, Prof. J. Fürnkranz 27.04.2016 Fachbereich Informatik Knowledge Engineering
MehrInformatik II Musterlösung
Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 4 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe ist eine Datei abzugeben,
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Datenstruktur Liste Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 42 Formale Definition
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
MehrWie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?
Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen
MehrSE2-6. Übung Johannes Bürdek
SE2-6. Übung 11.12.2014 Johannes Bürdek johannes.buerdek@es.tu-darmstadt.de Fragen und Support: se2@es.tu-darmstadt.de oder ins Forum: https://moodle.tu-darmstadt.de/mod/forum/view.php?id=56674 ES Real-Time
Mehrpublic class SternchenRechteckGefuellt {
Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und
MehrInformatik II Übung 09
Informatik II Übung 09 Michael Baumann mbauman@student.ethz.ch n.ethz.ch/~mbauman 04.05.2015 Ablauf 1) Nachbesprechung Serie 8 2) Minimax & Alpha-Beta 3) Vorbesprechung Serie 9 2 Serie 8 3 Aufgabe 1 a,
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 05: Weitere Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Weitere Kontrollstrukturen Wiederholungsstrukturen (Schleifen) While-,do-,for-Schleifen
MehrSortieralgorithmen OOPM, Ralf Lämmel
Unterhaltet Euch mal mit Euren Großeltern wie Sortieren früher funktionierte! Sortieralgorithmen OOPM, Ralf Lämmel 230 Eine unsortierte Liste 7 3 2 5 2 3 5 7 Die sortierte Liste 231 Wiederholung: Das Problem
MehrKlausur Einführung in die Informatik I für Elektrotechniker 16. Juli 2003
Fakultät Elektrotechnik/Informatik Klausur Einführung in die Informatik I für Elektrotechniker Name:...................... Matr.-Nr....................... Bearbeitungszeit: 120 Minuten Bewertung (bitte
MehrPraktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14
Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Iman Kamehkhosh, Marcel Preuß, Henning Timm Übungsblatt 11
Mehr13. Dynamische Datenstrukturen
Motivation: Stapel. Dynamische Datenstrukturen Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange, Sortierte Liste 40 40 Motivation: Stapel ( push, pop, top, empty ) Wir brauchen einen neuen
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrÜbungen zum Bioinformatik-Tutorium. Blatt 6
Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 6 Termin: Dienstag, 27.11.2018, 11 Uhr 1. Klassen und
MehrFuzzy Logic. Seminar im Sommersemester 2006 an der TU-Darmstadt (Prof. Dr. Fürnkranz) 06/18/06 Knowledge Engineering in Computer Spielen 1
Fuzzy Logic Seminar im Sommersemester 2006 an der TU-Darmstadt (Prof. Dr. Fürnkranz) 06/18/06 Knowledge Engineering in Computer Spielen 1 Geschichte und Definition Grundlegende Begriffe Fuzzy Process Anwendungen
MehrWuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int
Informatik Eph IFG1/2 (GA) Bearbeitungszeit: 90 min. Seite 1 Aufgabe 1: Kniffel Modellierung und Implementierung Im Folgenden sollen Teile eines kleinen "Kniffel"-Spiels modelliert, analysiert und implementiert
MehrVererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz
Einführung in C++ Vererbung I Durch Vererbung können aus bereits bestehenden Klassen neue Klassen konstruiert werden. Die neue abgeleitete Klasse erbt dabei die Daten und Methoden der sog. Basisklasse.
MehrExercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
MehrAlgorithmen und Datenstrukturen. Übersicht. Interfaces und Generics. InsertionSort für Punkte. InsertionSort für Punkte
Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Übersicht Liste und InsertionSort für e für Objekte beliebiger Klassen für Objekte von Klassen, die ein(e) Nutzer(in) festlegen kann
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
MehrVerteidigung Großer Beleg
Verteidigung Großer Beleg Die GoF-Entwurfsmuster in Java Corinna Herrmann ch17@inf.tu-dresden.de Gliederung 1. Aufgabenstellung 2. Entwurfsmuster 3. Verwandte Arbeiten 4. Beispiele: 4.1. Adapter 4.2. Flyweight
MehrNachklausur LÖSUNG. Bitte in Druckschrift leserlich ausfüllen!
Informatik für Informationsmanger I WS 2005/6 Universität Koblenz-Landau Institut für Informatik Jun.Prof. Dr. Bernhard Beckert Dr. Manfred Jackel Nachklausur 28.02.2007 LÖSUNG Bitte in Druckschrift leserlich
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrProgrammieren in Java
Programmieren in Java Vorlesung 10: Ein Interpreter für While Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1
MehrALP II Dynamische Datenmengen
ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrZeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany
Zeichenketten 16.04.2018 Benedikt Straßner Programming Systems Group Martensstr. 3 91058 Erlangen Germany Übersicht String Matching Algorithmen Naive Stringsuche Knuth Morris Pratt (KMP) Algorithmus Boyer-Moore
MehrKapitel 12: Induktive
Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 15b (13.06.2018) Graphenalgorithmen IV Algorithmen und Komplexität Prims MST-Algorithmus A = while A ist kein Spannbaum do e = u, v ist
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
MehrAlgorithmen implementieren. Implementieren von Algorithmen
Algorithmen implementieren Implementieren von Algorithmen Um Algorithmen ablaufen zu lassen, muss man sie als Programm darstellen (d.h. implementieren) Wie stellt man die algorithmischen Strukturelemente
MehrAbstract State Machines
Abstract State Machines Patrick Köhnen Seminar Systementwurf Übersicht 1. Historie und Praxis 1.1 Yuri Gurevic 1.2 ASMs in der Praxis 2. Was sind ASMs 2.1 Transitionssystem 2.2 Signatur 2.3 -Algebra 2.4
MehrThunderbird-Plugin zur Erkennung anhangverdächtiger s
Masterarbeit Vortrag 27.11.2008 Thunderbird-Plugin zur Erkennung anhangverdächtiger E-Mails Marco Ghiglieri Prof. Dr. Johannes Fürnkranz 18.12.08 Knowledge Engineering Masterarbeit Marco Ghiglieri 1 Agenda
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrDynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
Mehr(08 - Einfache Sortierverfahren)
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (08 - Einfache Sortierverfahren) Prof. Dr. Susanne Albers Sortieren Motivation, Einführung Datenbestände müssen sehr oft sortiert werden, etwa um
MehrAlgorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016
Algorithmen und Datenstrukturen Übung Stefan Florian Palkovits, BSc 09 e09@student.tuwien.ac.at 9. Juni 0 Aufgabe 9: Anwenden der Spanning Tree Heuristik auf symmetrisches TSP 9 8 7 8 8 7 Bilden eines
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung
Mehr7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
Mehr