Übung 3: ggt Berechnung verteilt

Größe: px
Ab Seite anzeigen:

Download "Übung 3: ggt Berechnung verteilt"

Transkript

1 Übung 3: ggt Berechnung verteilt Übungsgegenstand ist eine verteilte Fassung des Euklidischen Algorithmus zur Berechnung des größten gemeinsamen Teilers (ggt) einer Zahlenmenge. Euklidischer Algorithmus zur ggt-berechnung zweier Zahlen Der Euklidische Algorithmus basiert auf einem Satz von Euklid: (E0) x,y ganze Zahlen x > y > 0 ggt(x,y) = ggt(y, mod(x, y)). Der darauf basierende euklidische Algorithmus berechnet den ggt zweier Zahlen durch wiederholte entsprechende Ersetzung ((x, y) (y, mod(x, y)), Abbruchbedingung y = 0). ggt über Zahlenmenge Satz (E0) lässt sich auf eine Zahlenmenge übertragen. Man kann in einer Zahlenmenge ein Element durch seinen Modulus mit einer anderen, kleineren Zahl der Menge ersetzen, ohne dass sich der ggt verändert: (S0) x 1.., x j,.., x k,.., x n ganze Zahlen i 1..n : x i > 0 x j < x k ggt(x 1.., x j,.., x k,.., x n ) = ggt(x 1.., x j,.., mod(x k, x j ).., x n ). Verteilte Berechnung des ggt einer Zahlenmenge Die Funktion md(x,y) entspreche der Funktion mod(x,y) mit der Ausnahme, dass sie bei restloser Teilbarkeit den Teiler y statt der 0 liefere: md(x,y)::=if mod(x, y)=0 then y else mod(x, y) (entspricht auch: md(x, y) ::= mod(x-1, y)+1) Eine verteilte und auf eine Zahlenmenge der Kardinalität n erweiterte Fassung des Euklidischen Algorithmus ergibt sich dadurch, dass die Ersetzung ((x 1, x 2,..,x j,..,x k,.., x n ) (x 1, x 2,.., md(x j, x k ),..,x k,.., x n )) fortwährend für verschiedene Paare x i und x j angewendet wird. Der Zahlenvektor konvergiert, weil die Funktion md verwendet wird, dabei zum Wert (g, g, g,, g) mit g = ggt(x 1.., x n ). Der Algorithmus kann damit folgendermaßen skizziert werden: Es gibt n Stationen, jede Station i verwaltet einen variablen Zahlenwert M i und kennt eine eigene Konstante c i. Berechnet werden soll ggt(c 1, c 2,.., c n ). Initial gilt M i = c i. Stationen senden ihren aktuellen Wert M i an Nachbarstationen. Eine Station j, die einen Wert M k empfängt, der kleiner als der eigene Wert M j ist, berechnet M j neu (M j =md(m j, M k )) und sendet den neuen Wert M j an Nachbarn weiter.

2 : Ueb3.doc Spezifikation von NTS-Prozess und Stationsprozessen Zur kompositionalen Spezifikation des Algorithmus geben wir zunächst zwei Prozesstypen an, und setzen im Prozesstyp Algo dann das Algorithmus-entsprechende Gesamtsystem aus Instanzen dieser Typen zusammen. const n ; // Anzahl der Stationen, Adressen 1..n c 1,.., c n // Die Zahlenmenge Nachb 1,.., Nachb n // Die Netztopologie (Nachbarstationsmengen) process NTS ; // Nachrichtentransportsystem var b : bag of <dst, z> ; // Der Puffer der im Transfer befindlichen Nachrichten Init ::= b = {} ; actions send ( m : <dst, z>) ::= b = b {m} ; recv ( i : 1..n ; m : <dst, z>) ::= i = dst m b b = b \ {m} ; end ; process Station (c : card ; i : 1..n; Nachb : set of 1..n ); // Stationsprozess var M : card ; // Zahlenmerker ts : set of 1..n ; // Weitergabeziel-Merker Init ::= M = c ts = Nachb ; actions recvgre ( m : <dst, z>) ::= // Empfange nicht-aktualisierende Zahl z M M = M ts = ts ; recvlth ( m : <dst, z>) ::= // Empfange aktualisierende Zahl z < M M = mod(m-1, z)+1 ts =Nachb ; send (m : <dst,z> ) ::= // Sende M an Nachbarn z = M dst ts M = M ts = ts \ {dst} ; end ; process Algo ( n : card ; c : array [1..n] of card ; Nachb : array [1..n] of set of 1..n ) ; processes T : NTS ; // Das Transportsystem S : array [i: 1..n] of Station(c i, i, Nachb i ) ; // Die Stationsprozesse S 1,.. S n. actions recvgre ( i : 1..n ; m : <dst, z>) ::= // S i empfängt nicht-aktualisierende Zahl S i.recvgre(m) T.recv(i,m) j 1..n, j i: S j.stutter ; recvlth ( i : 1..n ; m : <dst, z>) ::= // S i empfängt aktualisierende Zahl S i.recvlth(m) T.recv(i,m) j 1..n, j i: S j.stutter ; send ( i : 1..n ; m : <dst,z> ) ::= // S i sendet sein M an Nachbarn S i.send(m) T.send(m) j 1..n, j i: S j.stutter ; end ;

3 : Ueb3.doc Spezifikation des Gesamtsystems als einfacher Prozess Zur Verifikation verwenden wir die expandierte und syntaktisch leicht vereinfachte Version Algo f des Prozesstyps Algo. Bitte zunächst das blau Geschriebene ignorieren. Es handelt sich um Hilfsvariablen-Historieninformation, welche Informationen aus dem vergangenen Ablauf speichert und später den Safety-Beweis unterstützt (Wir bemerken, dass die blauen Teile der Spezifikation keinen Einfluss auf die schwarzen Teile haben. Sie kommen weder in einem Guard einer Aktion noch in einem Effekt auf schwarze Zustandskomponenten vor). process Algo f ( n : card ; c : array [1..n] of card ; Nachb : array [1..n] of set of 1..n ) ; var b : bag of <D, dst, z> ; // Der Puffer der im Transfer befindlichen Nachrichten // mit D: set of 1 n; Stationsnummernmenge // dst: 1..n ; Zielstationsnummer // z: card ; Nachrichteninhalt, Zahl M : array [1..n] of card ; // Die Zahlenmerker der Stationen ts : array [1..n] of set of 1..n ; // Die Weitergabeziel-Merker der Stationen Init ::= b = {} i 1..n: ( M i =c i ts i = Nachb i ) ; actions recvgre ( i : 1..n ; m : <D, dst, z>) ::= // S i empfängt nicht-aktualisierende Zahl z M i i = dst m b M = M ts = ts b = b \ {m} ; recvlth ( i : 1..n ; m : <D, dst, z>) ::= // S i empfängt aktualisierende Zahl z < M i i = dst m b M = M außer M i = mod(m i -1, z)+1 ts = ts außer ts i =Nachb i b = b \{m}\{<e,j,v>: <E,j,v> b i E} {<E D,j,v>: <E,j,v> b i E} ; send ( i : 1..n ; m : <D, dst, z> ) ::= // S i sendet sein M an einen Nachbarn z = M i dst ts i M = M D={i} ts = ts außer ts i = ts i \ {dst} b = b {m} ; end ; Interessierende Safety-Eigenschaften Die korrektheitsrelevante Safety-Eigenschaft ist, dass der Vektor M bei Terminierung den Wert <g, g,.., g> mit g = ggt(c 1, c 2,.., c n ) besitzt. Eine Eigenschaft, die nicht besagt, dass die Terminierung tatsächlich immer eintreten muss (dies wäre nämlich keine Safety- sondern eine Liveness-Eigenschaft). Vorbereitend beweisen wir eine Formel als Invariante, die auch über die Zwischenzustände, und nicht nur über Terminierungszustände, etwas aussagt: ( ggt(m 1, M 2,.., M n ) = ggt(c 1, c 2,.., c n )). Anmerkung Der Beweis wurde in Zusammenarbeit mit Martin Schuster erarbeitet, der auch entdeckte, dass die vorherige Fassung fehlerhaft war.

4 : Ueb3.doc Der Beweis ist entgegen der ersten Vermutung nicht einfach. Denn der Algorithmus lässt es zu, dass ein in einer Nachricht enthaltener z-wert schon veraltet ist, weil die sendende Station zwischenzeitlich eine Nachricht empfing und ihren Wert M k auf M k =md(m k,z e ) änderte. Wenn nun die Nachricht mit dem veralteten z-wert empfangen wird und beim Empfänger dst die Aktualisierung hervorruft, wird dort M dst =md(m dst,z) gesetzt, ohne dass die Zahl z noch in der Menge M enthalten sein muss. Nun kann mod(x,y) aber gegenüber x neue Primfaktoren enthalten. Der Satz ggt(x,y) = ggt(y, mod(x, y)) gilt nur deshalb, weil die unter Umständen in mod(x,y) gegenüber x neu hinzukommenden Primfaktoren garantiert keine Primfaktoren von y sind, y sie also sozusagen wegschneidet. Wenn y aber plötzlich fehlt, können neue Faktoren eingeführt und ein zu großer ggt-wert berechnet werden. Beweis per Induktion über möglichen Ablauf, 1. Versuch Induktionsstart Es gilt Init ggt(m 1, M 2,.., M n ) = ggt(c 1, c 2,.., c n ) da M i = c i. Induktionsschritte Kritisch ist nur die Aktion recvlth, da sich nur hier ein M i ändert. Es ist zu beweisen: ggt(m 1, M 2,.., M n ) = ggt(c 1, c 2,.., c n ) z < M i i = dst m b // Induktionsvoraussetzung (IV) // Aktion recvlth M = M außer M i = mod(m i -1, z)+1 ts = ts außer ts i =Nachb i b = b \ {m} ggt(m 1, M 2,.., M n ) = ggt(c 1, c 2,.., c n ) // Induktionsbehauptung (IB) Dies lässt sich allerdings so nicht beweisen, weil wir nichts über den Wert z wissen. Es müsste sichergestellt sein, dass z der Wert eines M k mit k i ist, oder falls es ein veralteter Wert ist, dass dann wenigstens die aktuellen M-s ohne M i im Schnitt nicht mehr Primfaktoren als z haben. Die zu beweisende Invariante ggt(m 1, M 2,.., M n ) = ggt(c 1, c 2,.., c n ) ist also nicht induktiv. Sie muss verschärft werden. Eine geeignete Verschärfung zu finden, ist hier allerdings wegen der o.g. Komplikationen sehr schwierig. Vorabüberlegung und Einführung von Historieninformation Wie oben gesagt, kann an einer Station i ein z-wert eintreffen, der nicht mehr direkt einem M j entspricht, weil dieses schon aktualisiert wurde. Wir dürfen nur dann M i gemäß M i =mod(m i,z) verändern, ohne dass dabei möglicherweise der ggt der Menge M ein anderer als der von M ist, wenn sichergestellt ist, dass die u.u. in M i gegenüber M i dazukommenden Primfaktoren durch die anderen M-Werte ausgeschlossen werden. Es dort also je neuem Primfaktor mindestens ein M j mit j i gibt, das diesen Primfaktor nicht enthält. Der Algorithmus stellt, wenn er korrekt ist und davon gehen wir aus, dies implizit sicher, und die Idee ist nun, je Nachricht eine Hilfsvariablen-Historieninformation einzuführen, welche mitaufzeichnet, welche M-Werte jeweils gerade notwendig sind, um sicherzustellen, dass man M i =mod(m i,z) durchführen kann, ohne dadurch den ggt von M gegenüber M zu verändern.

5 : Ueb3.doc Dies ist der blau gefärbte Teil der Spezifikation. Eine Nachricht für Wert z= M i wird beim Senden mit der einelementigen Menge {i}, d.h. der Absenderadresse, versehen. Dies besagt, dass gegenwärtig schon der Wert M i ausreicht um sicherzustellen, dass für ein k i durch eine Modulo-Bildung mit z gemäß M k =mod(m k,z) sich keine ggt-verändernden neuen Faktoren von M k durchsetzen können, denn es gilt M i =z. Wenn nun irgendwann später eine Station k eine Nachricht <D,k,z> empfängt und ihren Wert verändert zu M k =mod(m k,z), dann muss man bedenken, dass z und damit die Wertemenge {M j : j D} nötig ist, um sicherzustellen, dass mit M k =mod(m k,z) der ggt von M gegenüber M nicht verändert wird. Für jede Nachricht <E,j,v> b mit k E gilt aber, dass M k benötigt wird, um bei einer Modulo- Bildung mit v zusätzliche Faktoren zu verhindern. Deshalb wird in jeder solchen Nachricht das E um D erweitert, die Nachricht lautet dann <E D,j,v>. Anmerkung 1: Es sei PF(x) die Primfaktorzerlegung einer natürlichen Zahl x (eine Vielfachmenge). Es sei PF(M), die Primfaktorzerlegung einer nichtleeren Zahlenmenge M N definiert als: (PF(x): x M). ggt(m)=ggt(m,x) ist dann gleichbedeutend mit: PF(M) PF(x) für eine nichtleere Menge M N. Anmerkung 2: Es seien M und N nichtleere Zahlenmengen mit M, N N. Dann ist ggt(m)=ggt(n) gleichbedeutend zu PF(M)=PF(N). Verschärfung der Invarianten Nach den Vorüberlegungen wird die Invariante folgendermaßen verschärft: (1) ggt(m 1,..., M n ) = ggt(c 1,..., c n ) ( <D,j,u> b (2) ggt({m i : i D}) = ggt({m i : i D} {u}) (3) (i D u M i ) ) Die verschärfte Invariante wird per Induktion über dem Algorithmus-Ablauf bewiesen: Induktionsstart: Init impliziert, dass b leer ist, weshalb die Verschärfungen (2) und (3) trivialerweise gelten. Induktionsschritt recvgre: M wird nicht verändert. Die Menge {x: <*, x> b} wird allenfalls kleiner. Deshalb kann IB aus IV gefolgert werden. Induktionsschritt recvlth: Station i empfängt eine Nachricht <D,i,z>, deren Wert z gemäß Guard der Aktion kleiner als M i ist: z< M i (*). Also ist i nach IV(3) nicht in D enthalten, alle gemeinsamen Primfaktoren der M-s aus D sind deshalb nach IV(2) und Anmerkung 1 auch Primfaktoren von z, weshalb M i =mod(m i,z) höchstens solche neuen Primfaktoren einführt, welche von den anderen M-s weggeschnitten werden. Es gilt deshalb PF({M k : k D }, M i )= PF({M k : k D }, M i ) (**)

6 : Ueb3.doc und mit Anmerkung 2 gilt ggt({m k : k D }, M i )=ggt({m k : k D }, M i ). Ergänzen beider Mengen um die fehlenden M-s führt zusammen mit IV(1) zu IB(1). Die Aktion verändert den Historienteil der Nachrichten in b. Bei jeder Nachricht <E,j,v>, deren Historienteil E die Stationsnummer i enthält, ist zu beachten, dass diese das alte M i benötigte, dieses sich aber zu M i verändert, welches wiederum die M k -s der Stationen k aus D benötigt. Da aber jede solche Nachricht <E,j,v> aus b in b zu <E D,j,v> aktualisiert wird, gilt IB(2) im Folgezustand der Aktion. Genauer folgt IB(2), was nach Anmerkung 1 gleichbedeutend zu PF(E') PF(v) ist, zusammen mit der aus IV(2) bekannten Tatsache PF(E) PF(v) aus: PF(E') = PF({M k ': k D}) PF({M k ' : k E}) = PF({M k ': k D}) PF({M k ': k E}\{M i '}) PF(M i ') = PF({M k ': k D}, M i ') PF({M k ': k E}\{M i '}) = (nach (**)) PF({M k ': k D}, M i ) PF({M k ': k E}\{M i '})= PF({M k ': k D}) PF({M k ': k E}\{M i '}, M i ) = PF({M k ': k D}) PF(E) PF(v). IB(3) gilt wegen der Transitivität von. Der Wert z der empfangenen Nachricht <D,i,z> ist laut IV(3) größer gleich jedem M-Wert der Stationen aus D, kurz z M k (k D). Der Wert v ist laut IV(3) größer gleich jedem M-Wert der Stationen aus E, kurz v M h (h E). Da sich auch i in E befindet, gilt v M i. Wegen (*) gilt v M i >z M k (k D), so dass v auch größer gleich jedem M-Wert der Stationen aus D sein muss. Der Wechsel von M i zu M i stört nicht, da M i kleiner als M i sein muss. Induktionsschritt send: M wird nicht verändert. b wird um ein neues Element größer, dessen z-wert direkt dem M i entspricht. Partielle Korrektheit Die Safety-Eigenschaft der partiellen Korrektheit (wenn Algorithmus terminierte, gilt dass das gewünschte Ergebnis berechnet wurde) lautet formal: P ::= ( k, l : M k = M l ) m : M m = ggt(c 1,.., c n ) Wenn alle Merker M den gleichen Wert enthalten, ist es der gesuchte ggt. Die oben bewiesene Invariante gilt für alle erreichbaren Zustände, also auch, wenn ein Zustand mit k, l : M k = M l vorliegt. Es gilt dann also <M 1,.., M k > = <g,.., g> und ggt(<g,.., g>)=ggt(<c 1,.., c n >). Der größte gemeinsame Teiler einer einelementigen Zahlenmenge {g} ist ferner natürlich g selber. Im Fazit lässt sich daraus P ableiten, also die partielle Korrektheit beweisen.

7 : Ueb3.doc Terminierung Als letztes soll die Liveness-Eigenschaft der Terminierung bewiesen werden. Die entsprechende Leads-To-Formel ist: Init ~> ( k, l : M k = M l ). Lattice Wir definieren die Funktion L als Abbildung der Zustände auf Vektoren: L ::= <M 1 -ggt(c 1,..,c n ), M 2 -ggt(c 1,..,c n )..,.., M n -ggt(c 1,..,c n )> L gibt wieder, wie weit der aktuelle Zustand der M i vom Ziel <g,g,.., g> entfernt ist. Der Bildbereich von L ist ein wohlfundierter Lattice mit der Halbordnung < Vektorvergleich und dem Minimum <0,0,..,0>. Da wir in ganzen Zahlen rechnen, gibt es für jeden möglich L-Wert nur endlich viele Schritte, in welchen der Wert vermindert werden kann. Dann muss das Minimum erreicht sein. Lebendige Lattice-Schritte Gelingt es uns jetzt nachzuweisen, dass die Schritte im Lattice lebendig sind, sind wir fertig: L = X <0,0,..,0> ~> L < X Beweis-Skizze: X <0,0,..,0> i,j: M i M j Dies können wir aus unseren Safety-Betrachtungen schließen. i,j: M i M j k,l: M k < M l k ist Nachbar von l Dies gilt, da das Netz zusammenhängend ist. Hilfreich ist außerdem noch folgende vermutete Invariante: F::= k,l: M k < M l k ist Nachbar von l <l,m k > b l ts k F lässt sich als Invariante beweisen: Init F F folgt direkt aus der Initialisierung F recvgre F Es wird zwar eine Nachricht gelöscht. Es ist jedoch keine Nachricht, welche von einer Station mit kleinerem M an eine Station mit größerem M gerichtet ist. F recvlth F Wenn <l,mk> empfangen wird, wird M l aktualisiert, und es gilt M k M l, so dass die linke Seite von F nicht mehr auf k und l zutrifft. Für die anderen Stationen o, p mit o,p sind Nachbarn und M o <M p hat sich nichts geändert, deshalb gilt für sie F wegen der Induktionsvoraussetzung F. Dadurch dass M k kleiner geworden ist, kann es aber sein, dass es neue direkte Nachbarnpaare o,p mit o,p sind Nachbarn und M o <M p gibt, nämlich solche mit o=k. Die Aktion aktualisierte aber ts k : ts k =Nachbarn(k). Damit gilt hier die rechte Seite von F. F send F Wenn l aus ts k entfernt wird, sendet k an l und es gibt <l,m k > b Mit der nun bewiesenen Invariante F lässt sich aus k,l: M k < M l k ist Nachbar von l folgern, dass auch gilt k,l: M k < M l k ist Nachbar von l ( <l,m k > b l ts k )

8 : Ueb3.doc Damit ist nachgewiesen: L = X <0,0,..,0> k,l: M k < M l k ist Nachbar von l ( <l,m k > b l ts k ) Jetzt werden zwei Leads-To Schritte transitiv verbunden: Schritt 1: Schon da oder Send schaltet k,l: M k < M l k ist Nachbar von l ( <l,m k > b l ts k ) ~> k,l: M k < M l k ist Nachbar von l <l,m k > b Schritt 2: Recvlth schaltet k,l: M k < M l k ist Nachbar von l <l,m k > b L = X ~> L <X Die Schritte lassen sich wie folgt beweisen. Schritt 1: Fall a: Es gelte <l,m k > b, damit greift die Schon da Regel (P Q / P~> Q) Fall b: Es gelte <l,m k > b, damit muss gelten l ts k, damit greift die Ein-Weak-Fairer-Schritt-Regel mit der Aktion send. Schritt 2: Es greift die Ein-Weak-Fairer-Schritt-Regel mit der Aktion recvlth. Die einzige Regel-Prämisse die nicht offensichtlich gilt, ist die Stabilität von Enabled(<recvlth>), bis recvlth feuert. Sie ist gegeben, da alle anderen Aktionen kein l ts i entfernen. Die transitive Verbindung der Schritte (P~>R, R~>Q / P~>Q) sowie zu Beginn die Schon da -Regel (P=>Q / P~>Q) führen zum gewünschten Ziel. Der Liveness-Beweis gelingt natürlich nur, wenn die beiden Aktionen recvlth und send weak fair ausgeführt werden. Die Spezifikation muss um diese beiden Fairness-Annahmen ergänzt werden. ===

Übungen zur Vorlesung Verteilte Algorithmen II, Heiko Krumm, Universität Dortmund, FB Informatik

Übungen zur Vorlesung Verteilte Algorithmen II, Heiko Krumm, Universität Dortmund, FB Informatik Übung 4: Gegenseitiger Ausschluss (Ricart-Agrawala 1981) Konstanten: n >1 Anzahl der Prozesse; r Adresse des Prozesses, der initial das Token besitzt. Prozessparameter i sei die Adresse der aktuellen Prozessinstanz,

Mehr

Übung 1: Vorspann Ein physikalisches System

Übung 1: Vorspann Ein physikalisches System Übung 1: Vorspann Ein physikalisches System Wir sehen Zustandsgrößen, hier x (Weg/Ort) Sie verändern sich im Lauf der Zeit: Dynamisches System. Zeitkontinuierliche und wertkontinuierliche Änderungen. Federkraft

Mehr

Erste Beispiele für verteilte Algorithmen

Erste Beispiele für verteilte Algorithmen Erste Beispiele für verteilte Algorithmen Ein erster verteilter Algorithmus: Verteilte Berechnung des ggt Fünf in Raum und Zeit verteilte griechische Philosophen wollen zusammen den grössten gemeinsamen

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809

Mehr

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017 2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel

Mehr

Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 6

Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 6 Dipl.Inf. Malte Isberner Dr. Oliver Rüthing Dipl.Inf. Melanie Schmidt Dr. Hubert Wagner Übungen zur Vorlesung Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 6 Die Lösungshinweise dienen

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Kanonische Primfaktorzerlegung

Kanonische Primfaktorzerlegung Mathematik I für Informatiker Zahlen p. 1 Kanonische Primfaktorzerlegung Jede natürliche Zahl n kann auf eindeutige Weise in der Form n = p α 1 1 pα 2 2... pα k k geschrieben werden, wobei k N 0, α i N

Mehr

Kapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik

Kapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik Kapitel 1.5 und 1.6 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2010/11) Kapitel 1.5 und 1.6: Kalküle 1 /

Mehr

2. Teilbarkeit. Euklidischer Algorithmus

2. Teilbarkeit. Euklidischer Algorithmus O. Forster: Einführung in die Zahlentheorie 2. Teilbarkeit. Euklidischer Algorithmus 2.1. Wir benutzen die folgenden Bezeichnungen: Z = {0, ±1, ±2, ±3,...} Menge aller ganzen Zahlen N 0 = {0, 1, 2, 3,...}

Mehr

Mathematisches Institut II Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg

Mathematisches Institut II Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg 1 Mathematisches Institut II 06.07.004 Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg SS 05 Schnupperkurs: Ausgewählte Methoden zur Aufgabenlösung Vorlesung 5: Elementare Zahlentheorie: Teilbarkeit Primfaktorzerlegung

Mehr

Lösungen der Aufgaben

Lösungen der Aufgaben Lösungen der Aufgaben Aufgabe 1.3.1 Es gibt 42 mögliche Verschlüsselungen. Aufgabe 2.3.4 Ergebnisse sind 0, 4 und 4 1 = 4. Aufgabe 2.3.6 Da in Z 9 10 = 1 ist, erhalten wir x = c 0 + + c m = c 0 + + c m.

Mehr

Kanonische Primfaktorzerlegung

Kanonische Primfaktorzerlegung Kanonische Primfaktorzerlegung Jede natürliche Zahl Form kann auf eindeutige Weise in der geschrieben werden, wobei, für und Primzahlen sind. Dies ist die kanonische Primfaktorzerlegung von. Mathematik

Mehr

Karlsruher Institut für Technologie Institut für Algebra und Geometrie

Karlsruher Institut für Technologie Institut für Algebra und Geometrie Karlsruher Institut für Technologie Institut für Algebra und Geometrie PD Dr. Stefan Kühnlein Dipl.-Math. Jochen Schröder Einführung in Algebra und Zahlentheorie Übungsblatt 9 Aufgabe 1 (4 Punkte +) Sei

Mehr

Zahlentheorie I - Tipps & Lösungen. Aktualisiert: 15. Oktober 2016 vers Teilbarkeit

Zahlentheorie I - Tipps & Lösungen. Aktualisiert: 15. Oktober 2016 vers Teilbarkeit Schweizer Mathematik-Olympiade smo osm Zahlentheorie I - Tipps & Lösungen Aktualisiert: 15. Oktober 2016 vers. 1.2.0 1 Teilbarkeit Einstieg 1.1 Zeige, dass 900 ein Teiler von 10! ist. Tipp: Schreibe 900

Mehr

3 Primzahlen. j,... stets Primzahlen. 3.1 Satz. Jedes a > 1 ist als Produkt von Primzahlen darstellbar (Primfaktorzerlegung. n=1

3 Primzahlen. j,... stets Primzahlen. 3.1 Satz. Jedes a > 1 ist als Produkt von Primzahlen darstellbar (Primfaktorzerlegung. n=1 3 Primzahlen Die Zahl 1 hat nur einen positiven Teiler, nämlich 1. Jede Zahl a > 1 hat mindestens zwei positive Teiler: 1 und a. Definition. Eine Primzahl ist eine Zahl a > 1, welche nur die Teiler 1 und

Mehr

1.2 Eigenschaften der ganzen Zahlen

1.2 Eigenschaften der ganzen Zahlen Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen

Mehr

3 Vom Zählen zur Induktion

3 Vom Zählen zur Induktion 7 3 Vom Zählen zur Induktion 3.1 Natürliche Zahlen und Induktions-Prinzip Seit unserer Kindheit kennen wir die Zahlen 1,, 3, 4, usw. Diese Zahlen gebrauchen wir zum Zählen, und sie sind uns so vertraut,

Mehr

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

$Id: ring.tex,v /05/03 15:13:26 hk Exp $ $Id: ring.tex,v 1.13 2012/05/03 15:13:26 hk Exp $ 3 Ringe 3.1 Der Ring Z m In der letzten Sitzung hatten wir die sogenannten Ringe eingeführt, dies waren Mengen A versehen mit einer Addition + und einer

Mehr

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl-Math. A. Würfl, Dipl-Math. S. König Weihnachtsblatt Aufgabe W.1 Untersuchen Sie nachstehenden

Mehr

Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 4

Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 4 Prof. Dr. Bernhard Steffen Dipl.Inf. Malte Isberner Dr. Oliver Rüthing Dipl.Inf. Melanie Schmidt Dr. Hubert Wagner Übungen zur Vorlesung Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9

Mehr

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule Berufsfeldbezogenes Fachseminar - Zahlentheorie Lisa Laudan Prof. Dr. Jürg Kramer Wintersemester 2014/2015 Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule 1.1

Mehr

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter WS 2009/10 Alles ist Zahl? Wenn in der modernen Mathematik alles auf Mengen aufgebaut ist, woher kommen dann die Zahlen? Sind Zahlen

Mehr

WS 2016/17 Torsten Schreiber

WS 2016/17 Torsten Schreiber 104 Diese Fragen sollten Sie ohne Skript beantworten können: Was bedeutet die Rechtseindeutigkeit einer Relation? Was weiß man von einer surjektiven Funktion? Wann ist eine Funktion total / partiell? Welche

Mehr

6 Reelle und komplexe Zahlenfolgen

6 Reelle und komplexe Zahlenfolgen $Id: folgen.tex,v.7 200//29 :58:57 hk Exp hk $ 6 Reelle und komplexe Zahlenfolgen 6. Folgenkonvergenz In der letzten Sitzung hatten wir den Begriff der Konvergenz einer reellen oder komplexen Folge gegen

Mehr

31 Polynomringe Motivation Definition: Polynomringe

31 Polynomringe Motivation Definition: Polynomringe 31 Polynomringe 31.1 Motivation Polynome spielen eine wichtige Rolle in vielen Berechnungen, einerseits weil oftmals funktionale Zusammenhänge durch Polynome beschrieben werden, andererseits weil Polynome

Mehr

Aufgabe 2 Konstruktion von Binärbäumen Tafelübung

Aufgabe 2 Konstruktion von Binärbäumen Tafelübung Übungen zu Algorithmik I Wintersemester 004/05 Prof. Dr. Herbert Stoyan, Dr.-Ing. Bernd Ludwig Aufgabenblatt 11 (Lösungen) vom 10.01.005 Aufgabe 1 Binärbäume 8 Punkte 1. Alle Antworten können unmittelbar

Mehr

Bsp. Euklidischer Algorithmus

Bsp. Euklidischer Algorithmus Bsp. Euklidischer Algorithmus Bsp: Berechne ggt(93, 42) mittels EUKLID. 93 2 42 = 9 42 4 9 = 6 9 1 6 = 3 6 2 3 = 0 D.h. ggt(93, 42) = 3. Durch Rücksubstitution erhalten wir die Bézout-Koeffizienten x,

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14

Mehr

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften

Mehr

3. Vorlesung. Arithmetische Theorien.

3. Vorlesung. Arithmetische Theorien. 3. Vorlesung. Arithmetische Theorien. In dieser Vorlesung wollen wir uns mit dem Begriff des Rechnens befassen und zwar mit dem angewandten als auch dem formalen Rechnen. Wir wissen dass die griechischen

Mehr

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. 2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum

Mehr

WS 05/06 mod Verifikation

WS 05/06 mod Verifikation 3.3 Verifikation WS 05/06 mod 351 Verifikation ist der Beweis der Korrektheit eines Algorithmus relativ zu seiner Spezifikation. Die Aussagen gelten für alle Ausführungen des Algorithmus. Sie werden statisch

Mehr

Vollständige Induktion

Vollständige Induktion Kantonsschule Olten Hardwald 4600 Olten Vollständige Induktion Andreas Stoll Andreas Pulfer Erfänzungsfach Anwendungen der Mathematik (2017/18) 1 Beweisen 1.1 Axiome und Prämissen Bei einem Beweis wird

Mehr

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum: Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung

Mehr

: das Bild von ) unter der Funktion ist gegeben durch

: das Bild von ) unter der Funktion ist gegeben durch % 1.3 Funktionen Seien und Mengen nennt man Funktion oder Abbildung. Beachte: Zuordnung ist eindeutig. Bezeichnungen: : Definitionsbereich : Bildbereich (Zielmenge) von Der Graph einer Funktion: graph!

Mehr

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik UNIVERSITÄT ULM Institut für Zahlentheorie und Wahrscheinlichkeitstheorie Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Prof. Dr. Helmut Maier, Hans- Peter Reck Gesamtpunktzahl: 100

Mehr

Beispiellösungen zu Blatt 7

Beispiellösungen zu Blatt 7 µathematischer κorrespondenz- zirkel Mathematisches Institut Georg August Universität Göttingen Aufgabe Beispiellösungen zu Blatt 7 Die handelsüblichen Papierformate DIN A0, DIN A usw. haben folgende praktische

Mehr

Aufgabe 8. 1 Arbeitsweise illustrieren. 2 Korrektheitsbeweis führen. 3 Laufzeitanalyse durchführen.

Aufgabe 8. 1 Arbeitsweise illustrieren. 2 Korrektheitsbeweis führen. 3 Laufzeitanalyse durchführen. Aufgabe 8 Betrachten Sie den folgenden Algorithmus namens Bubble-Sort. Bubble-Sort(A[1..n]): 1 for i 1 to length(a) 1 2 do for j length(a) downto i + 1 3 do if A[j 1] > A[j] 4 then A[j 1] A[j] 1 Arbeitsweise

Mehr

= 1. Falls ( a n. ) r i. i=1 ( b p i

= 1. Falls ( a n. ) r i. i=1 ( b p i Das Jacobi-Symbol Definition Jacobi-Symbol Sei n N ungerade mit Primfaktorzerlegung n = s definieren das Jacobi-Symbol ( a ( ) ri n) := s a i=1 p i. i=1 pr i i. Wir Anmerkungen: Falls a quadratischer Rest

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 4 Das Lemma von Bezout Satz 1. (Lemma von Bézout) Jede Menge von ganzen Zahlen a 1,...,a n besitzt einen größten gemeinsamen Teiler

Mehr

Fachwissenschaftliche Grundlagen

Fachwissenschaftliche Grundlagen Fachwissenschaftliche Grundlagen Vorlesung im Wintersemester 2011/2012, Universität Landau Roland Gunesch 9. Vorlesung Roland Gunesch (Mathematik) Fachwissenschaftliche Grundlagen 9. Vorlesung 1 / 17 Themen

Mehr

Erweiterter Euklidischer Algorithmus

Erweiterter Euklidischer Algorithmus Erweiterter Euklidischer Algorithmus Algorithmus ERWEITERTER EUKLIDISCHER ALG. (EEA) EINGABE: a, b N 1 If (b = 0) then return (a, 1, 0); 2 (d, x, y) EEA(b, a mod b); 3 (d, x, y) (d, y, x a b y); AUSGABE:

Mehr

Hausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)!

Hausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)! WS 015/1 Hausaufgaben zur Vorlesung Vollständige Induktion 1. Beweist folgende Formeln zu beweisen ist nur die Gleichheit mit dem! -Zeichen : a 5 + + 7 + 8 + + 4 + n n 4 + i! nn+9 b 1 + + 9 + + n 1 n 1

Mehr

Definition : Diechromatische Zahl eines Graphen G ist die kleinste Anzahl chromatische Zahl von Farben für eine zulässige Färbung.

Definition : Diechromatische Zahl eines Graphen G ist die kleinste Anzahl chromatische Zahl von Farben für eine zulässige Färbung. 4 Definition : Eine zulässige Färbung ist eine Färbung der Knoten des ( un- zulässige Färbung gerichteten ) Graphen, so daß je zwei adjazente Knoten verschiedene Farben haben. Trivial ist, daß n verschiedene

Mehr

Tutorium: Diskrete Mathematik

Tutorium: Diskrete Mathematik Tutorium: Diskrete Mathematik Vorbereitung der Bonusklausur am 24.11.2016 (Teil 2) 23. November 2016 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler 23. November 2016

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN

TECHNISCHE UNIVERSITÄT MÜNCHEN TECHNISCHE UNIVERSITÄT MÜNCHEN Zentrum Mathematik PROF. DR.DR. JÜRGEN RICHTER-GEBERT, VANESSA KRUMMECK, MICHAEL PRÄHOFER Höhere Mathematik für Informatiker II (Sommersemester 2004) Lösungen zu Aufgabenblatt

Mehr

7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04

7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04 7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04 KATHRIN TOFALL Aufgabe 7. (Symmetrischer EEA). (9 Punkte) Ziel dieser Aufgabe ist es zu zeigen, was man gewinnt, wenn man bei der Division mit

Mehr

11. Das RSA Verfahren

11. Das RSA Verfahren Chr.Nelius: Zahlentheorie (SoSe 2017) 53 11. Das RSA Verfahren Bei einer asymmetrischen Verschlüsselung lässt sich der Schlüssel zum Entschlüsseln nicht aus dem Schlüssel zum Verschlüsseln bestimmen und

Mehr

Der chinesische Restsatz mit Anwendung

Der chinesische Restsatz mit Anwendung Der chinesische Restsatz mit Anwendung Nike Garath n.garath@gmx.de Martrikelnummer: 423072 Seminar: Verschlüsslungs- und Codierungstheorie Dozent: Dr. Thomas Timmermann Sommersemester 2017 Inhaltsverzeichnis

Mehr

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen

Mehr

1 Übersicht Induktion

1 Übersicht Induktion Universität Koblenz-Landau FB 4 Informatik Prof. Dr. Viorica Sofronie-Stokkermans Dipl.-Inform. Markus Bender 0.11.01 (v1.3) 1 Übersicht Induktion 1.1 Allgemeines Unter einem induktiven Vorgehen versteht

Mehr

1 Zahlentheorie. 1.1 Kongruenzen

1 Zahlentheorie. 1.1 Kongruenzen 3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern

Mehr

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. 9. Verteilte Algorithmen

Vorlesung Verteilte Systeme Sommersemester Verteilte Systeme. 9. Verteilte Algorithmen Vorlesung "Verteilte Systeme" Sommersemester 999 Verteilte Systeme 9. Verteilte Algorithmen Bereits behandelte Bereiche Logische Uhren Keine globale Uhrensynchronisation möglich (Theorie) Kausalitätserhaltender

Mehr

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl. Unterräume und Lineare Hülle 59 3. Unterräume und Lineare Hülle Definition.1 Eine Teilmenge U eines R-Vektorraums V heißt von V, wenn gilt: Unterraum (U 1) 0 U. (U ) U + U U, d.h. x, y U x + y U. (U )

Mehr

Berechenbarkeit und Komplexität Vorlesung 11

Berechenbarkeit und Komplexität Vorlesung 11 Berechenbarkeit und Komplexität Vorlesung 11 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 7. Dezember 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 7.

Mehr

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl.

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl. Erfüllbarkeitstests Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl. Grundlagen und diskrete Strukturen ) Ein für Formeln

Mehr

1. Typen 1.1 Typsicherheit 1.2 Typprüfung

1. Typen 1.1 Typsicherheit 1.2 Typprüfung 1. Typen 1.1 Typsicherheit 1.2 Typprüfung Ein Typsystem ist ein praktikables, syntaktisches Verfahren, mit dem man die Abwesenheit gewisser Laufzeit-Eigenschaften eines Programms beweisen kann, indem man

Mehr

Topologische Begriffe

Topologische Begriffe Kapitel 3 Topologische Begriffe 3.1 Inneres, Rand und Abschluss von Mengen Definition (innerer Punkt und Inneres). Sei (V, ) ein normierter Raum über K, und sei M V eine Menge. Ein Vektor v M heißt innerer

Mehr

Kapitel 1.1. Aussagenlogik: Syntax. Mathematische Logik (WS 2011/12) Kapitel 1.1: Aussagenlogik: Syntax 1/ 1

Kapitel 1.1. Aussagenlogik: Syntax. Mathematische Logik (WS 2011/12) Kapitel 1.1: Aussagenlogik: Syntax 1/ 1 Kapitel 1.1 Aussagenlogik: Syntax Mathematische Logik (WS 2011/12) Kapitel 1.1: Aussagenlogik: Syntax 1/ 1 Übersicht 1.1.1 Die Sprache der Aussagenlogik 1.1.2 Explizite vs. implizite Definitionen 1.1.3

Mehr

Kapitel III Ringe und Körper

Kapitel III Ringe und Körper Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem

Mehr

1 Axiomatische Charakterisierung der reellen. 3 Die natürlichen, die ganzen und die rationalen. 4 Das Vollständigkeitsaxiom und irrationale

1 Axiomatische Charakterisierung der reellen. 3 Die natürlichen, die ganzen und die rationalen. 4 Das Vollständigkeitsaxiom und irrationale Kapitel I Reelle Zahlen 1 Axiomatische Charakterisierung der reellen Zahlen R 2 Angeordnete Körper 3 Die natürlichen, die ganzen und die rationalen Zahlen 4 Das Vollständigkeitsaxiom und irrationale Zahlen

Mehr

Vorlesung. Vollständige Induktion 1

Vorlesung. Vollständige Induktion 1 WS 015/16 Vorlesung Vollständige Induktion 1 1 Einführung Bei der vollständigen Induktion handelt es sich um ein wichtiges mathematisches Beweisverfahren, mit dem man Aussagen, die für alle natürlichen

Mehr

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In

Mehr

Grundlagen der Mathematik

Grundlagen der Mathematik Universität Hamburg Winter 2016/17 Fachbereich Mathematik Janko Latschev Lösungsskizzen 8 Grundlagen der Mathematik Präsenzaufgaben (P13) Primfaktorzerlegungen Die Primfaktorzerlegungen lauten: a) 66 =

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Beispiel: Primelemente in den Gaußschen Zahlen

Beispiel: Primelemente in den Gaußschen Zahlen Beispiel: Primelemente in den Gaußschen Zahlen Satz Primelemente in Z[i] Für die Primelemente π Z[i] gilt bis auf Assoziiertheit 1 N(π) = p für ein p P oder 2 π = p für ein p P mit p x 2 + y 2 für (x,

Mehr

Informatik II - Tutorium

Informatik II - Tutorium Sommersemester 2008 http://info2tut.blogspot.com 29. April 2007 Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Quellennachweis & Dank an: Joachim Wilke, Susanne Dinkler, Bernhard Müller,

Mehr

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren: Resolutionskalkül Ein Kalkül ist eine Kollektion von syntaktischen Umformungsregeln, die unter gegebenen Voraussetzungen aus bereits vorhandenen Formeln neue Formeln erzeugen. Der Resolutionskalkül besteht

Mehr

Klammersprache Definiere

Klammersprache Definiere Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere

Mehr

Frank Heitmann 2/48. 2 Substitutionen, um formal auszudrücken wie in Formelmengen. auf!

Frank Heitmann 2/48. 2 Substitutionen, um formal auszudrücken wie in Formelmengen. auf! Motivation ormale der Informatik 1 Kapitel 17 und rank Heitmann heitmann@informatik.uni-hamburg.de Der Sinn von : Aufgrund syntaktischer Eigenschaften von ormeln/ormelmengen auf semantische Eigenschaften

Mehr

8. Woche Quadratische Reste und Anwendungen. 8. Woche: Quadratische Reste und Anwendungen 163/ 238

8. Woche Quadratische Reste und Anwendungen. 8. Woche: Quadratische Reste und Anwendungen 163/ 238 8 Woche Quadratische Reste und Anwendungen 8 Woche: Quadratische Reste und Anwendungen 163/ 238 Quadratische Reste Ḋefinition Quadratischer Rest Sei n N Ein Element a Z n heißt quadratischer Rest in Z

Mehr

Universität Basel Wirtschaftswissenschaftliches Zentrum. Kombinatorik. Dr. Thomas Zehrt. Inhalt: 1. Endliche Mengen 2. Einfache Urnenexperimente

Universität Basel Wirtschaftswissenschaftliches Zentrum. Kombinatorik. Dr. Thomas Zehrt. Inhalt: 1. Endliche Mengen 2. Einfache Urnenexperimente Universität Basel Wirtschaftswissenschaftliches Zentrum Kombinatorik Dr. Thomas Zehrt Inhalt: 1. Endliche Mengen 2. Einfache Urnenexperimente 2 Teil 1 Endliche Mengen Eine endliche Menge M ist eine Menge,

Mehr

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler Kapitel 3: Die Sätze von Euler, Fermat und Wilson In diesem Kapitel wollen wir nun die eulersche -Funktion verwenden, um einen berühmten Satz von Euler zu formulieren, aus dem wir dann mehrere interessante

Mehr

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Kapitel 1.5 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2012/13) Kapitel 1.5: Kalküle 1/30 Syntaktischer

Mehr

8. Musterlösung zu Mathematik für Informatiker II, SS 2004

8. Musterlösung zu Mathematik für Informatiker II, SS 2004 8. Musterlösung zu Mathematik für Informatiker II, SS 2004 MARTIN LOTZ &MICHAEL NÜSKEN Aufgabe 8.1 (Polynomdivision). (8 Punkte) Dividiere a mit Rest durch b für (i) a = x 7 5x 6 +3x 2 +1, b = x 2 +1in

Mehr

Kapitel 2: Zahlentheoretische Algorithmen Gliederung

Kapitel 2: Zahlentheoretische Algorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl

1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl Westfälische Wilhelms-Universität Münster Mathematik Sommersemester 2017 Seminar: Verschlüsselungs- und Codierungstheorie Leitung: Thomas Timmermann 1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 23 Die Gradformel Satz 1. Seien K L und L M endliche Körperweiterungen. Dann ist auch K M eine endliche Körpererweiterung und

Mehr

Lösungsvorschlag zu den Präsenzaufgaben der 1. Übung

Lösungsvorschlag zu den Präsenzaufgaben der 1. Übung Michael Winkler Johannes Lankeit 8.4.2014 Lösungsvorschlag zu den Präsenzaufgaben der 1. Übung Präsenzaufgabe 1: Rufe dir die folgenden Definitionen wieder in Erinnerung: C = {(x, y); x R, y R} bildet

Mehr

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013 Übung zu Grundbegriffe der Informatik Simon Wacker 15. November 2013 Vollständige Induktion über die Wortlänge Es sei B ein Alphabet. Dann ist B = n N 0 B n. Für jedes Wort w B sei A w eine Aussage, die

Mehr

Diskrete Strukturen 5.9 Permutationsgruppen 168/558 c Ernst W. Mayr

Diskrete Strukturen 5.9 Permutationsgruppen 168/558 c Ernst W. Mayr Bemerkung: Der folgende Abschnitt Boolesche Algebren ist (im WS 2010/11) nicht Teil des Prüfungsstoffs, soweit nicht Teile daraus in der Übung behandelt werden! Diskrete Strukturen 5.9 Permutationsgruppen

Mehr

Mathematische Grundlagen der Kryptografie (1321) SoSe 06

Mathematische Grundlagen der Kryptografie (1321) SoSe 06 Mathematische Grundlagen der Kryptografie (1321) SoSe 06 Klausur am 19.08.2006: Lösungsvorschläge zu den Aufgaben zu Aufgabe I.1 (a) Das numerische Äquivalent zu KLAUSUR ist die Folge [10, 11, 0, 20, 18,

Mehr

(c) (a) X ist abgeschlossen. X = A,wobeiderDurchschnittüberalleabgeschlossenenMengengebildet wird, die X enthalten. (d) (e)

(c) (a) X ist abgeschlossen. X = A,wobeiderDurchschnittüberalleabgeschlossenenMengengebildet wird, die X enthalten. (d) (e) 27 15. Metrische Räume Mit Hilfe einer Norm können wir den Abstand x y zweier Punkte x, y messen. Eine Metrik ist eine Verallgemeinerung dieses Konzepts: 15.1. Metriken. Es sei M eine beliebige Menge.

Mehr

10. Teilbarkeit in Ringen

10. Teilbarkeit in Ringen 70 Andreas Gathmann 10. Teilbarkeit in Ringen Ein wichtiges Konzept in Ringen, das ihr für den Fall des Ringes Z bereits aus der Schule kennt, ist das von Teilern also der Frage, wann und wie man ein Ringelement

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den Fachbereich Mathematik Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den 8.9.011 Vorkurs Mathematik WS 011/1 Die mit * gekennzeichneten Aufgaben sind etwas schwerer. Dort braucht

Mehr

Kurs 1612 Konzepte imperativer Programmierung Musterlösung zur Nachklausur am

Kurs 1612 Konzepte imperativer Programmierung Musterlösung zur Nachklausur am 1 Aufgabe 1 a) Da Effizienzbetrachtungen bei der Lösung der Aufgabe keine Rolle spielen, wählen wir einen einfachen, aber ineffizienten Algorithmus mit zwei ineinander verschachtelten for-schleifen. Dadiefor-Schleifen

Mehr

Elementare Beweismethoden

Elementare Beweismethoden Elementare Beweismethoden Christian Hensel 404015 Inhaltsverzeichnis Vortrag zum Thema Elementare Beweismethoden im Rahmen des Proseminars Mathematisches Problemlösen 1 Einführung und wichtige Begriffe

Mehr

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den x > 1 3x > 3 3x + 3 > 6 6x + 3 > 3x + 6.

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den x > 1 3x > 3 3x + 3 > 6 6x + 3 > 3x + 6. Fachbereich Mathematik Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den 7.9.01 Vorkurs Mathematik WS 01/13 Die mit * gekennzeichneten Aufgaben sind etwas schwerer. Dort braucht

Mehr

Grundlagen der Arithmetik und Zahlentheorie

Grundlagen der Arithmetik und Zahlentheorie Grundlagen der Arithmetik und Zahlentheorie 1.0 Teilbarkeit In diesem Abschnitt werden wir einerseits die ganzen Zahlen an sich studieren und dabei besonders wichtige Zahlen, die Primzahlen, entsprechend

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43 Wahlalgorithmen Überblick/Problemstellung Wahlalgorithmen auf Ringstrukturen Beispiel TokenRing Wahlalgorithmen auf Baumstrukturen Wahlalgorithmen auf beliebigen Netzstrukturen Verteilte Algorithmen (VA),

Mehr

Abschnitt 11: Korrektheit von imperativen Programmen

Abschnitt 11: Korrektheit von imperativen Programmen Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961

Mehr

Lösung zur Klausur zu Krypographie Sommersemester 2005

Lösung zur Klausur zu Krypographie Sommersemester 2005 Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2

Mehr

8 1. GEOMETRIE DIFFERENZIERBARER MANNIGFALTIGKEITEN

8 1. GEOMETRIE DIFFERENZIERBARER MANNIGFALTIGKEITEN 8 1. GEOMETRIE DIFFERENZIERBARER MANNIGFALTIGKEITEN (vi) Konvergenz von Folgen ist in topologischen Räumen folgendermaßen definiert: Ist (a n ) M eine Folge, so heißt sie konvergent gegen a M, wenn es

Mehr

Vollständige Induktion

Vollständige Induktion Schweizer Mathematik-Olympiade smo osm Vollständige Induktion Aktualisiert: 1 Dezember 01 vers 100 Eine der wichtigsten Beweistechniken der Mathematik überhaupt ist die (vollständige) Induktion Wir nehmen

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr