PROSEMINAR ONLINE ALGORITHMEN



Ähnliche Dokumente
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Zeichen bei Zahlen entschlüsseln

7 Rechnen mit Polynomen

Grundlagen der Theoretischen Informatik, SoSe 2008

1 topologisches Sortieren

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Kompetitive Analysen von Online-Algorithmen

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

Informationsblatt Induktionsbeweis

Professionelle Seminare im Bereich MS-Office

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

6.2 Scan-Konvertierung (Scan Conversion)

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

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

BaseCamp OS X, Zümo 590 und die unterschiedliche Punkte in einer Route:

Primzahlen und RSA-Verschlüsselung

Beweisbar sichere Verschlüsselung

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Zwischenablage (Bilder, Texte,...)

Erstellen von x-y-diagrammen in OpenOffice.calc

Speicher in der Cloud

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten?

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Was ist Sozial-Raum-Orientierung?

Statuten in leichter Sprache

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Gutes Leben was ist das?

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Chemie Zusammenfassung KA 2

Verband der TÜV e. V. STUDIE ZUM IMAGE DER MPU

Mathematischer Vorbereitungskurs für Ökonomen

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

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

Einführung in die Algebra

Lizenzierung von SharePoint Server 2013

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

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

1 Mathematische Grundlagen

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang. Aufgabenblatt 3 (KW 44) ( )

EM-Wellen. david vajda 3. Februar Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

Wie halte ich Ordnung auf meiner Festplatte?

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Kulturelle Evolution 12

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Anleitung über den Umgang mit Schildern

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Lichtbrechung an Linsen

24. Algorithmus der Woche Bin Packing Wie bekomme ich die Klamotten in die Kisten?

Berechnung der Erhöhung der Durchschnittsprämien

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Das Briefträgerproblem

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral!

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

WinVetpro im Betriebsmodus Laptop

Software- und Druckerzuweisung Selbstlernmaterialien

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Wir machen neue Politik für Baden-Württemberg

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Mandant in den einzelnen Anwendungen löschen

Bewertung des Blattes

Plotten von Linien ( nach Jack Bresenham, 1962 )

Frohe Weihnachten und ein gutes neues Jahr!

Webalizer HOWTO. Stand:

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Was ist das Budget für Arbeit?

Korrelation (II) Korrelation und Kausalität

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

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Repetitionsaufgaben Wurzelgleichungen

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

Algorithmische Methoden für schwere Optimierungsprobleme

AUSBILDUNG eines OBEDIENCE HUNDES

Programmentwicklungen, Webseitenerstellung, Zeiterfassung, Zutrittskontrolle

Örtliche Angebots- und Teilhabeplanung im Landkreis Weilheim-Schongau

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Quadratische Gleichungen

Feiertage in Marvin hinterlegen

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

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

Kurzeinführung zum Plotten in Maple

A Lösungen zu Einführungsaufgaben zu QueueTraffic

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

4.4 AnonymeMärkteunddasGleichgewichtder"vollständigen Konkurrenz"

Thema: Winkel in der Geometrie:

1. Kennlinien. 2. Stabilisierung der Emitterschaltung. Schaltungstechnik 2 Übung 4

Lizenzierung von SharePoint Server 2013

Manager. von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen. Spielanleitung

ratgeber Urlaub - Dein gutes Recht

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.

Das Vermögen der privaten Haushalte in Nordrhein-Westfalen ein Überblick auf der Basis der Einkommens- und Verbrauchsstichprobe

Arbeiten mit UMLed und Delphi

Menü auf zwei Module verteilt (Joomla 3.4.0)

Transkript:

PROSEMINAR ONLINE ALGORITHMEN im Wintersemester 2000/2001 Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans (Betreuer) Vortrag vom 15.11.2000 von Jan Schmitt Thema : Finden eines Zielpunktes in unbekannter Umgebung Inhaltsübersicht : 1. Vorstellung des Problems 2. Modell des Roboters und der Umgebung 3. untere Schranke für beliebige Strategien 4. die Strategie Bug1 5. Kompetitivität der Strategie Bug1 1. Vorstellung des Problems Ein Roboter soll in einer unbekannten Umgebung mit Hindernissen einen fest vorgegebenen Zielpunkt finden und die Hindernisse dabei umfahren. Dies soll online geschehen, d.h. der Roboter kennt vorher weder die Form noch die Lage der Hindernisse, sondern diese Informationen werden erst auf dem Weg zum Ziel erkundet, dazu später mehr. Bekannt sind dem Roboter jedoch stets sein eigener Standpunkt und die Lage des Zielpunktes. Im

Unterschied zu vielen anderen Onlinealgorithmen sind die Objekte also hier nicht nur zeitlich, sondern auch räumlich getrennt. 2. Modell des Roboters und der Umgebung Um mit dem Problem besser umgehen zu können, werden zur Vereinfachung einige Vorraussetzungen gemacht, die in der Realität auch oft gegeben sind: Die Umgebung (ohne die Hindernisse) soll eine zweidimensionale, ebene Fläche sein. Die Hindernisse haben eine beliebige Form, jedoch eine gewisse Mindesthöhe, so dass sichergestellt ist dass der Roboter sie mit seinen Sensoren (siehe unten) erfassen kann. Außerdem haben die Hindernisse einen endlichen Umfang und stetige Umrandungen. Je zwei Hindernisse sollen sich nicht berühren, d.h. ein beliebiger Punkt auf einem Hindernis gehört genau zu diesem Hindernis und liegt auf keinem anderen Hindernis. Des weiteren wird ein Koordinatensystem zugrundegelegt. Dies kann ein beliebiges Koordinatensystem sein, wie z.b. lokale Koordinaten einer Halle, Gauss-Krüger-Koordinaten, oder sonstige Weltkoordinaten die über Satellitenpeilung bestimmt werden können. In diesem Koordinatensystem sollen von Beginn an sowohl Start- als auch Zielpunkt fest vorgegeben sein. Der Roboter selbst wird dabei als Punktförmig angenommen, d.h. insbesondere er kann immer zwischen je zwei beliebigen Hindernissen hindurchnavigieren. Ferner wird vorrausgesetzt dass der Roboter stets sowohl seine eigenen Koordinaten als auch die Koordinaten des Zielpunktes kennt und über einen Speicher verfügt, mit dem er sich Positionen merken kann. Außerdem soll der Roboter so ausgestattet sein dass er aus beliebigen aktuellen Koordinaten oder Koordinaten aus dem Speicher Entfernungen berechnen kann. Er verfügt über einen Tastsensor, womit er bemerkt wenn er ein Hindernis berührt und mit Hilfe dessen er auch an einem Hindernis entlang fahren kann. Da es sich um ein Onlineproblem handelt, hat der Roboter außer den Informationen im Speicher nur Informationen über das aktuelle Objekt das er grade berührt. Deshalb kann er auch, wenn er auf ein neues Hindernis stößt, zunächst nicht entscheiden ob es günstiger ist zuerst nach rechts oder nach links zu gehen. Diesbezüglich findet auch kein Lernprozess statt, der Roboter sammelt also keinerlei Erfahrungen über die Umgebung oder zieht aus solchen Rückschlüsse auf die Lage oder Form noch nicht erkundeter Hindernisse. Weiterhin muss der Roboter natürlich navigieren können. Dazu genügt es wenn er 3 Grundbefehle ausführen kann: Als erstes soll er Roboter geradlinig in Richtung Zielpunkt navigieren können, zweitens an einer Hinderniswand entlang fahren, und zwar sowohl links- als auch rechtsläufig, und drittens schließlich stoppen wenn er das Ziel erreicht hat bzw. festgestellt hat dass es keinen freien Weg zum Zielpunkt gibt. 3. untere Schranke für beliebige Strategien In diesem Abschnitt wird folgendes interessante Theorem betrachtet und bewiesen : Theorem : Zu jedem Algorithmus, bezogen auf die vorherigen Bedingungen, gibt es eine Umgebung, so dass zu jeder noch so großen Weglänge P, jedem noch so kleinen Abstand ST des Startpunktes S vom Zielpunkt T und jedem noch so kleinen δ > 0 gilt : P ST + P ( i) - δ, i wobei P(i) den Umfang des i-ten Objekts bezeichnet.

Dabei kann man das Modell sogar insofern verallgemeinern, als dass man auch andere Bewegungen des Roboters als die oben genannten zulässt. So lässt sich das Theorem auch beweisen, wenn der Roboter sich z.b. auch vom Zielpunkt wegbewegen kann ohne gerade eine Hinderniswand zu berühren. Beweisidee : Konstruktiver Beweis, d.h. wir versuchen, zu einem beliebigen Algorithmus unter obigen Bedingungen eine Umgebung zu konstruieren, so dass die Ungleichung aus Theorem 1 erfüllt ist. Beweis : Wir betrachten zunächst die vorläufige Umgebung : (Abb. 1) In Abbildung 1 stellt S den Startpunkt und T (von englisch target) den Zielpunkt dar, das Hindernis ist in rot dargestellt. Die Wandstärke des Hindernisses wird als vernachlässigbar gering angenommen. Zum Beweis lassen wir den Roboter nun mit einem beliebigen Algorithmus X vom Startpunkt S zum Zielpunkt T laufen, und erhalten dann die endgültige Umgebung. Um diese zu konstruieren, werden aus der vorläufigen Umgebung genau die Teile des Hindernisses übernommen die der Roboter unter dem Algorithmus X tatsächlich berührt hat, und alle anderen Teile werden entfernt: Jedes Teilstück, an dem der Roboter ein Stück entlanggefahren ist wird so in die endgültige Umgebung übernommen, und wenn der Roboter auf seinem Weg das Hindernis an einer Stelle nur berührt und dann sofort wieder verlassen hat, so wird an dieser Stelle ein Stück des vorläufigen Hindernisses der Breite δ in die endgültige Umgebung übernommen. Man stellt leicht fest dass der Roboter unter Algorithmus X dann in der endgültigen Umgebung genau den gleichen Weg vom Start- zum Zielpunkt zurücklegt wie in der vorläufigen Umgebung. Denn genau die Teile des vorläufigen Hindernisses die der Roboter nicht berührt hat wurden ja entfernt, und diese haben, eben weil der Roboter sie gar nicht berührt, auch keinen Einfluss auf das Verhalten des Roboters. Sofort ersichtlich ist zunächst dass der zurückgelegte Weg nicht kürzer sein kann als ST, da dies gerade die Entfernung vom Start- zum Zielpunkt ist. Zum Beweis des Theorems unterscheiden wir 3 Fälle : 1. Fall : Der Roboter hat auf seinem Weg vom Start- zum Zielpunkt unter Algorithmus X das vorläufige Hindernis gar nicht berührt. Also ist die endgültige Umgebung frei von Hindernissen und somit i P ( i) = 0 und der insgesamt zurückgelegte Weg P > ST, und somit ist die zu beweisende Ungleichung erfüllt. 2. Fall : Der Roboter ist auf seinem Weg vom Start- zum Zielpunkt unter Algorithmus X genau einmal auf das vorläufige Hindernis gestoßen. Dann enthält die endgültige Umgebung genau ein Hindernis. Da der Roboter einen Weg der Länge dieses Hindernisses auf dem Weg vom Ziel weg zurückgelegt hat, muss er, wenn er wieder in

Richtung Ziel fährt, mindestens die gleiche Strecke wieder zurücklegen, siehe dazu auch Abbildung 2 : Somit ist die Ungleichung erfüllt. Abbildung 2 3. Fall : Der Roboter ist auf dem Weg vom Start- zum Zielpunkt unter Algorithmus X mehrmals auf das vorläufige Hindernis getroffen. Dann muss er dieses aber zwischenzeitlich auch wieder auf einem Umweg im Vergleich zu Fall zwei verlassen haben, und der Weg ist jedenfalls länger als im zweiten Fall und die zu beweisende Ungleichung ist wieder erfüllt. 4. die Strategie Bug 1 Im Folgenden wird eine Strategie namens Bug (von engl. Wanze) zur Zielpunktsuche unter den in Abschnitt eins und zwei genannten Vorraussetzungen vorgestellt. Diese arbeitet nach folgendem Algorithmus : Repeat Repeat Laufe geradlinig auf Zielpkt. zu Until Wandkontakt A : = Aktuelle Position ( auf Hinderniswand ) D : = Aktuelle Position ( bisher dem Zielpunkt nächster besuchter Punkt auf Hindernis ) Repeat Rücke Aktuelle Position entlang Hindernis vor; If Aktuelle Position näher zum Zielpkt. als D Then D : = Aktuelle Position Until Aktuelle Position = A; Gehe auf kürzestem Weg entlang Hindernis zu D Until Zielpunkt erreicht Dem ist hinzuzufügen, dass der Roboter, jedes Mal wenn er auf ein Hindernis trifft, in dem Beispielen zuerst nach links geht, da er ja nicht entscheiden kann welche der beiden

Möglichkeiten günstiger ist. Wenn der Roboter ein Hindernis auf dem Weg nur tangiert so ignoriert er dies einfach und fährt weiter. Abb. 3 zeigt ein Beispiel zur Arbeitsweise der Strategie Bug1 : Abbildung 3 Dabei führt der Weg natürlich stets wie oben formuliert entweder geradlinig auf den Zielpunkt zu oder aber direkt an einer Hinderniswand entlang. Die Punkte A1...A3 bzw. D1...D3 in der Abbildung stellen die Punkte A und D am Ende der jeweiligen Schleifendurchläufen dar. Nun sollte die Arbeitsweise von Bug1 klar sein und wir betrachten einige Eigenschaften des Algorithmus : - Wenn der Roboter das Ziel T vom Startpunkt S aus erreicht und dabei i Hindernisse vom n Umfang U(i) umfahren hat, hat er höchstens einen Weg der Länge ST + 3/2 U ( i) zurückgelegt. Beweis : Die Summe aller vom Roboter zurückgelegten Teilstrecken von D(i) nach A(i+1) ist insgesamt keinesfalls länger als die Gesamtstrecke ST. Außerdem wird jedes getroffene Hindernis genau einmal und dann noch einmal höchstens zur Hälfte umrundet, was den Faktor 1,5 = 3/2 ergibt. - Auf jedem Hindernis gibt es genau einen Punkt an dem dieses angefahren wird. - Auf jedem Hindernis gibt es genau einen Punkt an dem dieses wieder verlassen wird. Existieren auf einem Hindernis mehrere dem Ziel nächste Punkte, so wird ein beliebiger ausgewählt. - jedes Hindernis wird höchstens einmal umfahren. Wenn ein Hindernis einmal verlassen wurde, so wird dieses nie wieder berührt, da der Roboter ja von einem dem Zielpunkt nächsten Punkt auf der Hinderniswand aus ein Stück geradlinig in Richtung Zielpunkt gefahren ist. - erreicht der Roboter einen Punkt D und kann von dort nicht weiter in Richtung Zielpunkt fahren, so ist das Ziel nicht erreichbar. Mindestens Zielpunkt oder Roboter sind komplett von einem Hindernis eingeschlossen, da der Roboter den eigentlich dem Ziel am nächsten gelegenen Punkt auf der Hinderniswand nicht erreichen kann (siehe Abbildung), i= 1

bei eingeschlossenem Zielpunkt entsprechend. - Bug1 wird in der Praxis nicht eingesetzt, da es Verbesserungen des Algorithmus gibt (z.b. Bug2), die i.a. mit kürzeren Wegen zum Zielpunkt finden. 5. Kompetitivität der Strategie Bug1 Zur Erinnerung zunächst noch einmal die Definition der Kompetitivität : Ein Onlinealgorithmus mit Kostenfunktion K heißt c-kompetitiv ( zum optimalen Offlinealgorithmus ), wenn es eine Konstante c gibt, so dass K(onlinealgorithmus) c K(optimaler Algorithmus) + a, wobei a eine von der Anfrage unabhängige Konstante ist, für alle Anfragen ( hier : Umgebungen, in denen der Roboter seinen Weg sucht ) gilt. Als Kosten werden bei diesem Algorithmus die Weglängen angenommen. Man kann leicht eine Umgebung konstruieren in der der Roboter im Onlinealgorithmus Bug1 eine beliebig größere Weglänge benötigt um vom Start- zum Zielpunkt zu finden als ein optimaler Offlinealgorithmus dem die gesamte Umgebung mitsamt Lage und Form der Hindernisse von vornherein bekannt sind : In dieser Umgebung führt der kürzeste Weg rechts am Hindernis vorbei. Man kann das Hindernis jedoch beliebig nach links erweitern und dann benötigt Bug1 einen im Verhältnis zum kürzest möglichen Weg beliebig langen Weg um vom Startpunkt zum Zielpunkt zu finden. Also ist der Algorithmus Bug1 nicht kompetitiv! Verwendete Literatur : - Rolf Klein, Algorithmische Geometrie, Addison Wesley 1997 - V. J. Lumelsky and A. A. Stepanov. Path-planning strategies for a point mobile automaton moving amidst unknown obstacles of arbitrary shape. Algorithmica, 1997.