Computational Intelligence

Größe: px
Ab Seite anzeigen:

Download "Computational Intelligence"

Transkript

1 Vorlesung Computational Intelligence Stefan Berlik Raum H-C 80 Tel: 027/ Inhalt Überblick Rückblick Optimierungsprobleme Optimierungsalgorithmen Vorlesung Computational Intelligence 2 Ø

2 Rückblick Zusammenfassung der letzen Vorlesung Künstliche Intelligenz Traditionelle KI vs. Computational Intelligence Computational Intelligence Abwendung von symbolischer Verarbeitung Rückbesinnung auf die Verarbeitung numerischer Information Approximation statt exakter Lösung Hauptgebiete Evolutionäre Algorithmen Künstliche Neuronale Netze Fuzzy Systeme Evolutionäre Algorithmen Naturanaloges Verfahren Div. Anwendungsgebiete Vorlesung Computational Intelligence Inhalt Überblick Rückblick Grundelemente Struktur Einführendes Beispiel: Das n-damen Problem Optimierungsprobleme Optimierungsalgorithmen Vorlesung Computational Intelligence Ø2

3 Grundelemente eines genetischen Algorithmus Kodierungsvorschrift Die Repräsentation eines Individuums ist offensichtlich problemspezifisch Die Auswahl einer angemessenen Kodierung hat erheblichen Einfluss auf die Funktion des Algorithmus Initialisierungsmethode Erzeugt die Ausgangspopulation Üblicherweise werden die Gene mit zufälligen Werten belegt. Komplexe Probleme erfordern ggf. eine spezialisierte Initialisierung Fitnessfunktion Bewertet die Individuen und spiegelt damit die Umwelt wider Üblicherweise sind die Fitnessfunktion und die zu optimierende Funktion identisch. Es können jedoch weitere Kriterien die Fitness beeinflussen, wie beispielsweise Nebenbedingungen Vorlesung Computational Intelligence 5 Grundelemente eines genetischen Algorithmus Selektionsoperator Legt auf Basis der Bewertung durch die Fitnessfunktion fest, welche Individuen überleben bzw. Nachkommen erzeugen Reproduktionsoperatoren Erzeugen Nachkommen durch Variation der genetischen Informationen eines oder mehrerer Eltern Crossover Rekombination von Chromosomen eines oder mehrere Eltern Mutation Zufällige Variation einzelner Gene Abbruchkriterium Legt fest, wann der genetische Algorithmus beendet werden soll. Mögliche Abbruchkriterien sind Festgelegte Anzahl von Generationen wurde erreicht Festgelegte Anzahl von Zielfunktionsauswertungen wurde erreicht Festgelegte Mindestgüte der Lösung wurde erreicht Stagnation der Optimierung Zeitüberschreitung Vorlesung Computational Intelligence 6 Ø

4 Struktur eines evolutionären Algorithmus t := 0; initialize(p(t)); evaluate(p(t)); while not termination P (t) := variate(p(t)); evaluate(p (t)); P(t + ) := select(p (t)); t := t + ; Vorlesung Computational Intelligence 7 Beispiel: Das n-damen-problem Plaziere n Damen so auf einem n x n großen Schachbrett, dass keine Dame eine andere sieht, d.h. in jeder Zeile, Spalte und auf jeder Diagonalen höchstens eine Dame steht. Zugmöglichkeiten einer Dame Eine Lösung des 8-Damen-Problems Vorlesung Computational Intelligence 8 Ø

5 Das n-damen-problem / Backtracking Das n-damen-problem kann mittels Backtracking gelöst werden Die Damen werden zeilenweise (oder auch spaltenweise) platziert Für jede Zeile gilt In der Zeile wird die Dame der Reihe nach von links nach rechts auf die Felder gesetzt Es wird jeweils überprüft, ob es zu Kollisionen mit bereits bearbeiteten Zeilen gekommen ist Gab es keine Kollisionen, wird rekursiv mit der nächsten Zeile fortgefahren Andernfalls wird die Dame eine Position nach rechts verschoben und erneut auf Kollisionen geprüft Kann eine Dame nicht konfliktfrei in einer Zeile positioniert werden, wird auf die nächst höhere Rekursionsebene zurückgesprungen Kann eine Dame auf der letzten Zeile des Brettes kollisionsfrei platziert werden, wird die Lösung ausgegeben. Vorlesung Computational Intelligence 9 Das n-damen-problem / Backtracking Vorlesung Computational Intelligence 0 Ø5

6 Das n-damen-problem / Direkte Lösung Wird lediglich eine Lösung gesucht, können die Positionen der Damen für alle n> folgendermaßen berechnet werden: Falls n ungerade ist: Setze eine Dame auf (n-, n-) und verringere n um Falls n mod 6 2: Setze die Damen in den Zeilen y = 0,..., n/2 in die Spalten x = 2y + in den Zeilen y = n/2,..., n in die Spalten x = 2y n Falls n mod 6 = 2: Setze die Damen in den Zeilen y = 0,..., n/2 in die Spalten x = (2y + n/2) mod n in den Zeilen y = n/2,..., n in die Spalten x = (2y n/2 + 2) mod n Vorlesung Computational Intelligence Das n-damen-problem / GA: Kodierung Jedes Individuum wird durch eine Chromosom mit n Genen beschrieben Jedes Gen entspricht einer Zeile des Schachbretts. Es gibt die Position der Dame in der entsprechenden Zeile an und hat somit n mögliche Allele. 2 0 Phänotyp 0 2 Genotyp Gen 2 õ 0 Chromosom Diese Kodierung schließt bereits mehr als eine Dame pro Zeile aus Vorlesung Computational Intelligence 2 Ø6

7 Das n-damen-problem / Datentypen Die Klasse der Individuen public class individual private int[] genes; // Array der Gene private int fitness; // Fitness des Individuums [...] Die Klasse der Populationen public class population private int popsize; // Größe der Population private int boardsize; // Größe des Bretts private individual[] inds; // Array der Individuen private int bestindex; // Index des besten Individuums [...] Vorlesung Computational Intelligence Das n-damen-problem / Hauptschleife Die Hauptschleife zeigt die Grundform eines genetischen Algorithmus // --- Evolutionäre Schleife --- pop.init(); // Initialisiere die Population int gencnt = 0; // Initialisiere den Generationenzähler while ((pop.eval() < 0) // Solange keine Lösung gefunden wurde && (gencnt <= genmax)) // und die maximale Generationenzahl // noch nicht erreicht wurde: pop.select(tmsize, elitist); // Selektiere Individuen, pop.crossover(frac); // führe Crossover durch und pop.mutate(prob); // mutiere die Individuen. gencnt++; // Erhöhe den Generationenzähler Parameter: maxgen: Maximale Anzahl zu berechnender Generationen tmsize: Turniergröße der Individuenauswahl elitist: Gibt an, ob das beste Individuum stets übernommen werden soll frac: Anteil der Individuen, die Crossover unterzogen werden prop: Mutationswahrscheinlichkeit Vorlesung Computational Intelligence Ø7

8 Das n-damen-problem / Initialisierung Es werden zufällige Folgen von n Zahlen aus 0,,..., n- erzeugt Klasse Individual public void init() for (int i = 0; i < Genes.Length; i++)// Initialisiere die Gene zufällig Genes[i] = MainClass.rnd.Next(0, Genes.Length); Klasse Population public void init() foreach (individual i in Inds) i.init(); Vorlesung Computational Intelligence 5 Das n-damen-problem / Bewertung Die Fitness entspricht der negierten Anzahl der Spalten und Diagonalen mit mehr als einer Dame. Damit ist die Fitness zu maximieren Kollisionen > Fitness = -2 Bei mehr als zwei Damen pro Spalte bzw. Diagonale wird aus Gründen der einfacheren Implementierung jedes Paar gezählt Eine Lösung hat somit die maximale Fitness 0 Vorlesung Computational Intelligence 6 Ø8

9 Das n-damen-problem / Bewertung Kollisionsberechnung für ein Individuum public void eval() // Methode verlassen, falls die Fitness bereits bekannt ist if (Fitness <= 0) return; int d; int k = 0; // Horizontale Distanz zwischen den Königinnen // Anzahl der Kollisionen // Durchlaufe alle Paare von Königinnen for (int i = 0; i + < Genes.Length; i++) for (int j = i; ++j < Genes.Length; ) d = Math.Abs(Genes[i] - Genes[j]); // Anzahl der Königinnen in der selben Spalte / Diagonale zählen if ((d == 0) (d == j-i)) k--; Fitness = k; // Anzahl der Kollisionen zurückgeben Vorlesung Computational Intelligence 7 Das n-damen-problem / Bewertung Die Fitness aller Individuen wird berechnet und das beste Individuum bestimmt public int eval() BestIndex = 0; // Index des besten Individuums for (int i = 0; i < Inds.Length; i++) Inds[i].eval(); if (Inds[i].Fitness > Inds[BestIndex].Fitness) BestIndex = i; // Index des Besten merken return Inds[BestIndex].Fitness; Vorlesung Computational Intelligence 8 Ø9

10 Das n-damen-problem / Auswahl der Individuen Turnierauswahl mit tmsize Teilnehmern Das beste Individuum gewinnt das Turnier und wird gewählt Höhere Fitness resultiert in einer größeren Chance gewählt zu werden public individual tmselelection(int tmsize) individual tmbest = Inds[MainClass.rnd.Next(0, Popsize)]; for (int i = 0; i < tmsize; i++) // Wähle zufällig tmsize Individuen und bestimme das mit bester Fitness individual compet = Inds[MainClass.rnd.Next(0, Popsize)]; if (compet.fitness > tmbest.fitness) tmbest = compet; return tmbest; Vorlesung Computational Intelligence 9 Das n-damen-problem / Auswahl der Individuen Individuen die die nachfolgende Generation bilden werden durch einzelne Turniere bestimmt Ggf. wird das beste Individuum direkt übernommen public void select(int tmsize, bool elitist) // Zwischenspeicher für temporäre Population einrichten individual[] buf = new individual[popsize]; int i = 0; // Selektiere 'popsize' Individuen if (elitist) // Bestes Individuum sichern? buf[i++] = Inds[BestIndex]; do buf[i] = tmselection(tmsize); while (++i < Popsize); Inds = buf; BestIndex = -; // Selektiere die (restlichen) Individuen // Temporäre Population übernehmen // Bestes Individuum ist noch unbekannt Vorlesung Computational Intelligence 20 Ø0

11 Das n-damen-problem / Crossover Austausch eines Chromosomenteilstücks zwischen zwei Individuen Beispiel: -Punkt-Crossover Wähle zufällig eine Schnittstelle zwischen den Genen Tausche die entstandenen Teilstücke unter den beiden Individuen Fitness 0-2 ö Vorlesung Computational Intelligence 2 Das n-damen-problem / Crossover Austausch eines Chromosomenstücks zwischen zwei Individuen public void crossover(ref individual other) int i = 0; int s; // Laufvariable // Zwischenspeicher int r = MainClass.rnd.Next(0, Genes.Length); // Bestimme Crossover Punkt while (i < r) s = Genes[i]; // Tausche die Gene der Chromosomen Genes[i] = other.genes[i]; other.genes[i++] = s; Fitness = ; // Annuliere die Fitness other.fitness = ; // der beiden geänderten Individuen Vorlesung Computational Intelligence 22 Ø

12 Das n-damen-problem / Crossover Ein bestimmter Teil der Individuen wird Crossover unterzogen Beide gekreuzten Individuen werden in die neue Population übernommen, die Eltern gehen verloren Das beste Individuum wird keinem Crossover unterzogen public void crossover(double frac) int k = (int)(popsize * frac); for (int i = 0; i < k; i++) Inds[2 * i].crossover(ref Inds[2 * i + ]); Vorlesung Computational Intelligence 2 Das n-damen-problem / Mutation Zufällig bestimmte Gene werden durch zufällige Werte ersetzt Die Anzahl der zu ändernden Gene kann auch zufällig gewählt werden ö Fitness -2 - Die meisten Mutationen sind schädlich Anfangs nicht vorhandene Allele können nur durch Mutation entstehen Vorlesung Computational Intelligence 2 Ø2

13 Das n-damen-problem / Mutation Es wird für jedes Gen neu entschieden, ob es mutiert wird Falls das beste Individuum übernommen wird, wird dieses nicht mutiert In der Klasse der Individuen public void mutate(double prob) if (MainClass.rnd.NextDouble() >= prob) return; do // Mutiere zufällig gewähltes Gen int p = MainClass.rnd.Next(0, genes.length); int v = MainClass.rnd.Next(0, genes.length); Genes[p] = v; while (MainClass.rnd.NextDouble() < prob); Fitness = ; // Annuliere die Fitness In der Klasse der Populationen public void mutate(double prob) foreach (individual i in Inds) i.mutate(prob); Vorlesung Computational Intelligence 25 Ø

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren

Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren 1 Übersicht 1. Ziele des Kapitels 2. Bereits behandelte Lösungsstrategien 3. Backtracking 4. Branch-and-Bound 5. Weiterführende

Mehr

Genetische und Evolutionäre Algorithmen (Vol. 1)

Genetische und Evolutionäre Algorithmen (Vol. 1) Vortrag über Genetische und Evolutionäre Algorithmen (Vol. ) von Adam El Sayed Auf und Kai Lienemann Gliederung: ) Einführung 2) Grundkonzept 3) Genaue Beschreibung des Genetischen Algorithmus Lösungsrepräsentation

Mehr

Übung Grundlagen der Programmierung. Übung 05: Arrays. Abgabetermin: xx.xx.xxxx. Java-Programm Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 05: Arrays. Abgabetermin: xx.xx.xxxx. Java-Programm Testplan Testergebnisse Übung 05: Arrays Abgabetermin: xx.xx.xxxx Name: Name, Vorname Matrikelnummer: 0XXXXXX Gruppe: G1 (Prähofer) G2 (Wolfinger) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch

Mehr

Grundlagen und Basisalgorithmus

Grundlagen und Basisalgorithmus Grundlagen und Basisalgorithmus Proseminar -Genetische Programmierung- Dezember 2001 David König Quelle: Kinnebrock W.: Optimierung mit genetischen und selektiven Algorithmen. München, Wien: Oldenbourg

Mehr

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in

Mehr

Fallunterscheidung: if-statement

Fallunterscheidung: if-statement Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0

Mehr

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

Mehr

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Seminararbeit zum Thema Genetische Algorithmen

Seminararbeit zum Thema Genetische Algorithmen Seminararbeit zum Thema Genetische Algorithmen Seminar in Intelligent Management Models in Transportation und Logistics am Institut für Informatik-Systeme Lehrstuhl Verkehrsinformatik Univ.-Prof. Dr.-Ing.

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens

Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens Fachhochschule Brandenburg Fachbereich Informatik und Medien Kolloquium zur Diplomarbeit Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens Übersicht Darstellung

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Aufgaben zu JavaKara: Arrays

Aufgaben zu JavaKara: Arrays Aufgaben zu JavaKara: Arrays Kleeblattregen Schreiben Sie ein Programm, das fünfzehn Kleeblätter an zufälligen Koordinaten in der Welt platziert. Es sollen fünfzehn Kleeblätter platziert werden, auch wenn

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

In Java: Schleifen 1. Art: Vorabprüfung: while. Wiederholungen (Kapitel 8) Schleife mit Vorabprüfung. Schleifen 2. Art: Endprüfung: do while

In Java: Schleifen 1. Art: Vorabprüfung: while. Wiederholungen (Kapitel 8) Schleife mit Vorabprüfung. Schleifen 2. Art: Endprüfung: do while Wiederholungen (Kapitel 8) Schleifen 1. Art: Vorabprüfung: while Schleifenkopf while erfüllt erfüllt? Schleifenkörper Sie kennen die drei Arten von Wiederholungen / Schleifen: while, for, do... und können

Mehr

Wirtschaftsinformatik I

Wirtschaftsinformatik I Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Java programmieren mit JavaKara. Eine Zusammenfassung in Beispielen

Java programmieren mit JavaKara. Eine Zusammenfassung in Beispielen Java programmieren mit JavaKara Eine Zusammenfassung in Beispielen Kleeblätter in einer Zeile zählen @Override public void mymainprogram() { int anzahlkleeblaetter = 0; for (int x = 0; x < world.getsizex();

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Genetische Algorithmen

Genetische Algorithmen Genetische Algorithmen Projektgruppe 431 Metaheuristiken Bianca Selzam Inhaltsverzeichnis 1 Einleitung......................................................... 1 2 Grundlagen aus der Biologie.......................................

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Hochschule Regensburg. Übung 12_3 Genetische Algorithmen 1. Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer

Hochschule Regensburg. Übung 12_3 Genetische Algorithmen 1. Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer Hochschule Regensburg Übung 12_ Genetische Algorithmen 1 Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer Name: Vorname: 1. Was sind GA? - Ein GA ist ein Algorithmus, der Strategien aus der Evolutionstheorie

Mehr

Übungen zum Vortrag Backtracking mit Heuristiken

Ü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

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft. Lars Melchior

Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft. Lars Melchior Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft Lars Melchior Theoretische Grundlagen Theoretische Grundlagen Genetik Genetische Algorithmen NK

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Schleifen while do-while for Methoden Verfahren: Intervallschachtelung 2 Wo

Mehr

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20 Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

Mehr

Optimale Produktliniengestaltung mit Genetischen Algorithmen

Optimale Produktliniengestaltung mit Genetischen Algorithmen Optimale Produktliniengestaltung mit Genetischen Algorithmen 1 Einleitung 2 Produktlinienoptimierung 3 Genetische Algorithmen 4 Anwendung 5 Fazit Seite 1 Optimale Produktliniengestaltung mit Genetischen

Mehr

Schritt 1 - Ein Spielfeld

Schritt 1 - Ein Spielfeld Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes (und später der Buttons und der anderen Bedienelemente). Hier

Mehr

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel  Problem Grundzüge der Wirtschaftsinformatik WS 2002/03 Wiederholung Java Heiko Rossnagel www.m-lehrstuhl.de accelerate.com Grundzüge der Wirtschaftsinformatik WS 2002/03 1 Programmierzyklus Problem Formulierung

Mehr

Structurally Evolved Neural Networks for Forecasting

Structurally Evolved Neural Networks for Forecasting Structurally Evolved Neural Networks for Forecasting - Strukturierte neuronale Netze für Vorhersagen Institut für Informatik - Ausgewählte Kapitel aus dem Bereich Softcomputing Agenda Grundlagen Neuronale

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. 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"

Mehr

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen Einführung in die Methoden der Künstlichen Intelligenz Evolutionäre Algorithmen Dr. David Sabel WS 2012/13 Stand der Folien: 12. November 2012 Evolutionäre / Genetische Algorithmen Anwendungsbereich: Optimierung

Mehr

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010 Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

Michaela Weiss 30. März 2015. Lerneinheit 3: VBA Teil 1: Eingabe/Ausgabe

Michaela Weiss 30. März 2015. Lerneinheit 3: VBA Teil 1: Eingabe/Ausgabe Michaela Weiss 30. März 2015 Lerneinheit 3: Teil 1: Eingabe/Ausgabe Seite 2 Was ist das? Visual Basic: Programmiersprache von Microsoft Applications: Programme der Office-Familie (z.b. Excel, Word, ) :

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Arrays Fortgeschrittene Verwendung

Arrays Fortgeschrittene Verwendung Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

public class SternchenRechteckGefuellt {

public 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

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE

Mehr

Arrays und Schleifen

Arrays und Schleifen Arrays und Schleifen Javakurs 2014, 2. Vorlesung Sebastian Schuck basierend auf der Vorlage von Theresa Enghardt, Mario Bodemann und Sebastian Dyroff wiki.freitagsrunde.org 3. März 2014 This work is licensed

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays von Objekten. 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-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

Mehr

Institut fu r Informatik

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 Aufgabenblatt 3 18. November

Mehr

InformatiCup 2009 EvolutionConsole

InformatiCup 2009 EvolutionConsole InformatiCup 2009 EvolutionConsole Wilhelm Büchner Hochschule 19. März 2010 1 1. Das Team Teammitglieder Ralf Defrancesco KION Information Services GmbH Systemadministrator Daniel Herken Scooter Attack

Mehr

Programmierung mit C Algorithmen

Programmierung mit C Algorithmen Programmierung mit C Algorithmen Informationen /7/ Robert Sedgewick Algorithmen in C. 742 Seiten, ISBN 3-827-37182-1. /8/ Kyle Loudon Algorithmen mit C, ISBN 3-4897-211653-0. Online-Buch "C von A bis Z",

Mehr

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =

Mehr

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Übungen für Woche 10

Übungen für Woche 10 Übungen für Woche 10 Martin Rubey 12. Januar 2011 Die folgenden Übungen sollen den Umgang mit Backtracking und kombinatorischen Spezies näherbringen. Genaue Hinweise gibt es erst auf Seite 5. Zur Erinnerung:

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays von Objekten. 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"

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Grundlagen der Programmierung (Vorlesung 14)

Grundlagen der Programmierung (Vorlesung 14) Grundlagen der Programmierung (Vorlesung 14) Ralf Möller, FH-Wedel Vorige Vorlesung Verifikation von Anweisungen und Anweisungsfolgen Schleifen Inhalt dieser Vorlesung Funktionen und Prozeduren Lernziele

Mehr

Genetic Algorithms. Seminar KE und Lernen in Spielen. Bearbeitet von: Felix Becher. Leiter des Seminars: Prof. Dr. Johannes Fürnkranz 06-07-27

Genetic Algorithms. Seminar KE und Lernen in Spielen. Bearbeitet von: Felix Becher. Leiter des Seminars: Prof. Dr. Johannes Fürnkranz 06-07-27 Genetic Algorithms Seminar KE und Lernen in Spielen Bearbeitet von: Felix Becher Leiter des Seminars: Prof. Dr. Johannes Fürnkranz Gliederung Evolutionstheorie Genetische Algorithmen Vor- und Nachteile

Mehr

Name: Klausur Programmierkonzepte SS 2011

Name: Klausur Programmierkonzepte SS 2011 Prof. Dr.-Ing. Hartmut Helmke Ostfalia Hochschule für angewandte Wissenschaften Fakultät für Informatik Matrikelnummer: Punktzahl: Ergebnis: Freiversuch F1 F2 F3 Klausur im SS 2011: Programmierkonzepte

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

Informatik II Musterlösung

Informatik 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,

Mehr

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Lösungsvorschläge. zu den Aufgaben im Kapitel 4 Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere

Mehr

Sortierverfahren. Sortierverfahren für eindimensionale Arrays

Sortierverfahren. Sortierverfahren für eindimensionale Arrays Sortierverfahren Sortierverfahren Sortieren durch Einfügen Sortieren durch Auswählen Sortieren durch Vertauschen (Bubblesort) Quicksort Sortierverfahren für eindimensionale Arrays 1 Gegeben ist eine beliebige

Mehr

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x), Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Proseminar Genetische und Evolutionäre Algorithmen

Proseminar Genetische und Evolutionäre Algorithmen Proseminar Genetische und Evolutionäre Algorithmen Genetische Algorithmen Grundkonzept und genetische Operatoren Vortragender: Frank Förster Datum: 29.04.02 Inhaltsverzeichnis 1 Einleitung...1 2 Grundbegriffe...2

Mehr

Evolutionäre Algorithmen

Evolutionäre Algorithmen Evolutionäre Algorithmen Genetische Programmierung Prof. Dr. Rudolf Kruse Christian Moewes {kruse,cmoewes}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut

Mehr

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

Mehr

Survival of the Fittest Optimierung mittels Genetischer Algorithmen

Survival of the Fittest Optimierung mittels Genetischer Algorithmen Übung zu Organic Computing Survival of the Fittest Optimierung mittels Genetischer Algorithmen Sabine Helwig Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Universität Erlangen-Nürnberg sabine.helwig@informatik.uni-erlangen.de

Mehr

Warum konvergieren Genetische Algorithmen gegen ein Optimum?

Warum konvergieren Genetische Algorithmen gegen ein Optimum? 1 / 21 Gliederung 1 Das Schematheorem Motivation Begriffe Herleitung Ergebnis Das Schematheorem Das Schematheorem Motivation 3 / 21 Warum konvergieren Genetische Algorithmen gegen ein Optimum? Theoretische

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 31 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 31 1 Überlegungen zur Effizienz 2 Landau-Symbole 3 Eier im Korb 4 Zyklische

Mehr

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

Ferienakademie 2001: Kryptographie und Sicherheit offener Systeme. Faktorisierung. Stefan Büttcher stefan@buettcher.org

Ferienakademie 2001: Kryptographie und Sicherheit offener Systeme. Faktorisierung. Stefan Büttcher stefan@buettcher.org Ferienakademie 2001: Kryptographie und Sicherheit offener Systeme Faktorisierung Stefan Büttcher stefan@buettcher.org 1 Definition. (RSA-Problem) Gegeben: Ò ÔÕ, ein RSA-Modul mit unbekannten Primfaktoren

Mehr

SOFT COMPUTING TOOLS FÜR DIE ANALYSE KOMPLEXER BETRIEBLICHER PROBLEME

SOFT COMPUTING TOOLS FÜR DIE ANALYSE KOMPLEXER BETRIEBLICHER PROBLEME SOFT COMPUTING TOOLS FÜR DIE ANALYSE KOMPLEXER BETRIEBLICHER PROBLEME Christina Klüver COBASC-Research Group www.cobasc.de Universität Duisburg-Essen VERFAHREN Zellularautomaten Evolutionäre Algorithmen

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr