Dynamics of Some Maps Associated with Number Theoretic Functions. ITEC809 Project Report. Semester 2, 2011 Jeffrey Smith – 30503523 Supervisor : Igor Shparlinski.

Slides:



Advertisements
Similar presentations
Complexity Metrics for Design & Manufacturability Analysis
Advertisements

Computer Science Dr. Peng NingCSC 774 Adv. Net. Security1 CSC 774 Advanced Network Security Topic 7.3 Secure and Resilient Location Discovery in Wireless.
Random Number Generation. Random Number Generators Without random numbers, we cannot do Stochastic Simulation Most computer languages have a subroutine,
ORTHOGONAL ARRAYS APPLICATION TO PSEUDORANDOM NUMBERS GENERATION AND OPTIMIZATION PROBLEMS A.G.Chefranov †‡, T.A.Mazurova ‡, I.D.Sidorov ‡, T.S.Letia 
Effectively Prioritizing Tests in Development Environment
1 Approximated tracking of multiple non-rigid objects using adaptive quantization and resampling techniques. J. M. Sotoca 1, F.J. Ferri 1, J. Gutierrez.
Linear Obfuscation to Combat Symbolic Execution Zhi Wang 1, Jiang Ming 2, Chunfu Jia 1 and Debin Gao 3 1 Nankai University 2 Pennsylvania State University.
From Sequences of Dependent Instructions to Functions An Approach for Improving Performance without ILP or Speculation Ben Rudzyn.
Efficient Estimation of Emission Probabilities in profile HMM By Virpi Ahola et al Reviewed By Alok Datar.
Parameterizing Random Test Data According to Equivalence Classes Chris Murphy, Gail Kaiser, Marta Arias Columbia University.
Chapter 14 Simulation. Monte Carlo Process Statistical Analysis of Simulation Results Verification of the Simulation Model Computer Simulation with Excel.
1 Random numbers Random  completely unpredictable. No way to determine in advance what value will be chosen from a set of equally probable elements. Impossible.
Data Structures Using C++ 2E Chapter 9 Searching and Hashing Algorithms.
Chapter 5. Operations on Multiple R. V.'s 1 Chapter 5. Operations on Multiple Random Variables 0. Introduction 1. Expected Value of a Function of Random.
Probability and Statistics in Engineering Philip Bedient, Ph.D.
CODING Research Data Management. Research Data Management Coding When writing software or analytical code it is important that others and your future.
Impact Analysis of Database Schema Changes Andy Maule, Wolfgang Emmerich and David S. Rosenblum London Software Systems Dept. of Computer Science, University.
ETM 607 – Random Number and Random Variates

Random Number Generators CISC/QCSE 810. What is random? Flip 10 coins: how many do you expect will be heads? Measure 100 people: how are their heights.
Simulation II IE 2030 Lecture 18. Outline: Simulation II Advanced simulation demo Review of concepts from Simulation I How to perform a simulation –concepts:
Identifying Reversible Functions From an ROBDD Adam MacDonald.
CS212: DATA STRUCTURES Lecture 10:Hashing 1. Outline 2  Map Abstract Data type  Map Abstract Data type methods  What is hash  Hash tables  Bucket.
Ripple Joins for Online Aggregation by Peter J. Haas and Joseph M. Hellerstein published in June 1999 presented by Ronda Hilton.
Random-Number Generation Andy Wang CIS Computer Systems Performance Analysis.
CPSC 531: RN Generation1 CPSC 531:Random-Number Generation Instructor: Anirban Mahanti Office: ICT Class Location:
Chapter 7 Random-Number Generation
Modeling and Simulation Random Number Generators
Monte Carlo Methods So far we have discussed Monte Carlo methods based on a uniform distribution of random numbers on the interval [0,1] p(x) = 1 0  x.
Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic 2005, Third Edition.
Experimental research in noise influence on estimation precision for polyharmonic model frequencies Natalia Visotska.
2Object-Oriented Program Development Using C++ 3 Basic Loop Structures Loops repeat execution of an instruction set Three repetition structures: while,
ITEC 2620A Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: 2620a.htm Office: TEL 3049.
File Processing - Hash File Considerations MVNC1 Hash File Considerations.
Robust Object Tracking by Hierarchical Association of Detection Responses Present by fakewen.
Program Design. The design process How do you go about writing a program? –It’s like many other things in life Understand the problem to be solved Develop.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Hashtables. An Abstract data type that supports the following operations: –Insert –Find –Remove Search trees can be used for the same operations but require.
1 1 Slide Simulation Professor Ahmadi. 2 2 Slide Simulation Chapter Outline n Computer Simulation n Simulation Modeling n Random Variables and Pseudo-Random.
Modelling sample data from smart-type meter electricity usage Susan Williams NTTS Conference, March 2015, Brussels.
EFFICIENT STRATEGIES FOR REPRESENTING AND EVALUATING THE EFFECT OF PROPAGATION IMPAIRMENTS ON THE PERFORMANCE OF WIRELESS COMMUNICATIONS SYSTEMS Presented.
R ANDOM N UMBER G ENERATORS Modeling and Simulation CS
R. Johnsonbaugh, Discrete Mathematics 5 th edition, 2001 Chapter 3 Algorithms.
CSC 143T 1 CSC 143 Highlights of Tables and Hashing [Chapter 11 p (Tables)] [Chapter 12 p (Hashing)]
Building Valid, Credible & Appropriately Detailed Simulation Models
Investigate Plan Design Create Evaluate (Test it to objective evaluation at each stage of the design cycle) state – describe - explain the problem some.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Zachary Starr Dept. of Computer Science, University of Missouri, Columbia, MO 65211, USA Digital Image Processing Final Project Dec 11 th /16 th, 2014.
Predicting Salinity in the Chesapeake Bay Using Neural Networks
Random Number Generators
Advanced Associative Structures
Hash Table.
Programming Fundamentals (750113) Ch1. Problem Solving
Cryptography and Network Security Chapter 7
24 Searching and Sorting.
CS202 - Fundamental Structures of Computer Science II
Global Challenge Walking for Water Lesson 2.
Programming Fundamentals (750113) Ch1. Problem Solving
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Programming Fundamentals (750113) Ch1. Problem Solving
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Outline System architecture Current work Experiments Next Steps
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
COMPUTING.
Presentation transcript:

Dynamics of Some Maps Associated with Number Theoretic Functions. ITEC809 Project Report. Semester 2, 2011 Jeffrey Smith – Supervisor : Igor Shparlinski

Presentation Outline Project Objectives ◦ Pseudorandom numbers and applications ◦ Iterative maps for Number Theoretic Functions (NTFs) ◦ Building an analysis tool ◦ Data Analysis Background ◦ Iterative processing of NTFs ◦ Cycle and Tail length analysis for pseudorandom number generation ◦ Cycle detection ◦ The NTFs implemented with the tool Analysis tool development ◦ Development choices ◦ Calculations with NTL and lessons learned ◦ Implementing NTFs ◦ Using the Analysis tool Performance Enhancements ◦ Checking for previously calculated maps ◦ Enhancement results and future experimentation Analysis Results ◦ Sample Results data ◦ Sample Frequency distribution Conclusion 2

Project Objectives The need for Pseudorandom numbers in computing. ◦ Sources of random numbers with complex algorithms ◦ Used to create hashing functions for cryptographic methods to provide security ◦ Pseudorandom numbers need complex methods of generation to prevent prediction ◦ Would be useful to find a simple method of producing a highly complex sequences of numbers 3

Project Objectives Iterative maps of Number Theoretic Functions. ◦ Generated by taking relatively simple number theoretic functions and produce iterative sequences of numbers. ◦ Generates a sequence of seemingly random numbers for some functions. ◦ Simple method of generating complex output. ◦ Possible source of pseudorandom numbers for computing applications. 4

Project Objectives Building an Analysis Tool ◦ Project goal is to build a tool that can produce iterative maps of Number Theoretic Functions ◦ Tool implements several Number Theoretic Functions and allows analysis over ranges of values to study the behaviour of these maps. ◦ Tool will produce data for range analysis on variance and dispersion characteristics for the length of maps generated to assess how effective the technique is. 5

Project Objectives Data Analysis ◦ The analysis tool should allow us to investigate how Maps of Number Theoretic Function behave. ◦ Investigation of implemented NTFs and assessment of pseudorandom behaviour with respect to the dispersion of the tail lengths. ◦ Tool allows us to investigate characteristic behaviour including average tail and cycle lengths, distinct cycles and variance. 6

Background Iterative maps of Number Theoretic Functions ◦ Iterative maps are created by resubmitting the result of the function on successive iterations. 7

Background Cycle and tail length analysis ◦ Looking at the cycle length and the length of the ‘tail’ before the sequence add complexity. 8

Background Cycle detection ◦ Floyd’s Algorithm vs Brent’s Algorithm 9 Source:

Background Number Theoretic Functions ◦ Collatz function: 10

Background Number Theoretic Functions ◦ Collatz function modulus p: 11

Background Number Theoretic Functions ◦ Fermat Quotient (Type 1): 12

Background Number Theoretic Functions ◦ Fermat Quotient (Type 2): 13

Analysis Tool Development Development Choices ◦ Visual Studio C++  Useful as already knew VS development environment  Compatible with the C++ libraries required for NTL. Calculations with NTL and lessons learned ◦ NTL – Library for number theoretic calculations – Victor Shoup. ◦ Required for large integer calculations. ◦ NTL library allows accurate and efficient calculations. 14

Analysis Tool Development Implementing Number Theoretic Functions ◦ Functions must be broken down to algorithms, using the NTL operators and big integer variables. 15

Analysis Tool Development Using the Analysis tool Console application Takes variables command line variables 16

Analysis Tool Development Using the Analysis tool ◦ Console output for progress and debug: 17

Analysis Tool Development Using the Analysis tool ◦ Range Analysis Output as CSV or as summary of analysis information. 18

Performance Enhancements Tool takes days to produce some of the data sets. Improvements were investigated by keeping track of previously generated paths and using this to greatly reduce the processing overhead by back filling new data rather than computing complete maps. Leverages the finding of rather small numbers of unique cycles. Processing time comparison: 19 PFermat Quotient (Type 2)Fermat Quotient (Type 2) Enhanced :37:490:23: :20:39Error processing :37:160:31: :34:55Error processing :07:35 0:47: More than 72:00:000:51:20

Performance Enhancements ◦ Enhanced range analysis processing time vs number of maps. Future work using this enhanced method would allow a much greater range of data to be analysed at once. On discussion with faculty staff, this would be well suited to distributed computing approaches for future implementations. 20

Analysis Results Sample Analysis data: Collatz Mod P data 21 P Average CycleAverage TailLargest TailTail VarianceDispersion IndexDistinct Cycles No. Stopping Points

Analysis Results Sample Analysis data: Fermat Quotient (Type 2). 22 P Average Cycle Average Trajectory Largest Trajectory Trajectory VarianceDispersion IndexDistinct Cycles No. Stopping Points

Conclusion Analysis tool built to produce maps of number theoretic functions and compile useful results for analysis. Performance enhancements investigated to alleviate enormous processing overhead and reduce processing time from days to minutes. Brief analysis of large primes found that we can produce pseudorandom numbers with number theoretic function maps. More analysis would give us better insight into selecting the right functions and values to do this. 23