Konzepte der Informatik

Ähnliche Dokumente
Konzepte der Informatik

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 15/16

1 topologisches Sortieren

Primzahlen und RSA-Verschlüsselung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Informationsblatt Induktionsbeweis

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

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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Kapitel 6: Graphalgorithmen Gliederung

Professionelle Seminare im Bereich MS-Office

Algorithmen und Datenstrukturen 2

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Zeichen bei Zahlen entschlüsseln

Erfahrungen mit Hartz IV- Empfängern

Information Systems Engineering Seminar

Anmerkungen zur Übergangsprüfung

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

Wie Google Webseiten bewertet. François Bry

Lichtbrechung an Linsen

Algorithmische Mathematik

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

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

Kapitalerhöhung - Verbuchung

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!.

teamsync Kurzanleitung

Anwendungshinweise zur Anwendung der Soziometrie

Grundlagen der Theoretischen Informatik, SoSe 2008

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

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

EINFACHES HAUSHALT- KASSABUCH

4.4 AnonymeMärkteunddasGleichgewichtder"vollständigen Konkurrenz"

Informatik I WS 07/08 Tutorium 24

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Lehrer: Einschreibemethoden

Animationen erstellen

Software- und Druckerzuweisung Selbstlernmaterialien

Statuten in leichter Sprache

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

Berechnung der Erhöhung der Durchschnittsprämien

Benutzerhandbuch - Elterliche Kontrolle

Wie Sie mit Mastern arbeiten

Dazu stellen Sie den Cursor in die Zeile, aus der eine Überschrift werden soll, und klicken auf die gewünschte Überschrift.

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Zwischenablage (Bilder, Texte,...)

Das Briefträgerproblem

Wichtiges Thema: Ihre private Rente und der viel zu wenig beachtete - Rentenfaktor

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

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

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Tutorial Moodle 2 Rollenzuweisung

Geld Verdienen im Internet leicht gemacht

Arbeitsblätter. Sinnvolle Finanzberichte. Seite 19

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Modellbildungssysteme: Pädagogische und didaktische Ziele

Programme im Griff Was bringt Ihnen dieses Kapitel?

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

So gehts Schritt-für-Schritt-Anleitung

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Tragen Sie bitte im Anmeldefeld die Daten ein, die Sie von uns erhalten haben.

Plotten von Linien ( nach Jack Bresenham, 1962 )

1 Mathematische Grundlagen

Örtliche Angebots- und Teilhabeplanung im Landkreis Weilheim-Schongau

Mit Papier, Münzen und Streichhölzern rechnen kreative Aufgaben zum Umgang mit Größen. Von Florian Raith, Fürstenzell VORANSICHT

Kapiteltests zum Leitprogramm Binäre Suchbäume

Sollsaldo und Habensaldo

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Gruppenrichtlinien und Softwareverteilung

Bundesverband Flachglas Großhandel Isolierglasherstellung Veredlung e.v. U g -Werte-Tabellen nach DIN EN 673. Flachglasbranche.

W-Rechnung und Statistik für Ingenieure Übung 11

Hinweise in Leichter Sprache zum Vertrag über das Betreute Wohnen

Anleitung über den Umgang mit Schildern

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

Anzeige von eingescannten Rechnungen

Hardware - Software - Net zwerke

Internet online Update (Mozilla Firefox)

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Der Gabelstapler: Wie? Was? Wer? Wo?

Anwendungsbeispiele Buchhaltung

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

Media Teil III. Begriffe, Definitionen, Übungen

Quadratische Gleichungen

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Markus 13, Wie ist es, wenn die Welt aufhört? Und wenn die neue Welt von Gott anfängt.

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.

Satzhilfen Publisher Seite Einrichten

Dokumentenverwaltung im Internet

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

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

Erstellen eigener HTML Seiten auf ewon

METTLER TOLEDO USB-Option Installation der Treiber unter Windows XP

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

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

Transkript:

Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens Gallenbacher 1

Was steckt dahinter? Einleitung Die besprochenen Probleme gehören in das Umfeld der so genannten Graphenalgorithmen. Ein Graph besteht hierbei aus einer Menge von Knoten und einer Menge von Kanten, die zwischen den Knoten verlaufen. Die Knoten werden oft als Kringel und die Kanten als Linien oder Pfeile dazwischen dargestellt. Man unterscheidet ungerichtete Graphen (ohne Pfeil), bei denen die Verbindung zweier Konten in beide Richtungen geht und gerichtete Graphen (mit Pfeil). Wozu ist aber ein Graph gut? Wie andere Modelle in der Informatik kann er ein Ausschnitt der Wirklichkeit modellieren, um diese einfacher zu verstehen und zu analysieren. 2

Was steckt dahinter? Anforderungen an Algorithmen Aufgrund der vielfältigen Anwendungen gibt es auch eine Menge von Algorithmen auf Graphen. Der Dijkstra-Algorithmus ist hier ein sehr bekannter Vertreter. Was zeichnet einen guten Algorithmus aus? Er muss zuerst einmal die gestellte Aufgabe lösen. Wichtiges Kriterium ist außerdem, dass dieser die Aufgabe möglichst schnell löst und auch bei großen Problemen nicht in die Knie geht. 3

Was steckt dahinter? Berechnung des Zeitbedarfs Wir betrachten wie stark der Zeitbedarf mit der Problemgröße ansteigt. Am Beispiel der Landkarte kann dies sehr gut demonstriert werden. Eine Problemgröße ist zum Beispiel die Anzahl der Städte auf der Landkarte. Betrachten wir jetzt noch einmal den Brute-Force-Ansatz zur Bestimmung des kürzesten Weges: Bestimme alle möglichen Wege vom Start zum Ziel und suche davon den kürzesten. 4

Was steckt dahinter? Beispiel: Brute-Force-Methode Im schlechtesten Fall müssen also alle von einem Punkt ausgehenden Wege bestimmt werden. Außerdem sind im schlechtesten Fall alle Knoten mit allen anderen Knoten verbunden (vollständiger Graph). Für drei Knoten ist es noch kein Problem, die Anzahl möglicher Wege vom Startpunkt S aus zu bestimmen. 5

Was steckt dahinter? Beispiel: Brute-Force-Methode Mit jedem zusätzlichen Knoten steigt die Anzahl der möglichen Wege stark an. Zeichnerisch die Lösung zu bestimmen ist dann nicht mehr praktikabel. Man kann die Anzahl der Knoten auch rechnerisch bestimmen. Für den Graphen mit vier Knoten gilt, dass man ihn aus zwei Komponenten zusammensetzen kann: ein einzelner Knoten S plus ein Graph mit drei Knoten. Da der bekannte Graph drei Knoten besitzt, kann vom neuen Knoten S auf drei Arten ein Weg zum bekannten Graphen begonnen werden. 6

Was steckt dahinter? Beispiel: Brute-Force-Methode Im 3er Graphen wird dann auf die bereits ermittelte Weise ein Weg gesucht. Daher ist die Anzahl möglicher Wege im 4er-Graphen 3 * 2 = 6. Für einen 5er-Graphen gibt es vier Möglichkeiten, Wege vom neuen Knoten zum 4er-Graphen zu beginnen. Die Anzahl der Wege beträgt daher 4*6 = 24. Auf diese Weise kann man ableiten, dass in einem vollständigen Graphen mit n Knoten (n-1)! verschiedene Wege von einem gesetzten Startpunkt ausgehen. Da für jeden der Wege n-1 Streckenabschnitte eingerechnet werden müssen, bedarf es für die Brute-Force-Methode ungefähr (n-1)(n-1)! Berechnungen, um den kürzesten Weg zu finden. 7

Was steckt dahinter? Beispiel: Brute-Force-Methode # Knoten Schritte 3 4 4 18 5 96 6 600 7 4.320 8 35.280 9 322.560 10 3.265.920 15 1.220.496.076.800 20 2.311.256.907.767.808.000 50 29805811337679110482740356002743473467490088737581301760000000000 8

Was steckt dahinter? Beispiel: Brute-Force-Methode Für 100 Knoten sind im schlimmsten Fall bereits 92392953289504711154882246467704033485808808581737805253907034256 26542399329761645528520493363949531033911609416189515206686733588 07695360000000000000000000000 Berechnungen nötig. Wenn auch nur alle 12.903 Gemeinden Deutschlands als Knoten in die Suche einbezogen werden, sind 9,88 * 10 47438 Berechnungen nötig. Um sich diese Zahl vorstellen zu können, folgende Analogie: 9

Was steckt dahinter? Beispiel: Brute-Force-Methode Wenn sich die verfügbaren Rechenleistungen wie momentan jedes Jahr fast verdoppeln, haben im Jahre 2010 alle Rechner der Erde zusammengenommen etwa die Möglichkeit 128 Petaflops durchzuführen, also 128 Billiarden Fließkommaoperationen pro Sekunde. Nehmen wir an, wir vereinigen alle Rechner zu einer gigantischen Maschine, die sich dann um unser Wegeproblem kümmert. Dann würde sie immer noch etwa 4*10 47415 Jahre für das Ergebnis benötigen. Das Alter des Universums wird heute auf etwa 12 Milliarden Jahre geschätzt. Die Maschine würde also immer noch 333*10 47400 Mal so lange benötigen, wie das gesamte Universum alt ist. 10

Darstellung von Graphen Überlegung Computer kennt keine graphische Darstellung Insbesondere keine Kanten und Knoten Abstraktion notwendig Überführung der graphischen Darstellung in eine Datenstruktur 11

Darstellung von Graphen Adjazenzmatrix Idee für ungerichtete Graphen: Sei n die Anzahl der Knoten. Benutze eine n x n Matrix. Wenn eine Kante zwischen Knoten a und b existiert, dann trage in Spalte a und Zeile b eine 1 ein, andernfalls eine 0. Verfahre ebenso mit Spalte b und Zeile a. 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 12

Darstellung von Graphen Adjazenzmatrix Beispiel für ungerichteten Graphen mit Gewichten: Symmetrie bleibt erhalten. Anstelle von einer 1 trage das Kantengewicht ein. 0 7 8 0 5 7 0 0 1 0 8 0 0 2 6 0 1 2 0 9 5 0 6 9 0 13

Darstellung von Graphen Adjazenzmatrix Beispiel für gerichteten Graphen mit Gewichten: Keine Symmetrie mehr. 0 0 0 0 0 7 0 0 1 0 8 0 0 0 6 0 0 2 0 0 5 0 0 9 0 14

Darstellung von Graphen Adjazenzliste Anstatt einer Matrix wird eine verkettete Liste benutzt. Besonders geeignet für gerichtete Graphen Die Basisstruktur bildet die Liste aller Knoten. Für jeden Knoten wird eine Liste der Nachfolger entlang gerichteter Kanten abgespeichert. 15

Darstellung von Graphen Inzidenzmatrix Anstatt Verbindungen von Knoten zu Knoten darzustellen, wird hier die Nachbarschaft der Kanten zu den Knoten dargestellt. Jede Spalte enthält 2 von Null verschiedene Einträge e1 e2 e3 e4 e5 e6 e7 1 1 1 0 0 0 0 1-1 0 0 0-1 0 0 2 0-1 0 1 0 0-1 3 0 0 0-1 1 1 0 4 0 0-1 0 0-1 1 5 16

Zusammenfassung Datenstrukturen Listen Array's (zusammenhängender Speicher) 1 2 3 4 5 6 7 8 9... n (doppelt) Verkettete Listen Stapel 1 2 3 4 4 3 2 1 3 2 1 4 2 1 3 2 1 5 17

Zusammenfassung Datenstrukturen Graphen Bäume 2 7 5 3 9 6 8 1 18

Vielen Dank für Ihre Aufmerksamkeit! 19