Informatik II - Übung 10
|
|
|
- Ute Fromm
- vor 9 Jahren
- Abrufe
Transkript
1 Informatik II - Übung 10 Christian Beckel [email protected] Blatt 08 1) Binäre Suche 2) TicTacToe 3) Reversi: checkmove() & GreedyPlayer 4) Backtracking Christian Beckel 09/05/14 2
2 U8.A3: checkmove() Eclipse DEMO (inkl. Debugging G04) Christian Beckel 09/05/14 3 U8.A3: GreedyPlayer! Durch Liste von availablemoves laufen! Initialisierung auf MIN_VAL! eval()-methode Eclipse-Demo! Weitere nützliche Methoden! boolean reversi.gameboard.ismoveavailable(int)! boolean reversi.gameboard.validcoordinates(coordinates)! int reversi.gameboard.countstones(int)! int reversi.utils.other(int) Christian Beckel 09/05/14 4
3 U8.A4: Backtracking! Wie setzt man ein bit, wenn ein Element mitgenommen wird? Wie setzt ich Bit in Selection auf true? Christian Beckel 09/05/14 5 U9.A1: Mini-Max-Algorithmus Strategie von MAX 4 Höhe: 4 Suchtiefe: 3 bester Zug: links MAX MIN MAX MIN Christian Beckel 09/05/14 6
4 U9.A1: Alpha-Beta-Pruning Online Beispiel durchgerechnet: (user: i2 password: i22012) Online JAVA Applet: Another online demo: Christian Beckel 09/05/14 7 Christian Beckel 09/05/14 8
5 U9.A1: Alpha-Beta-Pruning! Der α-β-algorithmus! Reduziert den Spielbaum durch Schnitte! Liefert den gleichen Minmax-Wert der Wurzel wie der MinMax-Algorithmus: Der MinMax-Algorithmus bewertet den vollständigen Suchbaum. Dabei werden aber auch Knoten betrachtet, die in das Ergebnis (die Wahl des Zweiges an der Wurzel) nicht einfliessen. Die Alpha-Beta-Suche ignoriert eben genau diese Knoten! α: Relevant für Auswertung von Min-Knoten (Evaluierung der weiteren Nachfolger kann abgebrochen werden, sobald der berechnete Rückgabewert kleiner-gleich α ist) grösster bisher bekannter Wert aller MAX-Vorfahren des MIN-Knotens! β: Relevant für Auswertung von Max-Knoten (Evaluierung der weiteren Nachfolger kann abgebrochen werden, sobald der berechnete Rückgabewert grösser-gleich β ist) kleinster bisher bekannter Wert aller MIN-Vorfahren des MAX-Knotens Christian Beckel 09/05/14 10
6 U9.A1: Alpha-Beta-Pruning 4 MAX I(4,+ ) L(3) M(4,+ ) MIN 3 α 4 α (4,4) MAX 7 β MIN Christian Beckel 09/05/14 11 U9.A2: Reversi HumanPlayer RandomPlayer GreedyPlayer MinMaxPlayer α-β-player nextmove() wartet auf Eingabe von der Kommandozeile nextmove() wählt einen zufälligen (aber gültigen!) nächsten Zug nextmove() wählt nächsten Zug anhand einer einfachen, nichtrekursiven Bewertungsfunktion nextmove() wählt nächsten Zug anhand Min- Max-Analyse mit neuer Bewertungsfunktion nextmove() wählt nächsten Zug anhand - - Analyse mit eigener Bewertungsfunktion Download Übung 7 Übung 8 Übung 9 Übung 10 Christian Beckel 09/05/14 12
7 U9.A2: MinMax-Player! min() und max()rufen sich abwechselnd auf! Suchtiefe depth wird in jedem Aufruf angepasst! Jedes mal:! Get available moves! Für jeden Move:! Führe Move durch! Rufe min-spieler (bzw. max-spieler) auf! Wähle bestes Ergebnis Eclipse-Demo public Coordinates nextmove(gameboard gb){ BestMove bestmove = null; bestmove = max(d, gb, 0); } return bestmove.coord; Christian Beckel 09/05/14 13 U9.A2: Und nun mit Timeout! Vor Ablauf von timelimit Millisekunden soll nextmove() einen gültigen Zug zurückgegeben public Coordinates nextmove(gameboard gb) { long timeout = System.currentTimeMillis() + timelimit - 10; BestMove bestmove = null; try{ for(int maxdepth=1; ; ++maxdepth) bestmove = max(maxdepth, timeout, gb, 0); }catch(timeout e){ } return bestmove.coord; } Christian Beckel 09/05/14 14
8 U9.A2: Und nun mit Timeout! Einbindung in min() bzw. max() class Timeout extends Throwable{ } private BestMove max(int maxdepth, long timeout, GameBoard gb, int depth) throws Timeout { if( System.currentTimeMillis() > timeout ) throw new Timeout(); if( depth == maxdepth ){ return new BestMove( eval(gb),... );... } return bestmove; Christian Beckel 09/05/14 15 Möglichkeiten für die Bewertungsfunktion! Vorschläge für mögliche, statische Bewertungen! Mobilität! Wieviele Züge sind für mich/den Gegner möglich?! Reihen! Wie viele Reihen zusammenhängender Steine gibt es und! Wie lang sind diese? Auch die Lage der Reihen ist interessant!! Ein voll besetzter Rand ist sehr gut, während eine lange Sequenz in der zweiten Reihe dem Gegner u.u. gute Züge verschafft! Wie viele Steine! werden durch einen Zug umgedreht und in wie viele Richtungen? Liegen die Steine im Inneren oder am Rand?! Wie viele Steine! einer Farbe liegen? (Das ist vielleicht die Bewertungsfunktion für das Endspiel, wenn eine vollständige Analyse des Suchbaums möglich ist; für das Mittelspiel wohl eher ungeeignet)! Positionen! Auf dem Feld bewerten (z.b. Eckpunkte) Christian Beckel 09/05/14 16
9 Weitere Literatur! Inspirationsquelle:! The Development of a World Class Othello Program, Kai-Fu Lee and Sanjoy Mahajan, 1990! Zum Herunterladen von der Reversi-Webseite! username: i2bib! password: reversi! Artificial Intelligence: A Modern Approach (Stuart Russell and Peter Norvig, 2nd Edition, 2003) Christian Beckel 09/05/14 17 Hinweise zu Blatt 10 1) Merge sort 2) Türme von Hanoi 3) Reversi: Alpha-beta player Christian Beckel 09/05/14 18
10 U10.A1: Merge sort! Rekursiver Sortieralgorithmus, der nach dem Prinzip teile und herrsche arbeitet! Erstmals 1945 von John von Neumann vorgestellt! Prinzip: Divide et impera! Trenne (die Gegner) und beherrsche (sie dadurch)! Politische und militärische Strategie! Bereits im römischen Reich angewendet John von Neumann 1903 Budapest 1957 Washington Christian Beckel 09/05/14 19 U10.A1a Handarbeit! Merge sort! Betrachtet die zu sortierenden Daten als Liste und zerlegt sie in kleinere Listen! Die sortierten kleinen Listen werden dann im Reissverschlussverfahren zu grösseren Listen zusammengefügt (merged) Christian Beckel 09/05/14 20
11 U10.A1b Implementierung! ISort: definiert die Schnittstelle! ISort.sort(): nimmt eine ArrayList und gibt eine neue, sortierte ArrayList zurück! MergeSort.java (erstellen)! Implementiert die Schnittstelle ISort! Tipp: rekursive Helfermethode! Tipp: Beim Teilen müssen keine neuen Listen erstellt werden, man kann mit begin-end arbeiten public ArrayList<T> sort(arraylist<t> items) { return sortrec(items, 0, items.size()); } private ArrayList<T> sortrec(arraylist<t> items, int begin, int end) {... } Christian Beckel 09/05/14 21 U10.A1b: Measure.java! 10 "Messpunkte"! Beachtet, dass ihr die Zufallsarrays ausserhalb der Zeitmessungen erstellt!! Messungen wiederholen! je ein Extremwert ignorieren (min und max)! über n Messungen mitteln (insgesamt n+2 Messläufe)! Diagramm erstellen! beliebiges Tool (Bsp: GNUplot, Excel, Matlab, )! Abgabe als Bild! Interpretation wichtig! Christian Beckel 09/05/14 22
12 U10.A2 Türme von Hanoi! Aus der Vorlesung bekannt! Rekursive Lösung des Problems! Die einzige Möglichkeit, die unterste (grösste) Scheibe von Turm 1 nach Turm 3 zu bewegen (a) Auf Turm 1 befindet sich sonst nichts (b) Turm 3 ist leer! Aus (a) und (b) folgt:! Alle anderen Scheiben befinden sich auf Turm 2!! Es müssen zunächst die n-1 anderen Scheiben von Turm 1 zu Turm 2 gebracht werden Christian Beckel 09/05/14 23 U10.A2 Türme von Hanoi! Lösung des 3-Scheiben-Falles! Nennen wir die 3 Felder 1,2,3 und die Scheiben A,B,C! Ein Zahl-Buchstabenpaar gibt an welche Scheibe wohin bewegt werden soll (C2: die grösste der 3 Scheiben soll auf den mittleren Turm gelegt werden)! Lösungsschritte:! A3, B2, A2, C3, A1, B3, A3 (7 Schritte) C A B Christian Beckel 09/05/14 24
13 U10.A2 Türme von Hanoi! Gesetzmässigkeiten erkennen:! Für jeden Schritt bei der Ausführung des rekursiven Algorithmus aus der Vorlesung wird genau ein Turm nicht benötigt.! Geben Sie für die 15 Schritte bei der Umschichtung eines Turms der Höhe 4 die Folge der Nummern derjenigen Türme an, die nicht angefasst werden! Beschreiben Sie Ihren entwickelten Algorithmus in Pseudocode! Für den Anfangsturm der Höhe 4! Sind Anpassungen für Türme der Höhe 5 nötig? Christian Beckel 09/05/14 25 U10.A3: Alpha-beta player! Reversi-Spieler, der nach dem α-β-verfahren vorgeht (sonst wie Minimax-Spieler)! α-β-algorithmus! Implementierung des Verfahrens aus der Vorlesung! Zugabbruch nach wie vor durch ein Timeout Christian Beckel 09/05/14 26
14 Reversi-Turnier!! Mittwoch, den um 14:15 Uhr, Stuz 2 reversi/! Abgabe! Bis Mittwoch, den bis 23:59 (Zürich Time)! An Leyna Sadamori ([email protected])! Alleine, in Zweiergruppen, oder in Dreiergruppen (Aber: die Preise sind für Zweiergruppen ausgelegt!) Christian Beckel 09/05/14 27 viel Spass! Christian Beckel 09/05/14 28
Informatik II - Übung 10
Informatik II - Übung 10 Katja Wolff [email protected] U9.A1: Mini-Max-Algorithmus Strategie von MAX 4 Höhe: 4 Suchtiefe: 3 bester Zug: links MAX 4 0-2 MIN 4 7 3 0 2-2 8 MAX 7-5 2 1 7 8 MIN Informatik
Informatik II Übung 9
Informatik II Übung 9 Katja Wolff [email protected] 1 Othelligence Event Program: Game strategies and game theory Duell Human (German Champion) vs. Machine Panel Apéro Time: Friday, 19.05.2017, 16:00
Informatik II - Übung 11
Informatik II - Übung 11 Christian Beckel [email protected] 15.05.2014 Blatt 10 1) Merge sort 2) Türme von Hanoi 3) Reversi: alpha-beta-suche Außerdem: Sortierverfahren und ihre Komplexität Christian
Informatik II Übung 9
Informatik II Übung 9 Florian Scheidegger [email protected] Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer [email protected], [email protected] Informatik
Informatik II Übung 11 Gruppe 3
Informatik II Übung 11 Gruppe 3 Leyna Sadamori [email protected] Informatik II Übung 11 Leyna Sadamori 17. Mai 2017 1 Nachtrag zu Übung 10 Alpha-Beta-Algorithmus Knotenwerte: Beide Varianten sind
Informatik II - Übung 11
Informatik II - Übung 11 Katja Wolff [email protected] Blatt 10 1) Merge sort 2) Türme von Hanoi 3) Reversi: alpha-beta-suche Außerdem: Sortierverfahren und ihre Komplexität Informatik II Übung 11
Informatik II Übung 09
Informatik II Übung 09 Michael Baumann [email protected] 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,
Informatik II (D-ITET) Übungsstunde 11,
Informatik II (D-ITET) Übungsstunde 11, 17.05.2017 Hossein Shafagh, [email protected] Distributed Systems Group, ETH Zürich Ablauf Besprechung von Übung 10 Hinweise für Übung 11 (Sortieren, O-Notation)
Informatik II Übung 10. Benjamin Hepp 10 May 2017
Informatik II Übung 10 Benjamin Hepp [email protected] 10 May 2017 Nachbesprechung U9 10 May 2017 Informatik II - Übung 01 2 Nachbesprechung U9 1. Spieltheorie 2. Reversi Teil 3 (Vorbesprechung
Informatik II Übung 9 Gruppe 3
Informatik II Übung 9 Gruppe 3 Julia Gygax [email protected] Julia Gygax 02.05.2018 1 Administratives Am 23. Mai beginnt die Übung erst um 13.15 Julia Gygax 02.05.2018 2 Warm up Spielbaum / Generics
Informatik II Übung 09. Benjamin Hepp 3 May 2017
Informatik II Übung 09 Benjamin Hepp [email protected] 3 May 2017 Nachbesprechung U8 3 May 2017 Informatik II - Übung 01 2 Nachbesprechung U8 1. Binaere Suche 2. Knapsack Problem 3. Reversi Teil
Informatik II Übung 9. Pascal Schärli
Informatik II Übung 9 [email protected] Was gibts heute? Warm-Up Nachbesprechung Serie 8 Best-Of Vorlesung: Minimax Alpha Beta Vorbesprechung Serie 9 Info zur Auffahrt 2 Warm - Up Warm-Up (Basisprüfung
Informatik II Übung 11. Pascal Schärli
Informatik II Übung 11 [email protected] Was gibts heute? Warm-Up Nachbesprechung Serie 10 Best-Of Vorlesung: Laufzeitkomplexität Vorbesprechung Serie 11 2 Warm - Up Warm - Up Anzahl Rechenschritte
Informatik II Übung 8
Informatik II Übung 8 Gruppe 2 Carina Fuss [email protected] 25.4.2018 Carina Fuss 25.4.2018 1 Übung 8 Nachbesprechung Übung 7 Vorbesprechung Übung 8 binäre Suche Backtracking anhand vom Rucksackproblem
Informatik II - Übung 07
Informatik II - Übung 07 Katja Wolff [email protected] Besprechung Übungsblatt 6 Informatik II Übung 07 12.04.2017 2 Übungsblatt 6 1.) Klassen, Schnittstellen, Typumwandlung 2.) Schnittstellen und
Informatik II Übung 10. Pascal Schärli
Informatik II Übung 0 Pascal Schärli [email protected] 09.0.0 Was gibts heute? Best-of Vorlesung: Teile und Herrsche Türme von Hanoi Mergesort O-Notation Vorbesprechung: U0A, - Mergesort U0A Türme
Informatik II Übung 7. Gruppe 2 Carina Fuss
Informatik II Übung 7 Gruppe 2 Carina Fuss [email protected] 18.4.2018 Carina Fuss 16.4.2018 1 Übung 7 Hinweise zum Programmieren Nachbesprechung Übung 6 Vorbesprechung Übung 7 ArrayList und Generics
Informatik II Übung 8 Gruppe 3
Informatik II Übung 8 Gruppe 3 Leyna Sadamori [email protected] Informatik II Übung 8 Leyna Sadamori 26. April 2017 1 Debriefing Übung 7 2 U7A1 Generics Grundprinzip sehr simpel Iteration über
Informatik II - Übung 08
Informatik II - Übung 08 Katja Wolff [email protected] Übungsblatt 7 Informatik II Übung 08 26.04.2017 2 U7.A1: IFilter public ArrayList filterraw( ArrayList groups ) { ArrayList result = new ArrayList();
Informatik II - Übung 08
Informatik II - Übung 08 Christian Beckel [email protected] 17.04.2014 U7.A1: IFilter public ArrayList filterraw( ArrayList groups ) dynamic ArrayList result = new ArrayList(); cast for( int i = 0; i
Informatik II Übung 7
Informatik II Übung 7 Florian Scheidegger [email protected] Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer [email protected], [email protected] 18.04.2013
Informatik II - Übung 07. Christian Beckel
Informatik II - Übung 07 Christian Beckel [email protected] 15.04.2015 Heute Besprechung Blatt 06 Demo: Objektorientierte Programmierung Hinweise zu Blatt 07 Christian Beckel 15/04/15 2 Besprechung Übungsblatt
Informatik II Übung 7 Gruppe 3
Informatik II Übung 7 Gruppe 3 Julia Gygax [email protected] Julia Gygax 18.04.2018 1 Nachbesprechung Übung 6 Julia Gygax 18.04.2018 2 Aufgabe 1 Klassen, Schnittstellen und Typumwandlungen Julia Gygax
Rekursion. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Divide et Impera im Römischen
Praktikum Algorithmen-Entwurf (Teil 7)
Praktikum Algorithmen-Entwurf (Teil 7) 28.11.2005 1 1 Vier gewinnt Die Spielregeln von Vier Gewinnt sind sehr einfach: Das Spielfeld besteht aus 7 Spalten und 6 Reihen. Jeder Spieler erhält zu Beginn des
Mergesort. Inhaltsverzeichnis. Veranschaulichung der Funktionsweise. aus Wikipedia, der freien Enzyklopädie
Mergesort aus Wikipedia, der freien Enzyklopädie Mergesort ist ein rekursiver, stabiler Sortieralgorithmus, der ähnlich wie Quicksort nach dem Prinzip Teile und herrsche (engl. Divide and conquer) arbeitet.
Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
Institut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2013/14 Aufgabenblatt 5 2. Dezember
Informatik II Übung 7. Pascal Schärli
Informatik II Übung 7 [email protected] Was gibts heute? Warm-Up Nachbesprechung Serie 6 Best-Of Vorlesung: Generics Binäre Suchbäume Spielbäume Vorbesprechung Serie 7 2 Warm - Up Warm-Up interface
Tutoraufgabe 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
Probeklausur zur Vorlesung
Dr. Jochen Hoenicke Alexander Nutz Probeklausur zur Vorlesung Einführung in die Informatik Sommersemester 2014 Die Klausur besteht aus diesem Deckblatt und elf Blättern mit den Aufgaben, sowie einem Blatt
Informatik II. PVK Part1 Severin Wischmann [email protected] n.ethz.ch/~wiseveri
Informatik II PVK Part1 Severin Wischmann [email protected] n.ethz.ch/~wiseveri KAUM JAVA Kaum Java Viel Zeit wird für Java-spezifisches Wissen benützt Wenig wichtig für Prüfung Letztjähriger Assistent
Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen
Einführung in die Methoden der Künstlichen Intelligenz Suche bei Spielen Dr. David Sabel WS 2012/13 Stand der Folien: 5. November 2012 Zwei-Spieler-Spiele Ziel dieses Abschnitts Intelligenter Agent für
Informatik II (D-ITET)
Informatik II (D-ITET) [email protected] Distributed Systems Group, ETH Zürich Informatik II (D-ITET) 1 Ablauf Nachbesprechung Übung 6 Besprechung der Vorlesung Die neue Serie... Zeit zum Programmieren
Informatik II - Tutorium 12
Informatik II - Tutorium 12 Vincent Becker [email protected] 23.05.2018 Vincent Becker 24.05.2018 1 Reversi-Turnier 30.5.2018 Deadline für Einreichung SONNTAG NACHT!!! Umfrage Bitte an Umfrage
Vorkurs Informatik WiSe 17/18
Java Rekursion Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 10.10.2017 Technische Universität Braunschweig, IPS Überblick Einleitung Türme von Hanoi Rekursion Beispiele 10.10.2017 Dr. Werner Struckmann
TECHNISCHE UNIVERSITÄT MÜNCHEN. Abgabe: (vor der Vorlesung)
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Übungsblatt 6 Prof. Dr. Helmut Seidl, T. M. Gawlitza,
Wiederholungsblatt Einführung in die Programmierung Lösungen
Ludwig-Maximilians-Universität München Institut für Informatik Prof. Dr. Peer Kröger Michael Fromm, Florian Richter WiSe 2018/2019 09.02.2019 Wiederholungsblatt Einführung in die Programmierung Lösungen
Informatik II Übung 2. Gruppe 4. Lukas Burkhalter (Folien teils von Christian B. und Leyna S.)
Informatik II Übung 3 Gruppe 4 (Folien teils von Christian B. und Leyna S.) Lukas Burkhalter [email protected] Informatik II Übung 2 Lukas Burkhalter 14. März 2018 1 Ablauf der Übung Nachbesprechung der
Informatik II (D-ITET) Übungsstunde 8,
Informatik II (D-ITET) Übungsstunde 8, 27.04.2017 Hossein Shafagh, [email protected] Distributed Systems Group, ETH Zürich The Heartbleed Bug *http://heartbleed.com/ 2 Ablauf Besprechung von Übung 7
Software Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
Prüfung Algorithmen und Datenstrukturen I
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IF 3 B Wintersemester 2016/17 Prüfung Algorithmen und Datenstrukturen I Datum : 23.01.2017, 08:30 Uhr
JAVA - Suchen - Sortieren
Übungen Informatik I JAVA - Suchen - Sortieren http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Suchen/Sortieren binary search mergesort bubblesort Übungen Informatik
Prüfung Algorithmen und Datenstrukturen I
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IF 3 B Wintersemester 2014/15 Prüfung Algorithmen und Datenstrukturen I Datum : 20.01.2015, 10:30 Uhr
Informatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp [email protected] 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
Algorithmen und Datenstrukturen Heapsort
Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das
9 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
Backtracking mit Heuristiken
Backtracking mit Heuristiken Thomas Dübendorfer [email protected] 14. September 2000 Inhalt und Ablauf 1. Einführendes Beispiel (4 min) 2. Konzepte zu Backtracking (8 min) 3. Eingesperrt im Labyrinth
Informatik II Übung 2. Pascal Schärli
Informatik II Übung 2 Pascal Schärli [email protected] 08.03.2018 Code Expert Pascal Schärli 08.03.2018 2 Nachbesprechung Serie 1 Aufgabe 1 a) Induktionsbeweis über a möglich? Nein! Der Induktionsanfang
Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen
Einführung in die Methoden der Künstlichen Intelligenz Suche bei Spielen Prof. Dr. Manfred Schmidt-Schauß SoSe 2016 Stand der Folien: 12. Mai 2016 Zwei-Spieler-Spiele Ziel dieses Abschnitts Intelligenter
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik [email protected] [email protected] Merge-Sort Anwendbar für
II.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 -
Informatik II - Übung 01
Informatik II - Übung 01 Raphael Fischer (Folien basierend auf denen von Christian Beckel) [email protected] 01.03.2017 Wie sieht eine Übungsstunde aus? 1) Fragen aus der Vorlesung! 2) Praktische
Programmiertechnik II Klausur SS 2018 Angewandte Informatik Bachelor
Programmiertechnik II Klausur SS 2018 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 9 2 12 3 12 4 15 48 5 23 6 13 7 20 8 16 Summe 120 Note Prof. Dr. O.
Informatik 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.
Programmieren in Java
Programmieren in Java Vorlesung 11: Generic Methods Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 15 Inhalt
// 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;
Klausur - Informatik I SS 05. Note: Bearbeitungszeit 120 Minuten Keine Hilfsmittel
Klausur - Informatik I SS 05 Aufgabe 1 2 3 4 Punkte 40 30 40 10 Gesamtpunkte (max. 120): Note: Bearbeitungszeit 120 Minuten Keine Hilfsmittel Tragen Sie als erstes Ihren vollständigen Namen und Ihre Matrikelnummer
Einführung in Heuristische Suche
Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?
1. Die rekursive Datenstruktur Liste
1. Die rekursive Datenstruktur Liste 1.4 Methoden der Datenstruktur Liste Die Warteschlange (Queue) ist ein Sonderfall der Datenstruktur Liste. Bei der Warteschlange werden Einfügen und Entfernen nach
Algorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
Informatik II - Übung 12
Informatik II - Übung 12 Katja Wolff [email protected] Übungsblatt 11 1) Sortieren mit Suchbäumen 2) Zeitkomplexität 3) Ein neuer Rechner! 4) Ein Springer auf dem Schachbrett Informatik II Übung
Aufrufe von Objektmethoden
Aufrufe von Objektmethoden SWE-35 Objektmethoden werden für ein bestimmtes Objekt aufgerufen; sie benutzen dessen Objektvariablen: double r = big.getradius (); Methodenaufrufe können auch die Werte von
Übungen zum Vortrag Backtracking mit Heuristiken
Übungen zum Vortrag Backtracking mit Heuristiken A) Java-Implementierung studieren von Backtracking im Labyrinth B) Pseudocode schreiben zu Backtracking beim n Damen Problem C) Implementierung der Springerwege
Anwendungsbeispiel MinHeap
Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n
Die Formel für die Standardabweichung lautet (ohne die Wurzel haben wir die Varianz):
Mittelwert und Standardabweichung Klasse: StandardDeviation Schreiben Sie ein Programm StandardDeviation, das von den zufällig erzeugten Werten eines Arrays beliebiger Größe den Mittelwert und die Standardabweichung
Zwei-Spieler-Spiele. Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen. Schach. Schach (2)
Einführung in die Methoden der Künstlichen Intelligenz Suche bei Spielen Prof. Dr. Manfred Schmidt-Schauß Ziel dieses Abschnitts Intelligenter Agent für Zweipersonenspiele Beispiele: Schach, Dame, Mühle,...
Vorkurs Informatik WiSe 16/17
Java Rekursion Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 11.10.2016 Technische Universität Braunschweig, IPS Überblick Einleitung Beispiele 11.10.2016 Dr. Werner Struckmann / Stephan Mielke,
Wiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen.
Wiederholung Baum: Gerichteter Graph, der die folgenden drei Bedingungen erfüllt: Es gibt einen Knoten, der nicht Endknoten einer Kante ist. (Dieser Knoten heißt Wurzel des Baums.) Jeder andere Knoten
