Projekt Systementwicklung



Ähnliche Dokumente
Informationsblatt Induktionsbeweis

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

Erstellen von x-y-diagrammen in OpenOffice.calc

Kurzanleitung MAN E-Learning (WBT)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

GeoPilot (Android) die App

1.5 Umsatzsteuervoranmeldung

Anlage eines neuen Geschäftsjahres in der Office Line

Professionelle Seminare im Bereich MS-Office

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

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Primzahlen und RSA-Verschlüsselung

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Anleitung zur Prüfungsmeldung im SB-Portal

Bedienungsanleitung für den Online-Shop

Grundlagen der Theoretischen Informatik, SoSe 2008

Installation OMNIKEY 3121 USB

Lichtbrechung an Linsen

11. Das RSA Verfahren und andere Verfahren

QISPOS. Benutzerhandbuch Prüfungsanmeldung. für. Die Rolle: Student

Das Seminar ist eine Prüfungsleistung für Bachelor und Masterstudierende der Informatik!

1 Mathematische Grundlagen

Hinweise zur Kalibrierung von Kameras mit einer AICON Kalibriertafel

Beispiel(unten ist der Spielfeldrand):

Programmierung Weichenmodul S/D Tafel 1

Grundlagen der Informatik

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

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

ist die Vergütung für die leihweise Überlassung von Kapital ist die leihweise überlassenen Geldsumme

Leichte-Sprache-Bilder

Excel Pivot-Tabellen 2010 effektiv

Anleitung über den Umgang mit Schildern

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

Online Bestellsystem Bedienungsanleitung

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

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

myfactory.go! - Verkauf

Vorgehensweise bei Lastschriftverfahren

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

Hilfe zur Buchung Altacher Sommer

Hinweise für die Online- Dienste der Studierenden

Gussnummern-Lesesystem

Die Erstellung eigener Strukturprofile

Anleitung für Wettkampfanmeldung

1 topologisches Sortieren

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Wichtige Info szum Lehrabschluss!

So eröffnen Sie schnell und bequem Ihr Internet-Festgeld

!(0) + o 1("). Es ist damit möglich, dass mehrere Familien geschlossener Orbits gleichzeitig abzweigen.

Kreatives Occhi. - V o r s p a n n - Alle Knoten und Knüpfelemente sowie ihre Verwendbarkeit. Die Knoten

Vorbereitung auf die SEPA-Umstellung

Kurzanleitung LFB-Online für Schulen

SILVERBALL MAX. Technische Info V10 Update

Zusammenführen mehrerer Dokumente zu einem PDF In drei Abschnitten erstellen Sie ein Dokument aus mehreren Einzeldokumenten:

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Leitfaden für die Mitgliederregistrierung auf der neuen Webseite des SFC-Erkelenz

Lösung. Prüfungsteil 1: Aufgabe 1

PDF-Erzeugung mit PDFCreator (nur für Windows, installiert universellen PDF-Druckertreiber) v11/01

iphone- und ipad-praxis: Kalender optimal synchronisieren

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

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

ADDISON Aktenlösung Automatischer Rewe-Import. Technische Beschreibung

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

Übung - Datensicherung und Wiederherstellung in Windows Vista

ANLEITUNG - WIE UNTERSTÜTZE ICH AUF STARTNEXT?

Fax einrichten auf Windows XP-PC

Zwischenablage (Bilder, Texte,...)

EMIS - Langzeitmessung

Hilfedatei der Oden$-Börse Stand Juni 2014

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Warum kann ein Flugzeug fliegen?

Online Registrierung über. Kurzanleitung

STRATO Mail Einrichtung Mozilla Thunderbird

Anleitung zum Einsetzen der Micro SIM Karte in das ipad

Fotostammtisch-Schaumburg

Der Zwei-Quadrate-Satz von Fermat

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor:

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

Animationen erstellen

Grundbegriffe der Informatik

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis 1

Bedienung des Web-Portales der Sportbergbetriebe

ONLINE-Mensa auf

Karten-Freischaltung mit dem UNLOCK MANAGER

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Um unsere Gemeindewebseite für Ihre Zwecke zu nutzen, haben Sie folgende Möglichkeiten:

Aufgabe 1 Berechne den Gesamtwiderstand dieses einfachen Netzwerkes. Lösung Innerhalb dieser Schaltung sind alle Widerstände in Reihe geschaltet.

Einrichten des Elektronischen Postfachs

M e r k b l a t t. Neues Verbrauchervertragsrecht 2014: Beispiele für Widerrufsbelehrungen

4.1 Download der App über den Play Store

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

1: 9. Hamburger Gründerpreis - Kategorie Existenzgründer :00 Uhr

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Internationales Altkatholisches Laienforum

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Übung - Arbeiten mit Android

Transkript:

Projekt Systementwicklung Periodische Randbedingungen: Das Leben auf dem Torus Prof. Dr. Nikolaus Wulff

Prüfungsanmeldung Die Modulprüfung Projekt Systementwicklung findet am 26. und 25. Juni statt. Es ist zwingend erforderlich sich für diese Prüfung genauso wie bei einer Klausur, im LSF anzumelden. Die Anmeldung ist jetzt freigeschaltet und die Anmeldefrist endet am 30. Mai. Wer sich bis dahin nicht im LSF angemeldet hat kann die Prüfung PSE nicht ablegen, auch wenn er am Projekt teilgenommen hat! Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 2

Unendlich große Spielfläche Beim klassischen Game of Life sterben die Zellen beim Verlassen der Spielfläche. Sie fallen scheinbar vom Rand der Welt. Durch die Angabe von Breite (w) und Höhe (h) lässt sich die Spielfläche beliebig vergrößern, das prinzipielle Problem der endlichen Fläche wird dadurch jedoch nicht gelöst. Eine Möglichkeit eine unendlich große Welt, auf einer endlichen Spielfläche, zu erzeugen entsteht durch Identifikation gegenüberliegender Seiten. Eine Zelle, die rechts aus dem Bild läuft taucht links wieder auf, entsprechend Oben und Unten. Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 3

Periodische Randbedingungen Abbildung der unendlichen Ebene auf den Fundamentalbereich w*h w 3 1 2 h 2 Durch die periodische Fortsetzung der endlichen Spielfläche entsteht ein Gitter (engl. Lattice) mit dem unendlich periodisch fortgesetzten hellblauen Elementarbereich der Fläche w*h. Das Beispiel zeigt die Bahn eines Gleiters. Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 4 3

Vom Gitter zum Torus Die Identifikation gegenüberliegender Seiten erzeugt die Topologie eines Torus. Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 5

Periodische Bahnen Durch diese Randbedingungen und der endlichen Anzahl n=w*h an Gitterplätzen wird die Bahn des Gleiters automatisch periodisch! Es sei ( x, y ) die Startposition des Gleiters G, so gibt es eine Periode p mit der Eigenschaft: G 1 (x, y)=g p (x+n w, y+m h) (n,m) Z 2 d.h. nach p Generationen ist der Gleiter wieder an derselben Position (x,y) modulo der Gitterkonstanten a (w,h) N. 2 Sind w,h teilerfremde Primzahlen größer 4, so ist p=4*w*h die kleinste Periode für einen Gleiter. Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 6

Bahn des Gleiters Parameter: -w=27 -h=15 27=3 3 15=3*5 p=4*15*9=540 Bahn des Gleiters auf dem Torus. Er verlässt rechts den Rand und taucht links wieder auf. Die Bahn ist als periodisch erkannt worden. Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 7

Periodische Gitter sind überall Zusammenhänge der Form f(x)=f(x+n*a) mit einer Gitterkonstanten a kommen in zahlreichen Anwendungsgebieten vor: Festkörperphysik Kristalgitter Quantentheorie Eigenwerte und -funktionen Kosmologie gekrümmte Universen FFT fast Fourier Transformation Kryptographie Insbesondere der letzte Fall tritt zunehmend verstärkt in der Informatik auf... Modulo Rechnung und diskrete Gruppen Z/ p Z sind ein aktives Forschungsgebiet der Informatik! Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 8

Modulo Rechnung Die Berechnung einer Gitterposition (x,y) modulo (w,h) nimmt daher eine zentrale Stellung ein. Am einfachsten ist es in C die Feldberechnung in eine Funktion oder ein Makro von Anfang an auszulagern. Modifikation nur einer Stelle! Statt f[x][y] wird z.b. cell(f,x,y) codiert und die cell Funktion, bzw. das cell Makro, kapselt den eigentlichen Modulo-Algorithmus. So lässt sich auch die Torus Topologie einfach per Kommandozeile an- und ausschalten. Die einfache, naive Verwendung des C Modulo Operators n%m reicht allerdings nicht aus. Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 9

Erweiteter C Modulo Operator Um die Modulo Rechnung auf den Elementarbereich abzubilden, muss dafür gesorgt werden, dass alle Indizes positiv werden: int modulo(int z, int a) { int w = z % a; if (w < 0) w += a; return w; } Der Torus lässt sich per Flag an- und ausschalten #define col(x) ((!torus)? (x) : modulo(x,breite)) #define row(y) ((!torus)? (y) : modulo(y,hoehe)) #define cell(f,x,y) f[col(x)+breite*row(y)] In diesem Beispiel wird die Position innerhalb des Feldes f selber direkt berechnet und eine Torusgeometrie gegebenenfalls berücksichtigt. Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 10

Anwendung Die Berechnung der nächsten Nachbarn einer Zelle zur Position (x,y) ist nun ein Kinderspiel: int neighbours_on_torus(int *feld, int x, int y) { int j, k, n = -cell(feld,x,y); } for (j = x - 1; j <= x + 1; j++) for (k = y - 1; k <= y + 1; k++) n += cell(feld,j,k); return (n); Der gesamte 3x3 Feldbereich wird abgefragt. Eine Sonderbehandlung der Position (x,y) ist nicht erforderlich, da deren Inhalt vorab abgezogen wurde. Eine Doppelzählung erfolgt nicht. Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 11

Zusammenfassung Durch einfache Erweiterung des Game of Life um periodische Randbedingungen lassen sich interessante Variationen des Spiel erreichen. Alle möglichen Gleiter und Spaceship Konfigurationen führen nun zu Zyklen. Mit einfachen Mitteln lässt sich diese Topologie effektiv in C codieren und parametrisieren. Das Game of Life erhält dadurch eine interessante und lehrreiche Zusatzkomplexität. Prof. Dr. Nikolaus Wulff Projekt Systementwicklung 12