Schwierige Probleme in der Informatik

Ähnliche Dokumente
Schwierige Probleme in der Informatik Informationen für die Lehrperson

Komplexitätstheorie Einführung und Überblick (Wiederholung)

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Das Briefträgerproblem

Handbuch für Easy Mail in Leicht Lesen

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Übung - Konfigurieren der Browser-Einstellungen in Windows 7

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

MAPS.ME. Benutzerhandbuch!

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

WS 2009/10. Diskrete Strukturen

Der ultimative Geschwindigkeits-Regler

1 Einführung Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT) Notationen und Definitionen Übungsaufgaben...

Eigene Bilder in die Symbol-/Bildbibliothek des Programmes Boardmaker für Windows (Version5) einbinden

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

- Eine deutsche Tastatur für alles außer ProTools - Eine englische Tastatur für ProTools - Eine Umschaltmöglichkeit für die Eingabesprache

Gratis Bildbearbeitungsprogramm

4 Greedy-Algorithmen (gierige Algorithmen)

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Algorithmen und Datenstrukturen 2

CamScanner. Allgemeine Einstellungen. Landesakademie für Fortbildung und Personalentwicklung an Schulen

Statistische Untersuchungen zu endlichen Funktionsgraphen

Sametime Meetings - Taskreferenz

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Skitch Foto Dokumentation Inhaltsverzeichnis

Sie möchten einen neuen Termin im Kalender anlegen:

PND Tool Quellcodegenerierung

Das P versus N P - Problem

Übung - Verwendung der Systemwiederherstellung in Windows XP

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Programme deinstallieren,

HowTo: Ereigniseinrichtung

Access Verbrecherdatenbank Teil 3

Newsletter. 1 Erzbistum Köln Newsletter

Fülle das erste Bild "Erforderliche Information für das Google-Konto" vollständig aus und auch das nachfolgende Bild.

Praktikum Planare Graphen

Einrichtung von Outlook 2000 und Import alter s

Anwendungsbeschreibung des ReNoStar-Druckers

Erstellen eines LS15 Storebildes

T H E P O W E R O F B U I L D I N G A N D M A N A G I N G N E T W O R K S. Topology-View

Grundlagen der Künstlichen Intelligenz

Eine molekulare Lösung des Hamiltonkreisproblems mit DNA

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

WS 2013/14. Diskrete Strukturen

Tumorbank Molekulare Onkologie

Algorithmen und Datenstrukturen 2

Handbuch DrahtexLabelwriter 3.0

Klicken Sie auf den Ordner mit der Bezeichnung Microsoft Office und wählen Sie den Eintrag Microsoft Outlook 2010.

Kurzeinführung Moodle

Wir wünschen Ihnen viel Freude und Erfolg mit Ihrem neuen X-PRO-USB-Interface. Ihr Hacker-Team

MSI SIM Editor Benutzerhandbuch. MSI SIM Editor Benutzerhandbuch

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Internet online Update (Internet Explorer)

Artikel Schnittstelle über CSV

Information Systems Engineering Seminar

Neue Schriftarten installieren

ARBEITEN MIT DATEIEN UND ORDNERN IN WINDOW7

Erstellen von Mailboxen

Wie optimiert man die Werbungserkennung von Ad- Detective?

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Fahrzeuggestaltung auf dem ipad

Browser Grid Funktionalitäten

Da ist meine Anleitung drin!

Installation des Add-Ins für Lineare Algebra in Microsoft Excel

Caleido Address-Book. Kurzanleitung Gastro

JBuilderX: Installation und Kurzanleitung (Windows)

Kurzanleitung für bikemap.net

Serienbrief erstellen

Handbuch B4000+ Preset Manager

ESLC Leitfaden Testwerkzeug für Schüler [DE]

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Graphentheorie Mathe-Club Klasse 5/6

Outlook 2010 Stellvertretung

2 Windows- Grundlagen

Binäre Suchbäume (binary search trees, kurz: bst)

2 Onlinefunktionen SkyDrive Teamarbeit Online vorführen Word PDF bearbeiten...6

Einführung in Powerpoint M. Hasler Wie erstelle ich eine Präsentation mit Powerpoint? - Eine Kurzanleitung

Hinweis Beschreibung der Symbolleiste Einstellungen Kommunikationseinstellungen Erstellung eines neuen Auftrags...

Für Windows 7 Stand:

Schnellstarthandbuch. Suchen Sie können Ordner, Unterordner und sogar Postfächer durchsuchen.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Übung - Überwachen und Verwalten von Systemressourcen in Windows XP

NiceMemMaster Anwenderhandbuch

Einbinden der Somfy. Außenkamera M3113-VE

Inhaltsverzeichnis. 1 Grundsätzliche Überlegung. 2 Hinweis zur Installation

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

USB 2.0 Sharing Switch

Tutorium Learning by doing WS 2001/ 02 Technische Universität Berlin. Erstellen der Homepage incl. Verlinken in Word 2000

Webconnect xdsl Tool V 4.0

Fernschach-Verwaltung mit Chess Base

Etoys für Einsteiger

Guten Morgen und Willkommen zur Saalübung!

Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP

Transkript:

Schwierige Probleme in der Informatik Ablauf Geschichte durchlesen 10 min Einführung in GraphBench 10 min Entdeckungsphase 60 min Diskussion mit Mitschüler Vorbereitung des Vortrags 30 min Kurzvorträge Organisationsprobleme Das letzte Zürifäscht war ein Riesenerfolg. Fast eine Million Leute strömten in die Metropole. Bern möchte, angetrieben durch diesen Erfolg, ein Bärnfescht organisieren. Der Stadtpräsident der Stadt Bern hat dafür ein Organisationskomitee einberufen, das Eure Klasse unterstützen soll. Berns Altstadt Das Bärnfescht beginnt mit einem Kinderumzug durch Berns Altstadt. Der Umzug startet und endet beim Zytglogge (Punkt in der Mitte) und soll an jeder Kreuzung der Altstadt genau einmal vorbeiziehen. Die Route muss möglichst rasch bestimmt werden, um die Polizei zwecks Strassensperrung zu informieren. 1

Nebst Attraktionen finden an diesem Fest viele Konzerte statt. Bühnen können aufgrund ihrer Grösse nur an Kreuzungen aufgestellt werden, sollen sich aber gegenseitig nicht beschallen. Das bedeutet, dass Bühnen nicht direkt durch eine Strasse verbunden sein dürfen. Die OK Mitglieder wissen nicht, wieviele Bühnen sie mieten müssen! Die Polizei interessiert, wieviele Leute sie einsetzen muss. Die Polizisten werden auf Kreuzungen positioniert. Du denkst, dass es ausreicht, wenn jeder Strassenabschnitt von einem Polizisten überwacht wird. Durch Ausprobieren findest du die Lösung nach einer Stunde. Geht das effizienter? Nebst Bühnen gibt es an den Kreuzungen auch je einen Stand (für Essens-, Getränke-, Vergnügungsstände und Toiletten). An benachbarten Kreuzungen sollen verschiedene Stände stehen. Ist das mit vier verschiedenen Ständen im Berner Strassennetz möglich? Das Regionalfernsehen will das Fest live übertragen. Der Sender besitzt drei geeignete Kameras. Diese sind so auf Kreuzungen zu positionieren, dass jede Kamera mit den zwei anderen in Sichtkontakt steht, um die Strassen von beiden Seiten zu filmen. Welche Kreuzungen eignen sich dafür? Ausserdem fliegt ein Werbezeppelin vor dem Fest über die wichtigsten Plätze und Sehenswürdigkeiten. Eine Runde soll so kurz wie möglich sein. Du siehst, die Planung des Bärnfeschts wirft Probleme auf und ist eine spannende Angelegenheit. All diese Fragen sind wichtige Informatikthemen und nicht einfach zu lösen. Man weiss zwar, wie man die Lösung bestimmt, je nach Grösse (Anzahl Knoten) kann es aber Tage dauern, bis die Lösung gefunden wird. Selbst mit dem schnellsten Computer! Solche Probleme werden mit dem Programm GraphBench betrachtet. Starte das Programm und lies die folgende Einführung. 2

Einführung in GraphBench GraphBench ist eine Lernumgebung, die schwierige Probleme in der Informatik praktisch vermittelt. Die meisten Probleme lassen sich mit Graphen darstellen. Ein Graph besteht aus einer Menge von Knoten und Kanten. Eine Kante verbindet je zwei Knoten. Das Programm präsentiert sich nach dem Start wie auf dem Bild links. Als erstes wählt man das zugrunde liegende Problem. Es sind hier nur die Entscheidungsprobleme (Decision Problems) von Bedeutung. Folgende Probleme sind in GraphBench eingebaut: Colorability (Graphenfärbbarkeit) Vertex Cover (Knotenabdeckung) Clique (Komplette Subgraphen) Travelling Salesman (Problem des Handelsreisenden) Hamilton Circuit (Hamilton Kreis) Independent Set (Unabhängige Menge) Satisfiability (Erfüllbarkeit logischer Formeln) 3CNF-SAT (Satisfiability mit logischen Formeln in spezieller Form) Für die Einführung in GraphBench klickst du auf das Bild mit dem Hamilton Circuit. Du landest in der Ansicht des Hamilton Circuit Problems. Über die Symbolleiste kannst du Graphen erstellen, speichern und öffnen. Im rechten Teil werden die Algorithmen gesteuert und im Hauptfenster dargestellt. Ohne Kenntnis der Tools kannst du mit GraphBench wenig lösen. In GraphBench ist eine englische Hilfe integriert. Du erreichst sie unter Help -> GraphBench help. 3

GraphBench Symbolbeschreibungen Zurück zum Startbildschirm Neue Datei erstellen Datei öffnen Speichern Speichern als... Screenshot Datei neu laden Graphensymbole Grapheigenschaften ändern (Anzahl Knoten und Kanten) Zufälligen Graph erstellen (Anzahl Knoten bleibt gleich) Knoten hinzufügen Knoten mit Kante verbinden Knoten oder Kanten löschen Zoommöglichkeiten Sucht korrekte Färbung (Colorability Problem) Zufällige Knotenfärbung (Colorability Problem) Entfernt Farben aller Knoten (Colorability Problem) Travelling Salesman Symbole Knoten hinzufügen Knoten löschen Knoten zufällig positionieren Optimale Tour Kanten entfernen Tour entfernen Zufällige Tour generieren Satisfiability Symbole Formel randomisieren Eigenschaften der Formel ändern (Anzahl Variablen, Klauseln) Klausel hinzufügen Klausel löschen Variablen hinzufügen Variablen löschen 4

Mit den Symbolbeschreibungen bist du in der Lage, GraphBench zu nutzen. Versuche in den nächsten 5 Minuten den Graphen des untenstehenden Bildes zu erstellen. Wähle anschliessend unter Algorithm Information einen Algorithmus aus und führe ihn aus (unter Control interpreter). Variiere die Geschwindigkeit (Speed of execution). Der Pseudo-Code Button liefert eine Beschreibung des Algorithmus' in einer abstrahierten Programmiersprache, der Description Button eine kurze theoretische Beschreibung in Englisch. Gehe zurück zum Startbildschirm und verschaffe dir einen Überblick über die vorhandenen Entscheidungsprobleme. Wähle eines aus, mit dem du dich in den folgenden 60 Minuten beschäftigen wirst. Die einzelnen Umgebungen unterscheiden sich leicht voneinander. 5

Deine Aufgabe Mach dich mit dem Problem vertraut: Spiel mit der Umgebung und finde heraus, worum es hier geht. Du sollst die Lösungsidee einem Nicht-Informatiker erklären können. Hinweis: Auf der letzten Seite ist jedes Problem kurz beschrieben. Überlege dir Fragen zu diesem Problem und versuche sie zu beantworten. Eine Auswahl von Fragen ist aufgeführt. Es gibt viele andere Gesichtspunkte, die du untersuchen kannst: Wie funktionieren die Algorithmen? Kann ich selbst einen Algorithmus finden, der das Problem löst? Wieviele Schritte braucht der Algorithmus, bis er eine Lösung findet? Welcher Algorithmus ist der schnellste (d.h. benötigt am wenigsten Schritte)? Findet das Programm immer die richtige Lösung? Wie siehts aus mit Extremfällen? Gibt es praktische Anwendungen für dieses Problem? Gibt es Grenzen in der praktischen Nutzung? Formuliere deine Antworten und Erkenntnisse in kurzen, einfachen Sätzen. Eine Person, die sich nicht mit Informatik beschäftigt, sollte deine Erkenntnisse verstehen. Nach 60 Minuten setzt du dich mit einem Mitschüler zusammen, der dasselbe Problem studiert hat. Ihr diskutiert, was ihr entdeckt habt. Anschliessend überarbeitest du deine Erkenntnisse. Formuliere 3-5 Erkenntnisse und halte sie schriftlich fest. Bereite einen 3-minütigen Kurzvortrag zu deinem Thema vor. Er beinhaltet die Schilderung des Problems, einen möglichen Lösungsalgorithmus und deine Erkenntnisse. Der Vortrag muss von deinen Mitschülern verstanden werden. Dafür hast du ca. 30 Minuten Zeit. Viel Spass beim Entdecken! 6

Beschreibung der Problemstellungen Travelling Salesman Problem Eine Tour besucht jeden Punkt eines Graphen. Die Länge der Verbindung zweier Punkte zeigt deren Entfernung. Finde für einen gegebenen Graphen die kürzeste Tour. Hamilton Circuit (Hamilton Kreis) Ein Hamilton Kreis ist ein Pfad, der jeden Knoten genau einmal besucht und jede Kante höchstens einmal benutzt. Die Frage ist, ob in einem Graphen ein Hamilton Kreis existiert. Colorability (Graphenfärbbarkeit) In einem Graphen werden die Knoten eingefärbt. Keine benachbarten Knoten (zwei durch Kanten verbundene Knoten) dürfen dieselbe Farbe aufweisen. Dieses Problem beantwortet die Frage ob es eine Färbung mit n Farben für einen bestimmen Graphen gibt. Auch die Frage nach der minimalen Anzahl Farben lässt sich beantworten. Clique Eine Clique ist eine Menge von Knoten, in der jeder Knoten mit allen anderen Knoten verbunden ist. Eine solche Knotenmenge wird vollständiger Graph genannt. Es soll eine Clique mit einer vorgegebenen Anzahl Knoten in einem Graphen gefunden werden. Independent Set (Unabhängige Menge) Knoten sind unabhängig, wenn sie nicht benachbart, d.h. nicht direkt durch eine Kante verbunden sind. In einer unabhängigen Menge von Knoten ist kein Knoten abhängig von einem anderen. Finde eine vorgegebene Menge unabhängiger Knoten. Wie gross ist das maximale Independent Set? Vertex Cover (Knotenabdeckung) Eine Untermenge von Knoten soll alle Kanten abdecken. Eine Kante ist abgedeckt, falls der Anfangs- oder Endknoten der Kante ausgewählt ist. Mit wievielen Knoten ist eine vollständige Abdeckung möglich? Geht es mit 3 Knoten? Um dieses Szenario geht es im Vertex-Cover Problem. Satisfiability (Erfüllbarkeit logischer Formeln) Den Variablen in einer logischen Formel werden Wahr/Falsch Werte so zugeordnet, dass die ganze Formel erfüllt ist. 3-CNF Satisfiability Wie Satisfiability, nur dass die Formel in einer speziellen Form (3-CNF) gegeben ist. Eine Formel ist in CNF, wenn man sie als Konjunktion von Disjunktionen schreiben kann. Eine logische Formel in 3-CNF enthält zusätzlich höchstens 3 Literale pro Klausel. 7