dgpf Distributed Genetic Programming Framework http://dgpf.sourceforge.net/



Ähnliche Dokumente
1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Übung - Konfigurieren einer Windows 7-Firewall

Anbindung des eibport an das Internet

Lichtbrechung an Linsen

Abschluss Version 1.0

Dokumentenverwaltung im Internet

1 topologisches Sortieren

Dokumentation zur Versendung der Statistik Daten

Speicher in der Cloud

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

Netzwerkversion PVG.view

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

Elexis-BlueEvidence-Connector

GEVITAS Farben-Reaktionstest

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Gruppenrichtlinien und Softwareverteilung

ACHTUNG: Voraussetzungen für die Nutzung der Funktion s-exposé sind:

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

Print2CAD 2017, 8th Generation. Netzwerkversionen

Dokumentenverwaltung

Anleitung über den Umgang mit Schildern

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

2) Geben Sie in der Anmeldemaske Ihren Zugangsnamen und Ihr Passwort ein

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Anbindung des Onyx Editors an das Lernmanagementsystem OLAT Anwendungsdokumentation

Arbeiten mit Workflows Installationsleitfaden Zur Installation des d3 Workflows

Erstellen der Barcode-Etiketten:

So gehts Schritt-für-Schritt-Anleitung

Nutzung von GiS BasePac 8 im Netzwerk

WinVetpro im Betriebsmodus Laptop

Festigkeit von FDM-3D-Druckteilen

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

STRATO Mail Einrichtung Mozilla Thunderbird

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Gambio GX2 FAQ. Inhaltsverzeichnis

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Konzepte der Informatik

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Arbeiten mit UMLed und Delphi

LANiS Mailversender ( Version 1.2 September 2006)

Schnelleinstieg in die (cs) AuftragPro

Teambildung. 1 Einleitung. 2 Messen der Produktivität

Bedingungen. Bedingungen. Bedingungen

UMSTELLUNG DER RÖNTGEN-SCHNITTSTELLE DÜRR-DBSWIN AUF DÜRR-VDDS

Professionelle Seminare im Bereich MS-Office

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Benutzung der LS-Miniscanner

Grundlagen der Theoretischen Informatik, SoSe 2008

Lösungen mit Strategie

Installationsanleitung für Update SC-Line

FAQ 04/2015. Auswirkung der ISO auf 3SE53/3SF13 Positionsschalter.

multisign Signatur-Prüfwerkzeug Handbuch Security Networks AG Stand:

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Modellbildungssysteme: Pädagogische und didaktische Ziele

1 Mathematische Grundlagen

AutoCAD Dienstprogramm zur Lizenzübertragung

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Vektoren mit GeoGebra

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Hilfedatei der Oden$-Börse Stand Juni 2014

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Professionelle Seminare im Bereich MS-Office

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Informationen zur Erstellung des Projektantrags in den IT-Berufen und zum AbschlussPrüfungOnlineSystem (CIC-APrOS)

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Step by Step Webserver unter Windows Server von Christian Bartl

Software- und Druckerzuweisung Selbstlernmaterialien

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

> Soft.ZIV. Maple Mathematisches Software System

BELIEBIG GROßE TAPETEN

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Installation von PhoneSuite (TAPI)

1 Informationelle Systeme begriffliche Abgrenzung

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Installation OMNIKEY 3121 USB

Drucken aus der Anwendung

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

! Tipps und Tricks Sie können den Windows Explorer am einfachsten mit der Tastenkombination Windows+ E öffnen.

Test zur Bereitschaft für die Cloud

Programmentwicklungen, Webseitenerstellung, Zeiterfassung, Zutrittskontrolle

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

CTI SYSTEMS S.A. CTI SYSTEMS S.A. 12, op der Sang. Fax: +352/ L Lentzweiler. G.D.

Web-Services - die GIS-Zukunft?

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Wie Sie mit Mastern arbeiten

Schuljahreswechsel im Schul-Webportal

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?

Electronic Systems GmbH & Co. KG

Toolbeschreibung: EVERNOTE

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Transkript:

dgpf Distributed Genetic Programming Framework http://dgpf.sourceforge.net/ University of Kassel, Chair of Distributed Systems, Wilhelmshöher Allee 73, D-34121 Kassel, Hesse, Germany Projektarbeiten Allgemeine Erklärung zum DGPF-Projekt Das Distributed Genetic Programming Framework nutzt Genetische Algorithmen, um automatisch Programme für bestimmte Problemstellungen zu finden (Genetic Programming). Die Programme sind zurzeit in einer Assembler-ähnlichen Form gehalten und werden interpretiert. Das Hauptziel des Projektes ist es, einfache Algorithmen zur verteilten Problemlösung in (Sensor-)Netzwerken zu finden. Der für die Evolution von solchen Algorithmen notwendige Rechenaufwand kann dafür über ein Netzwerk von Computern verteilt werden. Dazu können verschiedene Verteilungsmechanismen wie Client/Server (C/S), Peer-To-Peer P2P) oder eine C/S- P2P-Hybridform genutzt werden. Während das System eine Population von Programmen heranzieht, können viele Parameter der Evolution angepasst werden. Weiterhin ist das gesamte System modular aufgebaut, so dass es nicht an die Genetische Programmierung gebunden, sondern für beliebige Problemdomänen wie z.b. numerische Regression, Web-Service-Composition oder Sudoku-Lösen eingesetzt werden kann. Dazu stehen nicht nur Genetische Algorithmen, sondern auch andere heuristische Suchverfahren wie Hill Climbing und Simulated Annealing zur Verfügung, welche auch parallel und gemischt betrieben werden können. Da das DGPF-System OpenSource und Freeware ist, werden auch die Arbeiten der Studenten unter LGPL-Lizenz als Teil des Projekts veröffentlicht. Mit Hilfe dieser Lizenz wird es anderen Entwicklern ermöglicht, das DGPF-Projekt in ihre Anwendungen einzubinden. Um den internationalen Einsatz des DGPF weiter zu vereinfachen, sind die Projektarbeiten in Englisch auszufertigen. Programmkode muss vollständig dokumentiert werden, um es anderen/späteren Entwicklern zu ermöglichen, nahtlos an die Arbeit anzuknüpfen. Zwischen den Aufgaben gibt es Nahtstellen, die die Zusammenarbeit und Kommunikation der beiden Teams erfordern. Auch ist es teilweise möglich, durch das Nutzen gemeinsamer Komponenten die Arbeit zu vereinfachen. In vorangegangenen Projekten haben Studenten bereits eine vielseitige graphische Oberfläche für das Projekt erstellt, ein neues Suchverfahren in das Projekt integriert http://dgpf.sourceforge.net/ - 1 - http://www.vs.uni-kassel.de

und ein paar Performance-Tests durchgeführt sowie neue Problemdomänen beispielhaft angebunden. 1. Aufgabe: Deployment auf einem Cluster (1-2 Studenten) Wie bereits in den allgemeinen Erklärungen erwähnt ist das DGPF-Projekt selbst eine skalierbare, verteilte Anwendung. Probleme, die man mit diesem Framework lösen kann, stellen verschiedenste Anforderungen. Die zum Auswerten einer möglichen Lösung benötigten Simulationen sind oftmals rechenaufwendig, in anderen Fällen benötigt man sehr große Populationen um überhaupt gute Lösungen finden zu können manchmal tritt auch beides gemeinsam auf. In dieser Aufgabe soll das DGP Framework auf den Cluster des Universitätsrechenzentrums deployed werden. Es werden die verschiedenen zur Verfügung stehenden Verteilungsmechanismen getestet und die Suchverfahren (GA, Simulated Annealing, Hill Climbing) werden einzeln und parallel im Zusammenspiel miteinander betrieben. Nach den ersten Tests mit dem Projekt wird eine detaillierte (englischsprachige) Anleitung für das Deployment des DGPFs auf einem Cluster erstellt. Anforderungen wie das Vorhandensein einer JVM, die belegten Ports und der voraussichtlich Ressourcenverbrauch werden darin erläutert. Ziel des Projekts ist es, optimale Konfigurationen für unterschiedliche Problemklassen zu finden. Diese werden aus Messwerten (Geschwindigkeit der Lösungsfindung bzw. Konvergenzverhalten der Fitness im Allgemeinen) abgeleitet. Dazu sind neben dem verteilten Testen der bereits vorhandenen Beispiele aus der Genetischen Programmierung auch die Experimente von [1] nachzuvollziehen. Mit dem erforschten Wissen wird die Anleitung erweitert. Einen Ratgeber soll dem Anwender helfen, aus den Eigenschaften seiner Problemdomäne ein geeignetes Verteilungskonzept (Suchverfahren, Verteilungsmechanismus, benötigte Rechner) zu erstellen. M1: Anleitung für das Deployment des DGPFs auf einem Cluster M2: Anleitung für das Verteilen eines Problems [1] Marion Riedel: "Parallele Genetische Algorithmen mit Anwendungen", Diplomarbeit TU Chemnitz, http://archiv.tu-chemnitz.de/pub/2002/0134/index.html http://dgpf.sourceforge.net/ - 2 - http://www.vs.uni-kassel.de

2. Aufgabe: Erweitern der GUI um Projektmanagement (2 Studenten) In einem vorangegangenen Projekt haben Studenten bereits eine vielseitige graphische Oberfläche für das DGPF-Projekt erstellt. Mit dieser ist es möglich, sich auf entfernte Knoten zu verbinden und dort eine Suche zu starten, stoppen und zu überwachen. Eine Suche wird durch die Problemdomäne, die Fitnessfunktionen, die zu verwendenden Suchverfahren, ihre Verteilungsart und die Start- sowie Halteparameter festgelegt. Die GUI erfordert aktuell, dass diese Definition bereits als (kompilierte Java-Klassen in einem) jar-archiv abgelegt ist. In diesem Projekt soll die vorhandene GUI um Editoren für die Erstellung einer Suchdefinition erweitert werden. Der für Fitnessfunktionen oder die Spezifikation von Problemdomänen notwendige Java-Kode soll in einem einfachen Editor bearbeitet und in Dateien oder ggf. einer Datenbank abgelegt werden können. Der Benutzer kann sich dann die gewünschte Suchdefinition mit Hilfe neuer Dialoge zusammenstellen und das benötigte jar-archiv wird automatisch im temporären Verzeichnis erstellt. Die bereits vorhandenen Komponenten gestatten es, beiliebig viele Rechenressourcen für die Lösung eines Problems einzubinden und die Problemdomänen völlig frei zu definieren. Mit Abschluss dieses Projekts erreicht das DGPF jedoch einen Reifegrad, der es selbst Standardanwendern mit geringen Vorkenntnissen ermöglicht, komplexe Probleme automatisiert zu lösen. M1: Dialoge zur Auswahl von Verteilungsart und Suchalgorithmus sowie Anbindung des JavaC- oder Eclipse-Compilers zum Erzeugen eines entsprechenden jar- Archivs M2: kleiner Java-Editor, der für Fitnessfunktions-Erstellung genutzt wird M3: Nutzung des Editors für Problemdomänenspezifikation http://dgpf.sourceforge.net/ - 3 - http://www.vs.uni-kassel.de

3. Aufgabe: WSC-Challenge 2007 (1-2 Studenten) Im Jahr 2006 ist es dem Team Bleul-Weise der Professur Verteilte Systeme an der Uni Kassel gelungen, den Web Service Challenge ([2], [3], [4]) zu gewinnen. Dem Wettbewerb lagen folgende Prinzipien zugrunde: 1. Webservices werden durch die Beschreibungssprache WSDL beschrieben, sie haben Ein- und Ausgabeparameter. 2. Semantische Konzepte sind in Baumform einer Ontologie beschrieben. 3. Die Ein- und Ausgabeparameter von Webservices genügen jeweils einem semantischen Konzept. 4. Services können hintereinander ausgeführt werden, in dem die Ausgabeparameter (plus eine Menge bereits bekannter Konzepte) des zuerst ausgeführten Service die Eingabeparameter des nächsten auszuführenden Service bilden. Das System hat Zugriff auf die Ontologie und eine Menge von Webservice- Beschreibungen. Dem System wird eine Menge bekannter Konzepte und eine Menge gesuchter Konzepte übergeben. Gesucht sind alle möglichen (minimal langen) Hintereinanderausführungen der bekannten Services, mit denen die unbekannten Konzepte aus den bekannten bestimmt werden können. Nachdem die im Jahr 2006 gestellte Aufgabe geschickt auf zwei (heuristische) Tiefensuchen reduziert werden konnte, ist das Gesamtproblem an sich NPvollständig. Aus diesem Grund empfiehlt sich der Einsatz randomisierter Verfahren, wie sie vom DGPF-Projekt zur Verfügung gestellt werden. Tatsächlich existiert bereits eine prototypische, einfache Implementation als Beispiel. Ziel dieses Projektes ist es, auf Basis der Siegertechnologie des letzten Jahres und mit Hilfe der Beispielimplementation der Service-Komposition des DGPFs eine wettkampffähige Lösung für die Web Service Challenge 2007 zu entwickeln. Dazu müssen neue Heuristiken und Fitness-Funktionen für die Web-Service Komposition entwickelt werden. Günstige Werte für die Parameter der randomisierten Suchverfahren sind zu wählen und es sind Zeitmessungen sowie Optimierungen durchzuführen M1: Tests mit dem vorhandenen Kompositionsalgorithmus und dem DGPF-Beispiel M2: Entwicklung neuer Fitness-Funktionen, Optimierungen am Gesamtsystem, Performanzmessungen M3: Fertiges, wettkampffähiges System mit voller Dokumentation und vollständigen Messprotokollen [2] http://insel.flp.cs.tu-berlin.de/wsc06/ (Ergebnisse) [3] http://ws-challenge.georgetown.edu/ws-challenge/participants.htm (Teilnehmerseite) [4] http://www.vs.uni-kassel.de/addo/ (Projekt Seite) http://dgpf.sourceforge.net/ - 4 - http://www.vs.uni-kassel.de

4. Aufgabe: Finden von günstigen Rückkopplungsschleifen für die Genetische Programmierung (1 Student) Die Suchverfahren des DGPF produzieren am Ende jeder Generation eine Menge von statistischen Informationen. Nachdem dies geschehen ist, werden die Parameter für die nächste Generation (z.b. Populationsgröße, Mutationsrate, Emigrationsrate, Selektionsalgorithms) von einer Einstellungsschnittstelle eingelesen und angewendet. Dadurch ist es einerseits möglich, günstige statische Parameterkonfigurationen zu entwerfen. Die weitaus interessantere Variante ist jedoch das Entwickeln von dynamischen Strategien, so genannten Rückkopplungsschleifen. Diese nutzen die statistischen Informationen der bisherigen Generationen, um möglichst günstige Parameter für die folgenden Generationen zu finden. Man kann auch von einer Art Meta-Evolution sprechen: die Genetischen Algorithmen werden über ihre Laufzeit hinweg langsam optimiert. Ein sehr simples Beispiel für eine solche Rückkopplungsschleife wäre es zu untersuchen, welcher Operator bei Genetischen Algorithmen die besten Nachkommen produziert. Wenn also z.b. die Mutation über einen gewissen Zeitraum hinweg bessere Nachkommen als das Crossover erzeugt, wäre es nur logisch, den Anteil durch Mutation zu erzeugender Nachkommen gegenüber dem von Crossover zu erhöhen. Es stellt sich auch die Frage, wie schnell unser System reagieren soll ist es sinnvoll, die Parameter nach jeder Generation neu zu adjustieren, oder sollte man dies nur gelegentlich tun, und dafür mehr statistische Daten nutzen? Zum Bearbeiten dieser Aufgabe gehört es, verschiedene Rückkopplungsschleifen zu entwickeln und zu experimentell testen. Dazu ist es notwendig, entsprechende Experimente zu erstellen und mehrmals zu wiederholen. Eine umfassende Liste mit Vorschlägen für Rückkopplungsschleifen existiert bereits es ist jedoch durchaus auch erwünscht, eigene Ideen zu integrieren. Es wäre zudem nützlich, die gemachten Beobachtungen mit Hilfe stochastischer und anderer mathematischer Methoden zu prüfen oder sogar vorherzusagen. Durch die verteilte Struktur des Frameworks kommt noch ein weiterer sehr interessanter Aspekt hinzu: Evolutionsstrategien können nicht nur lokal sondern auch global arbeiten. Eine zentrale Instanz, die regelmäßig von den einzelnen Knoten statistische Informationen erhält, könnte z.b. erkennen, dass ein Knoten besonders gute Individuen hervorbringt. Sie könnte die Emigrationsrate dieses Knotens erhöhen und seine Immigrationsrate erniedrigen. Bei den anderen Knoten im Netzwerk wird stattdessen die Immigrationsrate erhöht und Emigrationsrate erniedrigt so würden sich die besseren Individuen schneller global durchsetzen. M1: lokale Analysen und Adaptionsverfahren M2: globale Analysen und Adaptionsverfahren http://dgpf.sourceforge.net/ - 5 - http://www.vs.uni-kassel.de