Pseudo Random Number Generation through Reinforcement Learning and Recurrent Neural Networks

A Pseudo-Random Number Generator (PRNG) is any algorithm generating a sequence of numbers approximating properties of random numbers. These numbers are widely employed in mid-level cryptography and in software applications. Test suites are used to evaluate the quality of PRNGs by checking statistica...

Full description

Bibliographic Details
Main Authors: Luca Pasqualini, Maurizio Parton
Format: Article
Language:English
Published: MDPI AG 2020-11-01
Series:Algorithms
Subjects:
Online Access:https://www.mdpi.com/1999-4893/13/11/307
_version_ 1797547051596120064
author Luca Pasqualini
Maurizio Parton
author_facet Luca Pasqualini
Maurizio Parton
author_sort Luca Pasqualini
collection DOAJ
description A Pseudo-Random Number Generator (PRNG) is any algorithm generating a sequence of numbers approximating properties of random numbers. These numbers are widely employed in mid-level cryptography and in software applications. Test suites are used to evaluate the quality of PRNGs by checking statistical properties of the generated sequences. These sequences are commonly represented bit by bit. This paper proposes a Reinforcement Learning (RL) approach to the task of generating PRNGs from scratch by learning a policy to solve a partially observable Markov Decision Process (MDP), where the full state is the period of the generated sequence, and the observation at each time-step is the last sequence of bits appended to such states. We use Long-Short Term Memory (LSTM) architecture to model the temporal relationship between observations at different time-steps by tasking the LSTM memory with the extraction of significant features of the hidden portion of the MDP’s states. We show that modeling a PRNG with a partially observable MDP and an LSTM architecture largely improves the results of the fully observable feedforward RL approach introduced in previous work.
first_indexed 2024-03-10T14:37:53Z
format Article
id doaj.art-63469810436046f39115a30d02b0d6d8
institution Directory Open Access Journal
issn 1999-4893
language English
last_indexed 2024-03-10T14:37:53Z
publishDate 2020-11-01
publisher MDPI AG
record_format Article
series Algorithms
spelling doaj.art-63469810436046f39115a30d02b0d6d82023-11-20T22:00:40ZengMDPI AGAlgorithms1999-48932020-11-01131130710.3390/a13110307Pseudo Random Number Generation through Reinforcement Learning and Recurrent Neural NetworksLuca Pasqualini0Maurizio Parton1Department of Information Engineering and Mathematical Sciences, University of Siena, 53100 Siena, ItalyDepartment of Economical Studies, University of Chieti-Pescara, 65129 Pescara, ItalyA Pseudo-Random Number Generator (PRNG) is any algorithm generating a sequence of numbers approximating properties of random numbers. These numbers are widely employed in mid-level cryptography and in software applications. Test suites are used to evaluate the quality of PRNGs by checking statistical properties of the generated sequences. These sequences are commonly represented bit by bit. This paper proposes a Reinforcement Learning (RL) approach to the task of generating PRNGs from scratch by learning a policy to solve a partially observable Markov Decision Process (MDP), where the full state is the period of the generated sequence, and the observation at each time-step is the last sequence of bits appended to such states. We use Long-Short Term Memory (LSTM) architecture to model the temporal relationship between observations at different time-steps by tasking the LSTM memory with the extraction of significant features of the hidden portion of the MDP’s states. We show that modeling a PRNG with a partially observable MDP and an LSTM architecture largely improves the results of the fully observable feedforward RL approach introduced in previous work.https://www.mdpi.com/1999-4893/13/11/307pseudo-random numbers generatorsreinforcement learningrecurrent neural networks
spellingShingle Luca Pasqualini
Maurizio Parton
Pseudo Random Number Generation through Reinforcement Learning and Recurrent Neural Networks
Algorithms
pseudo-random numbers generators
reinforcement learning
recurrent neural networks
title Pseudo Random Number Generation through Reinforcement Learning and Recurrent Neural Networks
title_full Pseudo Random Number Generation through Reinforcement Learning and Recurrent Neural Networks
title_fullStr Pseudo Random Number Generation through Reinforcement Learning and Recurrent Neural Networks
title_full_unstemmed Pseudo Random Number Generation through Reinforcement Learning and Recurrent Neural Networks
title_short Pseudo Random Number Generation through Reinforcement Learning and Recurrent Neural Networks
title_sort pseudo random number generation through reinforcement learning and recurrent neural networks
topic pseudo-random numbers generators
reinforcement learning
recurrent neural networks
url https://www.mdpi.com/1999-4893/13/11/307
work_keys_str_mv AT lucapasqualini pseudorandomnumbergenerationthroughreinforcementlearningandrecurrentneuralnetworks
AT maurizioparton pseudorandomnumbergenerationthroughreinforcementlearningandrecurrentneuralnetworks