UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 8. Zufallszahlen Generatoren Anwendungen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 8. Zufallszahlen Generatoren Anwendungen"

Transkript

1 UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 8 Zufallszahlen Generatoren Anwendungen Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69, A-4040 Linz

2 Zufallszahlen :: Einführung Notwendig bei vielen Problemstellungen Simulation Kryptographie Entscheidungsfindung Spiele Stichproben < 2 >

3 Zufallszahlen :: Generatoren Lineare Kongruenzmethode Iterativer Algorithmus mit Gedächtnis Aus einer Zufallszahl wird die nächste Zufallszahl berechnet Deshalb Pseudozufallszahlen x n+1 := (a * x n + c) mod m m... Modul möglichst groß ist für die maximale Periodenlänge und den Bereich der Zufallszahlen verantwortlich a... Multiplikator 0,01*m < a < 0.99*m ohne besonderes Bitmuster, zb. endet auf...g21 (g...gerade) c... Inkrement meist 1 < 3 >

4 Zufallszahlen :: Implementierung (intrand) intrand liefert Zufallszahlen zwischen 0 und ( bis ) int intrand() { final int a = 3421 final long m = 2 32 // final int c = 1 static int x = // Start Seed } x = (a * x + c) % m return x < 4 >

5 Zufallszahlen :: Warum m = 2 n? x % m = x & (m 1) mit m = 2 n sehr einfach und schnell Modulo Operation beschränkt sich auf das Herausmaskieren der niederwertigsten n Bits Maskieroperation ist logische UND-Verknüpfung z.b. für n = 8 (m = 256), x = x % 256 => x & ( ) & oder Hex. FF ( ) < 5 >

6 Zufallszahlen :: Warum n = Wortlänge (32 64)? Modul wird automatisch durch Überlauf gebildet Auf die Modulbildung kann ganz verzichtet werden Beispiele: (mit m = 2 16 ) 45 mod m = 45 mod = mod m = mod = dez = 1000A hex erstes Byte fällt raus 000A hex = 10 dez (= 65546) wird ignoriert! Rest = 10 Funktioniert nicht in allen Programmiersprachen (aber z.b. in Java). < 6 >

7 Zufallszahlen :: Anderer Zahlenbereich (1) Erzeugung von Zufallszahlen mit Hilfe von intrand() aber in einem anderen Bereich b = [0, n-1]; n < 2 32 Einfacher Versuch int smallrand1(int n) { // liefert eine ZZ zwischen 0 und n-1 return intrand() % n } < 7 >

8 Zufallszahlen :: Anderer Zahlenbereich (2) Annahme: m = 1000, [0..999] n = x 1 x [0, 399] kommt 2 x so häufig vor wie [400, 599] Annahme: m = 1000, [0..999] n = x 12 x [0, 39] kommt 1,08333 x so häufig vor wie [40, 79] 12 x < 8 >

9 Zufallszahlen :: Anderer Zahlenbereich (3) Problem tritt immer dann auf wenn: n kein Teiler von m ist Je größer n ist, desto schlimmer wird die Asymmetrie Lösung: So lange eine Zufallszahl durch intrand() erzeugen lassen bis diese im Bereich 0 <= ZZ <= n 1 liegt Diese Zahl dann zurückgeben < 9 >

10 Zufallszahlen :: Anderer Zahlenbereich (4) Einfacher Algorithmus für anderen Zahlenbereich int smallrand2( int n) { repeat r = intrand() until (r < n) return r } < 10 >

11 Zufallszahlen :: Anderer Zahlenbereich (5) Bessere Lösung Obigen smallrand2()-algorithmus auf einen Bereich 0 <= ZZ <= k 1 anwenden, wobei k das größte ganzzahlige Vielfache von n kleiner als m ist. k= m n n Diese Zahl dann auf den Wertebereich 0..n-1 abbilden < 11 >

12 Zufallszahlen :: Anderer Zahlenbereich (6) Besserer Algorithmus für anderen Zahlenbereich int smallrand3(n) { } k = (m / n) * n // ganzzahlige Division // k ist das gr. ganzzahlige // Vielfache mit n m repeat r = intrand() until (r < k) // r ist eine Zufallszahl // zwischen 0 und k - 1 return r * n / m // r in den gültigen Bereich // abbilden < 12 >

13 Zufallszahlen :: Periodenverlängerung Oft ist es notwendig die natürliche Periode eines Zufallszahlengenerators zu vergrößern Während einer Berechnung darf nie die Periodenlänge eines Zufallszahlengenerators erreicht werden Bei Simulationen ist Obergrenze aber schnell erreicht Im Folgenden: Schieberegistermethode von Tausworthe Tabellenmethode von MacLaren und Marsaglia < 13 >

14 Zufallszahlen :: Schieberegistermethode von Tausworthe t: 1 p q r + ZZ Lt. Knuth: r = 55 p = 31 q = 55 Füllen des Feldes t mit Zufallszahlen (z.b. mit intrand()) Verknüpfung der Elemente p und q neue ZZ Addition (mod m bzw. Überlauf) zz = (t[p]+t[q]) % m Bitweises exklusives Oder zz = t[p]^t[q] Feld wird um eine Position nach rechts verschoben Neue ZZ wird nach t[1] gespeichert < 14 >

15 Zufallszahlen :: Tabellenmethode von MacLaren und Marsaglia Kombination zweier Zufallszahlengeneratoren Füllen einer Tabelle (rd. 100 Elemente) mit Zufallszahlen aus einem Generator1. Generator2 bestimmt eine Stelle, an der aus der Tabelle eine Zufallszahl geliefert wird. Diese Stelle wird wieder mit einer Zufallszahl aus dem Generator1 aufgefüllt. Maximal erreichbare Periodenlänge: p max = p 1 * p 2 < 15 >

16 Zufallszahlen :: Monte Carlo Methode (Numerik) Bezeichnung von Verfahren in der Numerik, die Zufallszahlen und deren Verteilung zur Lösung der Aufgabe verwenden Prototypischer Vertreter Monte Carlo Integration < 16 >

17 Zufallszahlen :: Monte Carlo Integration m A 1 =n m 0 0 A 2 = 0 n f (x )dx Wahllos in das Rechteck ((0,0), (n,m)) mit Zufallszahlpaaren (x,y) schießen n Zählen, wie viele Zufallszahlenpaare unter der Funktion f(x) (n in ) und wie viele über der Funktion (n out ) gelandet sind. A 1 A 2 n in +n out n in A 2 A 1 n in n in +n out Entscheidung ob Punkt unter oder über f(x) liegt: n in = n in +1 wenn: y rand <= f(x rand ) n out = n out +1 wenn: y rand > f(x rand ) < 17 >

Zufallszahlenerzeugung

Zufallszahlenerzeugung Zufallszahlenerzeugung Anwendunsgebiete: z.b.: - Computerspiele - Kryptographie - Monte-Carlo-Methoden - Simulation Melanie Kaspar, Prof. Dr. B. Grabowski 1 Wie erzeuge ich Zufallszahlen, die sich so verhalten,

Mehr

7 Zufallszahlen, Simulation

7 Zufallszahlen, Simulation 7 Zufallszahlen, Simulation Es ist nützlich, Folgen von i.i.d. R[0, 1]-verteilten Zufallszahlen auf einem Rechner erzeugen zu können vgl. Simulation, Monte-Carlo-Verfahren). Letztere sind i.a. keine echten

Mehr

Programmiertechnik II

Programmiertechnik II Zufallszahlen Motivation Simulation Frisörbeispiel Stichprobenauswahl Telefonumfragen Numerische Algorithmen naives Beispiel: Berechnung von Pi Automatisiertes Testen Beispiel aus Übungsaufgabe "Faire"

Mehr

Zufallszahlen in AntBrain

Zufallszahlen in AntBrain Zufallszahlen SEP 291 Zufallszahlen in AntBrain Spezifikation, Teil II: Zum Beispiel könnte ein Objekt vom Typ Match die Spielfelder nach jeweils 1000 Spielrunden speichern; bei einer Anfrage nach den

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Arithmetische und bitweise Operatoren im Binärsystem Prof. Dr. Nikolaus Wulff Operationen mit Binärzahlen Beim Rechnen mit Binärzahlen gibt es die ganz normalen arithmetischen

Mehr

Pollards Rho-Methode zur Faktorisierung

Pollards Rho-Methode zur Faktorisierung C A R L V O N O S S I E T Z K Y Pollards Rho-Methode zur Faktorisierung Abschlusspräsentation Bachelorarbeit Janosch Döcker Carl von Ossietzky Universität Oldenburg Department für Informatik Abteilung

Mehr

Ralf Kirsch Uwe Schmitt. Programmieren inc. Eine mathematikorientierte Einführung. Mit 24 Abbildungen und 13 Tabellen. Springer

Ralf Kirsch Uwe Schmitt. Programmieren inc. Eine mathematikorientierte Einführung. Mit 24 Abbildungen und 13 Tabellen. Springer Ralf Kirsch Uwe Schmitt Programmieren inc Eine mathematikorientierte Einführung Mit 24 Abbildungen und 13 Tabellen Springer Inhaltsverzeichnis Eine Einleitung in Frage und Antwort V 1 Vorbereitungen 1

Mehr

Probabilistische Algorithmen

Probabilistische Algorithmen Probabilistische Algorithmen Michal Švancar Gerardo Balderas Hochschule Zittau/Görlitz 21. Dezember 2014 Michal Švancar, Gerardo Balderas (HSZG) Probabilistische Algorithmen 21. Dezember 2014 1 / 40 Inhaltsverzeichnis

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 2 Spezifikation Schrittweise Verfeinerung Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69,

Mehr

Erzeugung von Pseudozufallszahlen mit Computern

Erzeugung von Pseudozufallszahlen mit Computern Erzeugung von Pseudozufallszahlen mit Computern Basisgeneratoren und deren Einfluss auf die Qualität der Ergebnisse Lorenz Hauswald IKTP, TU Dresden 7 Dezember 2011 1 / 26 Gliederung Grundlagen 1 Grundlagen

Mehr

Zufallszahlen erzeugen

Zufallszahlen erzeugen Informationsblatt fÿr die Lehrkraft Zufallszahlen erzeugen Informationsblatt fÿr die Lehrkraft Thema: Schultyp: Vorkenntnisse: Bearbeitungsdauer: Zufallszahlen erzeugen - Methode der linearen Kongruenz

Mehr

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen 3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......

Mehr

Monte Carlo Simulationen

Monte Carlo Simulationen Monte Carlo Simulationen Zahlreiche Vorgänge in der Natur werden durch stochastische Prozesse bestimmt. Beispiele: Diffusion Spin-Spin-Wechselwirkung (Magnetisierung eines Ferromagneten, Ising-Modell)

Mehr

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2 Übungen zur Vorlesung Technische Informatik I, SS Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 4 Rechnerarithmetik Aufgabe : a) Bestimmen Sie die Darstellung der Zahl 3 zur Basis 7. 3 = 7 (Sehen Sie

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

Einführung (1) In der Praxis finden Sie viele Anwendungsfelder für Zufallszahlen. Beispiele

Einführung (1) In der Praxis finden Sie viele Anwendungsfelder für Zufallszahlen. Beispiele 11. Zufallszahlen 1 Einführung (1) In der Praxis finden Sie viele Anwendungsfelder für Zufallszahlen. Beispiele sind 1. Computersimulationen 2. Optimierungsprobleme und 3. Hochdimensionale Integrale. Problemstellung:

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter

Mehr

JAVA - Zufallszahlen

JAVA - Zufallszahlen Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 5. JAVA werden beim Programmieren erstaunlich oft gebraucht: Simulationen Spiele Aufbau von Testszenarien...

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 27 4. Vorlesung Inhalt Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag 2er-Komplement BCD Addition und Subtraktion binär dargestellter Zahlen Carry und Overflow Little Endian

Mehr

Einführung in die Simulation. Dr. Christoph Laroque Wintersemester 11/12. Dresden,

Einführung in die Simulation. Dr. Christoph Laroque Wintersemester 11/12. Dresden, Fakultät Informatik, Institut für Angewandte Informatik, Professur Modellierung und Simulation Einführung in die Simulation Dr. Christoph Laroque Wintersemester 11/12 Dresden, 11.10.2011 01.11.2011 Einführung

Mehr

Nr. 4: Pseudo-Zufallszahlengeneratoren

Nr. 4: Pseudo-Zufallszahlengeneratoren Proseminar: Finanzmathematische Modelle und Simulationen Martin Dieckmann WS 09/0 Nr. 4: Pseudo-Zufallszahlengeneratoren Begriff Pseudo-Zufallszahl Zufallszahlen im Rechner entstehen letztlich immer durch

Mehr

Monte Carlo-Simulation

Monte Carlo-Simulation Monte Carlo-Simulation Sehr häufig hängen wichtige Ergebnisse von unbekannten Werten wesentlich ab, für die man allerhöchstens statistische Daten hat oder für die man ein Modell der Wahrscheinlichkeitsrechnung

Mehr

Informatik II Übung, Woche 10

Informatik II Übung, Woche 10 Giuseppe Accaputo 10. März, 2016 Plan für heute 1. Typumwandlung (Typecasts) 2. Ordnerstruktur für Übungen 3. Vorbesprechung Übung 3 4. Nachbesprechung Übung 2 (inkl. Live Programmierung) Informatik II

Mehr

Statistics, Data Analysis, and Simulation SS 2017

Statistics, Data Analysis, and Simulation SS 2017 Mainz, 11. Mai 2017 Statistics, Data Analysis, and Simulation SS 2017 08.128.730 Statistik, Datenanalyse und Simulation Dr. Michael O. Distler Dr. Michael O. Distler

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1 UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 1 Darstellungsarten von Algorithmen Umgangssprache Stilisierte Prosa Ablauf-/Struktogramme Jana Programmiersprache Institut für Pervasive

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1 UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 1 Darstellungsarten von Algorithmen Umgangssprache Stilisierte Prosa Ablauf-/Struktogramme Jana Programmiersprache Institut für Pervasive

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 21 Einstieg in die Informatik mit Java Einfache Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick 2 Arithmetische Operatoren 3 Inkrement und Dekrementoperatoren

Mehr

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15 Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen

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

Übung Informatik I - Programmierung - Blatt 3

Übung Informatik I - Programmierung - Blatt 3 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Ausdrücke Übersicht 1 Die wichtigsten arithmetischen Ausdrücke Arithmetische Operatoren Inkrement und Dekrementoperatoren Zuweisungsoperator Mathematische Standardfunktionen Vergleichsoperatoren

Mehr

Inhalt. Zahlendarstellungen

Inhalt. Zahlendarstellungen Inhalt 1 Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

Mehr

Operatoren und Ausdrücke

Operatoren und Ausdrücke Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 11 Motivation Es gibt eine Reihe

Mehr

Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013

Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013 Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013 Im folgenden soll ein Überblick über die in Computersystemen bzw. Programmiersprachen verwendeten Zahlen inklusive ausgewählter Algorithmen (in

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 5 Asymptotische Laufzeitkomplexität Definition Regeln Beispiele Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger

Mehr

Kap 9. Bitoperationen und -strukturen

Kap 9. Bitoperationen und -strukturen Kap 9. Bitoperationen und -strukturen 9.1 Anwendung von Bits Im Gegensatz zu den üblicherweise Byte-orientierten Daten gibt es auch Bit-Anwendungsbeispiele Statusanzeigen bei Ein-/Ausgabe (Stream-Klassen)

Mehr

Monte Carlo Simulationen

Monte Carlo Simulationen Monte Carlo Simulationen Erkenntnisse durch die Erschaffung einer virtuellen Welt Stefan Wunsch 31. Mai 2014 INSTITUT FÜR EXPERIMENTELLE KERNPHYSIK (IEKP) KIT Universität des Landes Baden-Württemberg und

Mehr

Grundlagen der Informatik 2. Operatoren

Grundlagen der Informatik 2. Operatoren 2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

Java für Anfänger Teil 3: Integer-Typen. Programmierkurs Manfred Jackel

Java für Anfänger Teil 3: Integer-Typen. Programmierkurs Manfred Jackel Java für Anfänger Teil 3: Integer-Typen Programmierkurs 11.-15.10.2010 Manfred Jackel 1 Prozedurales Programmieren Welche Anweisungen kann man im Rumpf einer Methode benutzen? public static void main (String[]

Mehr

Langzahlarithmetik implementieren Ac 1990 bis 2016

Langzahlarithmetik implementieren Ac 1990 bis 2016 Langzahlarithmetik implementieren Ac 1990 bis 2016 Wie konstruiert man einen BigInteger-Typ (Langzahlarithmetik)? Zur Berechnung von sehr großen Ganzzahlen ( Big Integers ) kann man Register verwenden,

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11 Hashverfahren: Allgemeiner Rahmen) Prof. Dr. Susanne Albers Das Wörterbuch-Problem (1) Das Wörterbuch-Problem (WBP) kann wie folgt beschrieben

Mehr

AES und Public-Key-Kryptographie

AES und Public-Key-Kryptographie Jens Kubieziel jens@kubieziel.de Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik 22. Juni 2009 Beschreibung des Algorithmus Angriffe gegen AES Wichtige Algorithmen im 20. Jahrhundert

Mehr

Pseudozufallsgeneratoren

Pseudozufallsgeneratoren Pseudozufallsgeneratoren In welchen kryptographischen Verfahren werden keine Zufallszahlen benötigt? Wie generiert man Zufallszahlen in einer deterministischen Maschine wie dem Computer? Wenn man eine

Mehr

Monte-Carlo-Methode. mit Pseudo- und Quasizufallszahlen

Monte-Carlo-Methode. mit Pseudo- und Quasizufallszahlen Gott würfelt nicht Monte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Inhaltsverzeichnis Pseudo- und Quasizufallszahlen Monte-Carlo- Monte-Carlo- Monte-Carlo-Methode Bekannt nach Stadt Monte Carlo

Mehr

38. Algorithmus der Woche Zufallszahlen Wie kommt der Zufall in den Rechner?

38. Algorithmus der Woche Zufallszahlen Wie kommt der Zufall in den Rechner? 38. Algorithmus der Woche Zufallszahlen Wie kommt der Zufall in den Rechner? Autor Tim Jonischkat, Universität Duisburg-Essen Bruno Müller-Clostermann, Universität Duisburg-Essen Algorithmen sind clevere

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung

Mehr

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.

Mehr

Grundbegriffe der Informatik Aufgabenblatt 5

Grundbegriffe der Informatik Aufgabenblatt 5 Matr.nr.: Nachname: Vorname: Grundbegriffe der Informatik Aufgabenblatt 5 Tutorium: Nr. Name des Tutors: Ausgabe: 25. November 2015 Abgabe: 4. Dezember 2015, 12:30 Uhr im GBI-Briefkasten im Untergeschoss

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

Mehr

MINT-Circle-Schülerakademie

MINT-Circle-Schülerakademie 1 Einführung MINT-Circle-Schülerakademie Kurze Einführung, was Maple ist, wozu es dienen kann, wo es verwendet wird. Zur Einführung die folgenden Aufgaben bearbeiten lassen. Aufgabe 1. Gib unter Maple

Mehr

Statistics, Data Analysis, and Simulation SS 2015

Statistics, Data Analysis, and Simulation SS 2015 Mainz, May 12, 2015 Statistics, Data Analysis, and Simulation SS 2015 08.128.730 Statistik, Datenanalyse und Simulation Dr. Michael O. Distler Dr. Michael O. Distler

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

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 5 Asymptotische Laufzeitkomplexität Definition Regeln Beispiele Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Suchen und Amortisierte Analyse Heute: Suchen / Schreibtischtest Amortisierte Analyse Nächste

Mehr

5 Zahlenformate und deren Grenzen

5 Zahlenformate und deren Grenzen 1 5 Zahlenformate und deren Grenzen 5.1 Erinnerung B-adische Zahlendarstellung Stellenwertsystem: Jede Ziffer hat ihren Wert, und die Stelle der Ziffer in der Zahl modifiziert den Wert. 745 = 7 100 + 4

Mehr

18. Bitmanipulationen. Bitoperationen Bitmasken

18. Bitmanipulationen. Bitoperationen Bitmasken 18. Bitmanipulationen Bitoperationen Bitmasken Anwendung von Bits Statusanzeigen bei Ein-/Ausgabe (Stream-Klassen) Zugriffsrechte auf Dateien Maschinensteuerung/Gerätetreiber Status-/Steuerungsangaben

Mehr

Lineare Kongruenzgeneratoren und Quicksort

Lineare Kongruenzgeneratoren und Quicksort Seminar Perlen der theoretischen Informatik Dozenten: Prof. Johannes Köbler und Olaf Beyersdorff Lineare Kongruenzgeneratoren und Quicksort Ausarbeitung zum Vortrag Mia Viktoria Meyer 12. November 2002

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14 Zahlensysteme Inhalt: 1 Dualsystem 1 1.1 Dualzahlen mit Vorzeichen 4 2 Hexadezimalsystem 8 2.1 Hexadezimalzahlen mit Vorzeichen 10 3 Oktalsystem 13 4 Zahlenring 14 Definition: Ein polyadisches Zahlensystem

Mehr

Zufallszahlen. Diskrete Simulation. Zufallszahlengeneratoren - Zufallszahlen

Zufallszahlen. Diskrete Simulation. Zufallszahlengeneratoren - Zufallszahlen Zufallszahlen Zufallszahlengeneratoren Transformation von Zufallszahlen Test von Zufallszahlengeneratoren Otto-von-Guericke-Universität Magdeburg Thomas Schulze Zufallszahlengeneratoren - Zufallszahlen

Mehr

Modellbildung und Simulation

Modellbildung und Simulation Modellbildung und Simulation 6. Vorlesung Wintersemester 2007/2008 Klaus Kasper Value at Risk (VaR) Gaußdichte Gaußdichte der Normalverteilung: f ( x) = 1 2π σ x e 2 2 x ( x µ ) / 2σ x Gaußdichte der Standardnormalverteilung:

Mehr

Themen. Hashverfahren. Stefan Szalowski Programmierung II Hashverfahren

Themen. Hashverfahren. Stefan Szalowski Programmierung II Hashverfahren Themen Hashverfahren Einleitung Bisher: Suchen in logarithmischer Zeit --> Binärsuche Frage: Geht es eventuell noch schneller/effektiver? Finden von Schlüsseln in weniger als logarithmischer Zeit Wichtig

Mehr

π auf (und mehr) Dezimalen Wegen π = 4 arctan(1) kann die Reihenentwicklung des Arkustangens verwendet werden.

π auf (und mehr) Dezimalen Wegen π = 4 arctan(1) kann die Reihenentwicklung des Arkustangens verwendet werden. π auf 10000000 (und mehr) Dezimalen Ac Wegen π = 4 arctan(1) kann die Reihenentwicklung des Arkustangens verwendet werden. n 2k+ 1 3 5 7 9 11 2n+ 1 k x x x x x x n x arctan( x)» å( - 1) = x - + - + - +

Mehr

Prof. Dr. Heinrich Müller, Dr. Frank Weichert 10. September 2012

Prof. Dr. Heinrich Müller, Dr. Frank Weichert 10. September 2012 Technische Universität Dortmund Informatik VII (Graphische Systeme) Prof. Dr. Heinrich Müller, Dr. Frank Weichert 10. September 2012 Übungsaufgaben zum Vorkurs Informatik Wintersemester 2012/2013 Teil

Mehr

Erzeugung von Pseudozufallszahlen

Erzeugung von Pseudozufallszahlen Erzeugung von Pseudozufallszahlen Proseminar Kryptografie und Datensicherheit Sommersemester 2009 Mario Frank Übersicht 1. Allgemeines 2. Anwendungen von PRBG 3. (k,l)-bit Generatoren 4. Unterscheidbarkeit

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Statistics, Data Analysis, and Simulation SS 2017

Statistics, Data Analysis, and Simulation SS 2017 Mainz, 8. Mai 2017 Statistics, Data Analysis, and Simulation SS 2017 08.128.730 Statistik, Datenanalyse und Simulation Dr. Michael O. Distler Dr. Michael O. Distler

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Suchen Bisher: Sequentielle Suche Binäre Suche Interpolationssuche Jetzt: Suchen in Zeichenfolgen 2 1 Suchen in Zeichenfolgen Das Problem:

Mehr

Programmiertechnik II

Programmiertechnik II Hash-Tabellen Überblick Hashfunktionen: Abbildung von Schlüsseln auf Zahlen Hashwert: Wert der Hashfunktion Hashtabelle: Symboltabelle, die mit Hashwerten indiziert ist Kollision: Paar von Schlüsseln mit

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Die Bildauswahl erfolgte in Anlehnung an das Alter der Kinder Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht! Messsystem mit Mikrocontroller

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

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Datendarstellung Teil 2

Datendarstellung Teil 2 Informatik 1 für Nebenfachstudierende Grundmodul Datendarstellung Teil 2 Kai-Steffen Hielscher Folienversion: 08. November 2016 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel

Mehr

ZUFALLSZAHLEN. WPG Informatik / Mathematik. BG/BRG Bad Ischl. A. Lindner

ZUFALLSZAHLEN. WPG Informatik / Mathematik. BG/BRG Bad Ischl. A. Lindner ZUFALLSZAHLEN WPG Informatik / Mathematik BG/BRG Bad Ischl A. Lindner 1 BEDEUTUNG VON ZUFALLSZAHLEN Beispiel: Computertip für Lotto in einer Trafik. Wie kann ein (elektronisches) Gerät, das nach einem

Mehr

Algorithmen & Programmierung. Rekursive Funktionen (1)

Algorithmen & Programmierung. Rekursive Funktionen (1) Algorithmen & Programmierung Rekursive Funktionen (1) Berechnung der Fakultät Fakultät Die Fakultät N! einer nichtnegativen ganzen Zahl N kann folgendermaßen definiert werden: d.h. zur Berechnung werden

Mehr

Kapitel 5: Darstellung von Daten im Rechner

Kapitel 5: Darstellung von Daten im Rechner Kapitel 5: Darstellung von Daten im Rechner Kapitel 5 Darstellung von Daten im Rechner und Rechnerarithmetik Literatur: Oberschelp/Vossen, Kapitel 5 Kapitel 5: Darstellung von Daten im Rechner Seite Kapitel

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Kapitel 5: Daten und Operationen

Kapitel 5: Daten und Operationen Kapitel 5: Daten und Operationen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2007 Folien nach einer Vorlage von H.-Peter

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Algorithmen zur Division

Algorithmen zur Division Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest

Mehr

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 16. Mai 2009 Inhaltsverzeichnis

Mehr

Aufgabe 1 2 3 4 5 6 Punkte

Aufgabe 1 2 3 4 5 6 Punkte Testklausur zur Vorlesung Grundlagen der Informatik Prof. Dr. Nikolaus Wulff Sommer 2013 Diese Klausur besteht aus sechs n, von denen Sie fünf bearbeiten und lösen müssen, d.h. maximal fünf richtig gelöste

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Messprotokoll: Aufnahme der Quantenzufallszahl

Messprotokoll: Aufnahme der Quantenzufallszahl Messprotokoll: Aufnahme der Quantenzufallszahl Am 19. Juni 2009 wurden für Max Mustermann um 8:35 Uhr mit Hilfe von einzelnen Photonen 993.097 Zufallszahlen generiert. Der Zufallsgenerator steht im Quantenoptiklabor

Mehr

2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int

2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 74 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit 75 // Program: fahrenheit.cpp

Mehr

Microsoft Rechner. Kurzanleitung ohne Maus

Microsoft Rechner. Kurzanleitung ohne Maus Microsoft Rechner Kurzanleitung ohne Maus Förderzentrum für die integrative Beschulung blinder und hochgradig sehbehinderter Schülerinnen und Schüler (FIBS) Astrid Leutbecher Korrekturhinweise, Anmerkungen,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 4.1: Zahlensysteme a) Bitte füllen Sie die leeren Zellen

Mehr

2. Ganze Zahlen int unsigned int

2. Ganze Zahlen int unsigned int 99 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp

Mehr

Operations Research (OR) II

Operations Research (OR) II Operations Research (OR) II Fortgeschrittene Methoden der Wirtschaftsinformatik 27. Juni 2007 Michael H. Breitner, Hans-Jörg von Mettenheim und Frank Köller 27.06.2007 # 1 Stochastische Inputgrößen Stochastische

Mehr

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu

Mehr

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.

Mehr