Diskrete Simulation. Diskrete Simulation. Diskrete Simulation Einführung. Inhalt. Prinzip der diskreten Simulation
|
|
- Henriette Geiger
- vor 7 Jahren
- Abrufe
Transkript
1 Einführung Inhalt Prinzip der diskreten Simulation Modellierung mit Ereignissen Verarbeitungsprozesse und Betriebsmittel DEVS Modelle Diskreter Simulationsalgorithmus Abbildung von diskreten Modellen in AnyLogic *
2 Ereignisorientierte Modellierung Reduzierung des Verhaltens auf die wesentlichen Ereignisse Modellierung der Änderungen an Ereigniszeitpunkten Modellierung der Zeitspannen zwischen den Ereignissen diskrete Zustandsänderung S s 1 s 2 Zeitspanne? T Beispiele: Abfahrt - Ankunft Bestellung - Lieferung Schicken - Empfangen von einem zum nächsten Schwellwert Input - Output Beginn - Ende Tätigkeit + Beispiel: Simulation von Gatterschaltungen Bei der Simulation von Gatterlogik (Logiksimulation) werden die Schaltvorgänge auf diskrete Werte und Ereignisse abstrahiert. Dabei werden in den Gattern Gatterlaufzeiten berücksichtigt, die die zeitliche Verzögerung der Signale in den Gattern darstellen. Eventuell werden auch Leitungslaufzeiten berücksichtigt & Verzögerung durch Leitungslaufzeit Verzögerung durch Gatterlaufzeit ,
3 Zeitspannen Wesentlich ist die Modellierung der Zeitspannen zwischen den Ereignissen Abstraktion der Aktivitäten / Tätigkeiten auf die Zeitspannen von Anfang und Ende Möglichkeiten der Modellierung von Zeitspannen deterministisch: exakte Zeitspanne wird durch eine Formel bestimmt stochastisch: Zeitspanne wird zufällig nach einer bestimmten Zufallsverteilung bestimmt siehe stochastische Simulation - Prinzip der diskreten Simulation parallele Entitäten mit durch Ereignisse begrenzten Aktivitäten Ereignisse zu unterschiedlichen, beliebigen Zeitpunkten Abarbeitung der Ereignisse in zeitlicher Ordnung Simulation springt von Ereignis zu Ereignis.
4 Prinzip der diskreten Simulation Aufgrund der aktuellen Zustände lassen sich die Zeitpunkte, wann die nächsten Ereignisse auftreten, bestimmen Zustandsänderungen passieren nur bei Ereignissen Zu jedem Zeitpunkt gibt es ein nächstes Ereignis, bis dahin passiert nichts (keine Zustandsänderungen, keine neuen Ereignisse) Dieses nächste Ereignis wird durchgeführt: entsprechende Zustandsänderungen werden gemacht eingeplante aber hinfällige Ereignisse werden gelöscht neue Ereignisse werden eingeplant / Anwendungen der diskreten Simulation Diskrete Prozeßsimulation: Leistungsanalyse von Systemen Fertigungssysteme Transportsysteme Verkehrssysteme Computersysteme (Rechnerarchitektur) Kommunikationssysteme LAN Betriebliche Abläufe Lagerbestandshaltung... Aber auch allgemein Verhaltensanalyse Hardwareentwurf (Logik) ereignisorientiertes Simulation von kontinuierlichem Verhalten... 0
5 Diskrete Prozesssimulation Systemen gesehen als Betriebsmittel (Resourcen) Verarbeitung von Elementen unter Verwendung von Betriebsmittel Untersuchung von Systemen bezüglich Leistung: Durchsatz Umlaufzeiten Wartezeiten Bearbeitungszeiten Auslastung/Belegung der einzelnen Komponenten Engpässe erforderliche Größe der Pufferplätze, Warteschlangen, Lager Verhalten bei Ausnahmefällen, Ausfällen, Fehlverhalten 1 DEVS - Discrete Event Specified System Formalismus für ereignisorientierte Systeme analog den Automaten und Differentialsystemen DEVS = < X, S, Y, δ int, δ ext, ta, λ > X: Menge der Eingabeereignisse Y: Menge der Ausgabeereignisse S: die Menge der Zustände δ ext : Q x X S ta: S R + {0, } δ int : S S externe Übergangsfunktion mit Q = { (s,e) s S und 0 e ta(s) Zeitfortschrittsfunktion assoziiert mit jedem Zustand eine Zeitspanne, die dieser Zustand von sich aus bestehen bleibt bevor ein interner Zustandsübergang ausgelöst wird. λ: S Y Ausgabefunktion interne Übergangsfunktion (zeitgetriggerte Ereignisse) -
6 Verhalten eines DEVS Modells 2 Ereignisse interne Ereignisse (zeitlich eingeplante Ereignisse, Zeitereignisse) War das System zu einem Zeitpunkt t für ta(s) Zeiteinheiten im Zustand s (die seit dem letzten Ereignis vergangene Zeit e ist gleich ta(s) ), so tritt ein internes Ereignis auf, d.h. es wird das System in den Zustand s = δ int (s) übergeführt, die Ausgabe λ(s) gemacht und die vergangene Zeit e wird auf 0 gesetzt externe Ereignisse (Eingabeereignisse) War das System zu einem Zeitpunkt t für e ta(s) Zeiteinheiten im Zustand s und tritt ein Eingabeereignis x auf, so wird das System in den Zustand s = δ ext (s,e,x) übergeführt und die vergangene Zeit e wird auf 0 gesetzt.. SingleServer: Ankunft - Warten - Verarbeitung Single Server Bespiel: Einfache Bedienstation Beispielproblem: Schalter mit einem Schalterbeamten folgende Fragen: - durchschnittliche Länge der Warteschlange - durchschnittliche Wartezeit - Durchsatz - Auslastung des Beamten /
7 Single Server: Simulation Zeit Ereignis eingeplantefolgeereignisse 0 Ankunft a, Beginn der Bedienung a 5: Ende der Bedienung a 5 Ende Bedienung a 7 Ankunft b, Beginn der Bedienung b 12: Ende der Bedienung b 9 Ankunft c, Einreihen in Warteschlange c 12 Ende Bedienung b Beginn der Bedienung c 17: Ende der Bedienung c SingleServer: Verhalten in phase busy idle queue ( ) a (a) ( ) b (b) c (b c) (c) ( ) out a b c 0
8 SingleServer: DEVS-Modell SingleServer = (X, Y, S, δ ext, δ int, λ, ta) X = { in in {a, b, c,... } } Y = { out out {a, b, c,... }} S = {(timeleft, phase, queue) timeleft R + 0, phase {idle, busy}, queue {a, b, c,... }*} δ ext (((timeleft, phase, queue), e, in) queue = queue.insert(in) case (phase) idle: phase = busy timeleft = 10 busy: phase = busy timeleft = timeleft - e δ int,λ ((timeleft, phase, queue)) out = queue.getfirst() queue = queue.removefirst() if queue.isempty() then phase = idle timeleft = else timeleft = 10 ta ((timeleft, phase, queue)) return( timeleft ) // continue with the current job // output is the first in the queue // no jobs to process, hence passivate // begin to service next job // the time advance specified by timeleft *1 Single Server: Blockdiagram und Statechart-Modell idle in / queue.insert(in); timeleft = SERVICE_TIME timeleft [queue.size() == 1] / out.send(queue.getfirst(); queue.removefirst(); busy timeleft [! queue.size > 1 ] / out.send(queue.getfirst(); queue.removefirst(); timeleft = SERVICE_TIME in / queue.insert(in); timeleft = timeleft e; *
9 Generator: Erzeugen von Elementen aktives DEVS ohne Eingabe Generierung von ereignisorientierten Trajektorien Generator = <Y, S, δ int, λ, ta> Y = {out out Jobs} S = {(timeleft, nrgenerated) timeleft R+0, jobid {a, b, c,...}} } δ int,λ ((timeleft, phase, queue, IA_TIME)) out = jobid jobid == next jobid nrgenerated=+1 timeleft = IA_TIME ta ((timeleft, phase, queue)) return( timeleft ) *. Sink: Aufnahme von Elementen passiv nur externe Eingaben Berechnung des Durchsatzes Sink = <X, S, δ ext > X = {in in Jobs} S = {(thruput, number, totaltime) thruput R, number N, totaltime R} δ ext ((thruput, number, totaltime), e, in) number = number + 1 totalelapsedtime = totaltime + e thruput = number / totaltime ta ((timeleft, phase, queue)) = s 0 = (0, 0, 0) // Anfangszustand */
10 DEVS-Netzwerke (DEVN oder gekoppelte DEVS) DEVN = < X, Y, D, EIC, EOC, IC, Select > X Y D EIC EOC IC wobei Select : 2D D ist die Menge der Eingabewerte ist die Menge der Ausgabewerte ist die Menge der Komponenten ist die externe Eingabekopplung ist die externe Ausgabekopplung ist die interne Kopplung ist die Konfliktlösefunktion (tie breaking function) Elemente d D sind atomare oder gekoppelte DEVS Modelle EIC ist die Menge der Kopplungen von Eingabeports des gekoppelten DEVS zu Eingabeports von Komponenten EOC ist die Menge der Kopplungen von Ausgabeports von Komponenten zu Ausgabeports des Netzwerks IC ist die Menge der Kopplungen zwischen den Komponenten, d.h. Kopplungen von Ausgabeports von Komponenten zu Eingabeports von Komponenten. Die Funktion Select wählt bei Gleichzeitigkeit von nächsten internen Ereignissen eine Komponente aus *2 Beispiel eines DEVS Netzwerks out out in SingleServer out in in JobGe nerator Env Thru put Env-SingleServer *0
11 Beispiel eines DEVS Netzwerks: Mengenschreibweise Env = < X, Y, D, EIC, EOC, IC, Select > X = {in in {a, b, c,... }} Y = {out out {a, b, c,... }} D = {Generator, Thruput} EIC = {(Env.in, Thruput.in} EOC = {(Generator.out, Env.out)} IC = { } Select : { } { } {Generator} {Generator} {Thruput} {Thruput} {Generator, Thruput} {Generator} Env-SingleServer = < X, Y, D, EIC, EOC, IC, Select> X = { } Y = { } D = {SingleServer, Env} EIC = {} EOC = {} IC = {(Env.out, SingleServer.in), (SingleServer.out, Env.in)} Select = (SingleServer, Env) +1 Simulationsalgorithmus für diskrete Systeme (allgemein) Datenstrukturen Modell mit Zuständen und Zustandverhalten bei Ereignissen Simulationszeit Ereignisliste: Liste von eingeplanten Ereignissen nach Zeitpunkt sortiert Simulationsschleife do Gehe zu Ereignis mit minimaler Ereigniszeit (*) Setze Simulationszeit auf diese Ereigniszeit Führe Ereignis durch, d.h. führe alle Zustandsänderungen durch plane neue Ereignisse ein bzw. lösche nicht mehr gültige Ereignisse until Ende der Simulation (*) bei mehreren Ereignissen mit gleicher nächster Zeit entscheide nach einer vorgegeben Priorität +
12 Simulationsalgorithmus für DEVS Modelle n Komponenten mit DEVS d = < X d, S d, Y d, δ int,d, δ ext,di, ta d, λ d > tn d = t + ta d (s d ) Simulationsschleife ist der nächste Zeitpunkt für internes Ereignis bei d δ λ λ δ +* Implementierung von Ereignislisten Anforderungen : schneller Zugriff auf das minimale Element schnelles Löschen und sortiertes Einfügen von Elementen Varianten: lineare Liste Heap AVL-Bäume ++
13 Heap für Ereignislisten Binärer Baum organisiert nach der Heap-Bedingung: Ein Vaterknoten ist immer kleiner als seine Söhne Sortieren des Baums: Ein Knoten wird durch Sickern nach oben oder unten richtig einsortiert Sickern durch Vertauschen von Vater- und Sohnknoten Ein Knoten sickert nach oben, wenn sein Vater größer als er selbst ist Ein Knoten sickert nach unten, wenn sein kleinerer Sohn kleiner als er selbst ist. Komplexität: Zugriff auf das kleinste Element: Zugriff auf die Wurzel (Komplexität O(1)) Löschen des ersten Elements: Ersetzen des ersten durch das letzte Element und eventuell sickern nach unten (Komplexität O(ld n)) Einfügen eines neuen Knotens: Einfügen an die letzte Stelle und eventuell sickern nach oben (Komplexität O(ld n)) Neu Einsortieren eines eingefügten Knotens: Sickern nach oben oder unten (Komplexität O(ld n)) +, in AnyLogic AnyLogic bietet für die diskrete Simulation Statecharts mit Port und dynamic events Time Events Change Events Timers Ports und Message-Kommunikation inklusive Queue bei Ports +.
14 AnyLogic Statecharts: Zeitereignis Zeitspanne bis Transition triggern soll konstanter Wert, Bsp.: 2.56 jeder Ausdruck, welcher einen numerischen Wert liefert, insbesondere Zufallsverteilungen, welche eine zufällige Zeitspanne liefern soll Bsp.: Trigger: 2.56 Trigger: mydistrexponent.get() +/ AnyLogic Timers Timers sind Objekte die Ereignisse in der Zeit auslösen und bei Auslösen Ihre Expiry action ausführen. Es gibt: Chart oder Static timers: werden im Strukturdiagramm angelegt sind statisch werden mit immer wieder gestartet und mit angehalten +2
15 AnyLogic Timers (2) Dynamic Timers werden abgeleitet von Verhalten: werden dynamisch mit Zeitspanne erzeugt, laufen ab, führen ihre Expiry action aus und werden dann zerstört +0 AnyLogic Timers (3): Beispiel Delay -Baustein mit nimmt ein Objekt auf und gibt es verzögert am Ausgabeport aus,1
16 Ereigniscode in AnyLogic Bei Zustandsübergängen in Statecharts bei Bei Timers bei Bei den Ports in den Code-Teilen Achtung: dieser Action-Codes müssen immer mit abschließen, wenn die Message weiter behandelt werden soll!!!!, AnyLogic Beispielmodell SingleServer,*
17 AnyLogic Modellbeispiel Generator, Sink, gekoppeltes Modell,+
Example Ptolemy Model of Comp.: Synchronous Reactive
Prinzip: Example Ptolemy Model of Comp.: Synchronous Reactive Annahme: unendlich schnelle Maschine Diskrete Ereignisse (DE) werden zyklisch verarbeitet (Ereignisse müssen nicht jede Runde eintreffen) Pro
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
Simulation technischer Systeme
Simulation technischer Systeme SS 2004 Herbert Praehofer Institut für Systemwissenschaften Johannes Kepler Universität Linz hp@cast.uni-linz.ac.at copyright: Herbert Praehofer, Universität Linz, Adelinde
Auswählen nach Rang (Selektion)
Auswählen nach Rang (Selektion) Geg.: Folge X von n Schlüsseln, eine Zahl k mit k n Ges.: ein k-kleinster Schlüssel von X, also den Schlüssel x k für X sortiert als x x 2 L x n trivial lösbar in Zeit O(kn)
Diskrete Ereignis Simulation. Proseminar: Algorithmen der Verkehrssimulation Jörg Blank
Diskrete Ereignis Simulation Proseminar: Algorithmen der Verkehrssimulation Jörg Blank Definitionen zeitdiskrete Simulation System: Auschnitt der Realität Ereignis: Zustandsänderungen in Systemen Simulation:
Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel
Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume
Dynamische Datenstrukturen
Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten
2. Vorlesung. Systemtheorie für Informatiker. Dr. Christoph Grimm. Professur Prof. Dr. K. Waldschmidt, Univ. Frankfurt/Main
2. Vorlesung Systemtheorie für Informatiker Dr. Christoph Grimm Professur Prof. Dr. K. Waldschmidt, Univ. Frankfurt/Main Letzte Woche: EA-System Eingabe: Ausgabe: u y t E/A-System 2. Vorlesung Systemtheorie
11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
Zelluläre Automaten. Zelluläre Automaten sind einfache Simulationssysteme zur Untersuchung von komplexen Interaktionsmuster
Motivation sind einfache Simulationssysteme zur Untersuchung von komplexen Interaktionsmuster einfache Zellen räumlich angeordnet einfache Interaktionsmuster (Beziehungen zwischen benachbarten Zellen)
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
Ü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
Ereignisbasierte Modellierung und Simulation
Ereignisbasierte Modellierung und Simulation Allgemeines Warteschlangennetze Von Zustandsautomaten zu Markowmodellen Ereignisautomaten Petrinetze DEVS Discrete Event Specification Ereignisbasierte Simulation
Informatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
Rotation. y T 3. Abbildung 3.10: Rotation nach rechts (analog links) Doppelrotation y
Die AVL-Eigenschaft soll bei Einfügungen und Streichungen erhalten bleiben. Dafür gibt es zwei mögliche Operationen: -1-2 Rotation Abbildung 3.1: Rotation nach rechts (analog links) -2 +1 z ±1 T 4 Doppelrotation
Programmiertechnik II
2007 Martin v. Löwis Priority Queues and Heapsort 2007 Martin v. Löwis 2 Priority Queue Abstrakter Datentyp Inhalt: Elemente mit Priorität Operationen: Einfügen: Angabe des Elements und seiner Priorität
5 Bäume. 5.1 Suchbäume. ein geordneter binärer Wurzelbaum. geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt:
5 Bäume 5.1 Suchbäume Sei ein geordneter binärer Wurzelbaum. Sei Abbildung der Knotenmenge eine in eine vollständig geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt: Falls sortiert ist,
Kombinierte Simulation
Kombiniert diskretkontinuierliche Simulation Kombiniert diskret-kontinuierliche Simulation kontinuierliches Verhalten spezifiziert mittels Differentialsystemen ereignisorientiertes Verhalten spezifiziert
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
Vorlesung und Übung. Modellierung, Simulation, Entwurf heterogener Systeme. Dr. Christoph Grimm Professur Technische Informatik
Vorlesung und Übung Modellierung, Simulation, Entwurf heterogener Systeme - Am Beispiel SystemC Dr. Christoph Grimm Professur Technische Informatik 1 Dr. Ch. Grimm - Modellierung und Simulation heterogener
Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum.
Hochschule der Medien Prof Uwe Schulz 1 Februar 2007 Stuttgart Klausur Informatik 2, EDV-Nr 40303/42022 Seite 1 von 2 Name: Matr Nr: Teil 1: Keine Hilfsmittel Bearbeitungszeit: 20 Minuten Teil 1 Teil 2
Lösungsvorschläge zur Hauptklausur Datenstrukturen
Lösungsvorschläge zur Hauptklausur 9 9 166211663 Datenstrukturen 9. August 2003 Seite 2 Lösungsvorschlage zur Klausur vom 9.08.2003 Kurs 166211663,,Datenstrukturen" Aufgabe 1 Bei jedem rekursiven Aufruf
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
Algorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
Sprachen und Modellierungssysteme der diskrete Simulation
Sprachen und Modellierungssysteme der diskrete Simulation Standard-Programmiersprachen Prozessorientierte Transaktionsorientierte Sprachen und Systeme Petri-Netze Sprachen und Systeme für diskrete Modellierung
VHDL Simulation. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
VHDL Simulation Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 VHDL Simulation 1/20 2011-05-18 Motivation Der Simulationsalgorithmus
! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -
! 1. Rekursive Algorithmen! 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Ausdruck Ausdruck Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ Ausdruck ] ( Ausdruck
7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
Informatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 15. Jan Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 10
Universität Augsburg, Institut für Informatik WS 009/010 Prof. Dr. W. Kießling 15. Jan. 010 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 10 Aufgabe 1: B-Bäume Datenbanksysteme I a) Abschätzen der Höhe
Denition: Rang eines Elements e einer Folge s = Position von e in sort(s) (angefangen bei 1). Frage: warum ist r nicht notwendig eindeutig?
207 Auswahl (Selection) Denition: Rang eines Elements e einer Folge s = Position von e in sort(s) (angefangen bei 1). Frage: warum ist r nicht notwendig eindeutig? // return an element of s with rank k
Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :
Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm
Inhalte Sequenzdiagramm Kollaborationsdiagramm Dynamisches Modell Seite 1 Sequenzdiagramm Ein Sequenzdiagramm beschreibt die zeitliche Abfolge von Interaktionen zwischen einer Menge von Objekten innerhalb
Dynamisches Huffman-Verfahren
Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
13. Bäume: effektives Suchen und Sortieren
13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Version: 25. Jan. 2016 Schwerpunkte Aufgabe und Vorteile von Bäumen Sortieren mit Bäumen Ausgabealgorithmen:
Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit
Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält
21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3
581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv
13. Bäume: effektives Suchen und Sortieren
Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
Strukturiertes Programmieren
Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Institut für Informatik Prof. Dr. E.-G. Schukat-Talamazzini http://www.minet.uni-jena.de/fakultaet/schukat/ Prof. Dr. P. Dittrich
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Heaps Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 469 Prioritätswarteschlange Problem Häufig ist das Prinzip einer einfachen Warteschlangen-Datenstruktur
Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt
Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Aufgaben zur Klausur Objektorientierte Programmierung im WS 2003/04 (IA 252) Zeit: 90 Minuten erlaubte Hilfsmittel: keine
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
ContainerDatenstrukturen. Große Übung 4
ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne
5.5 Prioritätswarteschlangen
5.5 Prioritätswarteschlangen LIFO- und FIFO-Warteschlangen entfernen Werte aus der Warteschlange in Abhängigkeit davon, wann sie in diese eingefügt wurden Prioritätswartschlangen interpretieren die Werte
3.2. Divide-and-Conquer-Methoden
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch
Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x
16. 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
Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern
Datenstrukturen und Algorithmen 7. Suchen in linearen Feldern VO 708.031 Suchen in linearen Feldern robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische
1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen
1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ ] ( ) Infix-Operator Methodenaufruf new
Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer
Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer Institut für Informatik Georges-Köhler-Allee Albert-Ludwigs-Universität Freiburg
Informatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 9.6.2017 Giuseppe Accaputo g@accaputo.ch 1 Aufbau des PVK Tag 1: Java Teil 1 Tag 2: Java Teil 2 Tag 3: Algorithmen & Komplexität Tag 4: Dynamische Datenstrukturen,
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,
7 Weitere Baumstrukturen und Heapstrukturen
7 Weitere Baumstrukturen und Heapstrukturen Man kann kurze Suchzeiten in Baumstrukturen erreichen durch Rebalancierung bei Einfügungen und Löschungen (AVL Bäume, gewichtsbalancierte Bäume, Bruderbäume,
Endliche Automaten. Minimierung. Karin Haenelt. Karin Haenelt, 2004, FSA-Minimierung, ( )
Endliche Automaten Minimierung Karin Haenelt 1 Inhalt Vorteile eines Minimalautomaten Fälle für die Minimierung Minimierungsalgorithmus für deterministische endliche Automaten (mit totaler Übergangsfunktion)
Einführung in die Programmierung II. 9. Dynamische Datenstrukturen: Binärbäume
-1- Einführung in die Programmierung II 9. Dynamische Datenstrukturen: Binärbäume Thomas Huckle, Stefan Zimmer 20. 6. 2007 Binärbäume Als Beispiel für eine interessantere dynamische Datenstruktur sehen
11. Elementare Datenstrukturen
11. Elementare Datenstrukturen Definition 11.1: Eine dynamische Menge ist gegeben durch eine oder mehrer Mengen von Objekten sowie Operationen auf diesen Mengen und den Objekten der Mengen. Dynamische
Modellgestützte Analyse und Optimierung Übungsblatt 4
Fakultät für Informatik Lehrstuhl 4 Peter Buchholz, Jan Kriege Sommersemester 2015 Modellgestützte Analyse und Optimierung Übungsblatt 4 Ausgabe: 27.04.2015, Abgabe: 04.05.2015 (12 Uhr) Aufgabe 4.1: Verteilungsfunktionen
Suchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 156, Seite 56 im Skript) Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die letzte Ebene vollständig besetzt ist,
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B4. Priority Queues und Heaps Marcel Lüthi and Gabriele Röger Universität Basel 28. März 2018 Einführung Kollektion von Elementen Grundlegende Operationen sind Einfügen
Informatik II Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 9, 2.5.2016 [Nachtrag zu Vorlesung : Numerische Integration, Zusammenfassung Objektorientierte Programmierung] Dynamische Datenstrukturen II:
Binärbäume: Beispiel
Binärbäume Als Beispiel für eine interessantere dynamische Datenstruktur sehen wir uns jetzt Binärbäume an Ein Binärbaum wird rekursiv definiert: Er ist leer oder besteht aus einem Knoten (die Wurzel des
Datenstrukturen und Algorithmen. Vorlesung 8
Datenstrukturen und Algorithmen Vorlesung 8 Inhaltsverzeichnis Vorige Woche: ADT Stack ADT Queue Heute betrachten wir: ADT Deque ADT Prioritätsschlange Binomial-Heap Schriftliche Prüfung Informationen
B6.1 Introduction. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Introduction. B6.3 Analyse. B6.4 Ordnungsbasierte Methoden
Algorithmen und Datenstrukturen 11. April 2018 B6. Binäre Suchbäume a Algorithmen und Datenstrukturen B6. Binäre Suchbäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 11. April 2018 a Folien basieren
4. Lernen von Entscheidungsbäumen
4. Lernen von Entscheidungsbäumen Entscheidungsbäume 4. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse
Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen
Teil VII. Hashverfahren
Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:
Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2017/18 Pro f. Dr. Sán do r Fe k e te 1 4.1 Grundoperationen Aufgabenstellung: 3 4.1 Grundoperationen Aufgabenstellung: Verwalten
8.1.3 Operation Build-Max-Heap Operation zur Konstruktion eines Heaps Eingabe: Feld A[1..n], n = länge(a) BUILD-MAX-HEAP (A)
Stand der Vorlesung: Datenstruktur Heap: fast vollständiger Binärbaum MaxHeap: sortierter Heap, größtes Element an Wurzel Sortierverfahren: HeapSort: Sortieren eines Feldes A[1.. n] Idee: in place: Feld
Copyright, Page 1 of 7 Heapsort
www.mathematik-netz.de Copyright, Page 1 of 7 Heapsort Alle grundlegenden, allgemeinen Sortierverfahren benötigen O(n 2 ) Zeit für das Sortieren von n Schlüsseln. Die kritischen Operationen, d.h. die Auswahl
Technische Universität München
Stand der Vorlesung: Datenstruktur Heap: fast vollständiger Binärbaum MaxHeap: sortierter Heap, größtes Element an Wurzel Sortierverfahren: HeapSort: Sortieren eines Feldes A[1.. n] Idee: in place: Feld
Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 143
Aufgabe 143 Aufgabe 143 Aufgabenstellung Gegeben ist der folgende AVL-Baum: a) Fügen Sie in diesen AVL-Baum nacheinander Knoten mit den Inhalten 34, 42, 1701 und 30 ein. Führen Sie die ggf. notwendigen
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
Einführung in die Objektorientierte Programmierung Vorlesung 18: Lineare Datenstrukturen. Sebastian Küpper
Einführung in die Objektorientierte Programmierung Vorlesung 18: Lineare Datenstrukturen Sebastian Küpper Unzulänglichkeit von Feldern Wenn ein Unternehmen alle Rechnungen eines Jahres verwalten möchte,
9. Natürliche Suchbäume
Bäume Bäume sind. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Verallgemeinerte Listen: Knoten können mehrere Nachfolger haben Spezielle Graphen: Graphen bestehen aus Knoten
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Sortierte Listen 2. Stacks & Queues 3. Teile und Herrsche Nächste Woche: Vorrechnen (first-come-first-served)
Einführung in die Simulation. Dr. Christoph Laroque Wintersemester 11/12. Dresden,
Fakultät Informatik, Institut für Angewandte Informatik, Professur Modellierung und Simulation Einführung in die Simulation Dr. Christoph Laroque Wintersemester 11/12 Dresden, 15.11.2011 15.11.2011 Einführung
Mehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
Logische Datenstrukturen
Lineare Listen Stapel, Warteschlangen Binärbäume Seite 1 Lineare Liste Begriffe first Funktion: sequentielle Verkettung von Datensätzen Ordnungsprinzip: Schlüssel Begriffe: first - Anker, Wurzel; Adresse
Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.
Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur
Klausur zur Vorlesung Algorithmen und Datenstrukturen
Klausur zur Vorlesung Algorithmen und Datenstrukturen Die Dauer der Klausur beträgt 120 Minuten. Erlaubte Hilfsmittel: Ein selbst handschriftlich beschriebenes DIN A4 Blatt, das komplette Skript zur Vorlesung
3.3 Strategien zur Ablaufsteuerung
3.3 Strategien zur Ablaufsteuerung Prinzip der Trennung von Strategie (Richtlinie, policy) und Mechanismus (mechanism) bedeutet bei der Prozessverwaltung class Process {... static Set readylist
Informatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 11 (1.6.2016) Binäre Suchbäume III Algorithmen und Komplexität Tiefe eines binären Suchbaums Worst-Case Laufzeit der Operationen in binären
14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads
Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.
Algorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele
Endliche Automaten 1 WS 00/01. Steuerautomaten
Endliche Automaten 1 WS 00/01 Steuerautomaten Steuerautomaten dienen zur Erzeugung von Steuersignalen. Die erzeugten Steuersignale hängen vom Bearbeitungsstand ("Zustand") der Aufgabe und von Eingangsgrößen
Einführung in die Simulation. Dr. Christoph Laroque Wintersemester 11/12. Dresden,
Fakultät Informatik, Institut für Angewandte Informatik, Professur Modellierung und Simulation Einführung in die Simulation Dr. Christoph Laroque Wintersemester 11/12 Dresden, 08.11.2011 15.11.2011 Einführung
INSERTION-SORT: Ja, Es wird immer das erste, kleinste Element an die neue Liste angehängt.
Aufgabe 1 INSERTION-SORT: Ja, Es wird immer das erste, kleinste Element an die neue Liste angehängt. QUICK-SORT: Hängt davon ab ob PARTITION stabil ist. MERGE-SORT: Ja, Splitten, sowie Mergen ist stabil.
Fachhochschule Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt
Fachhochschule Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Aufgaben zur Klausur C und Objektorientierte Programmierung im WS 2003/04 (WI h103, II h105, MI h353) Zeit: 150 Minuten erlaubte Hilfsmittel:
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen
4.2 Fibonacci-Heaps Aufbau Potenzialfunktion. Knoten v hat folgende Felder:
4.2 Fibonacci-Heaps 4.2.1 Aufbau Knoten v hat folgende Felder: Vaterzeiger p(v) Zeiger auf linkes Geschwister: prev(v) Zeiger auf rechtes Geschwister: next(v) Kindzeiger: child(v) Schlüssel: key: aus U