Quick and accurate determinations of the randomness of a sequence
Project description
RandTest
A light package for quick and accurate determinations of the randomness of a sequence.
Overview
Identifying random patterns, and conversely, ordered patterns, is a major tool with applicability to a wide variety of fields, from mathematical analysis to cybersecurity. Random Test looks for randomness in sequences of numbers by searching for patterns which are inherently unpredictable. It uses an exponentially-decaying moment prediction to determine the net deviation between the predicted and actual elements of a sequence. In tests, this led to a net predictive accuracy of 99.85% for nonrandom sequences and 96.82% for random sequences. Additionally, this package is able to provide these predictions in under a millisecond for sequences shorter than 10 elements and under 100 milliseconds for sequences shorter than 1000 elements.
Requirements
RandTest is built for Python 3. It has only one requirement:
- Numpy
Installation
To download randtest, use PyPI via pip:
$ pip install randtest
Alternatively, you can clone this Github repository and build from source:
$ git clone https://github.com/sudo-rushil/randtest
$ cd randtest
$ python setup.py install
Verify your installation by running
>>> import randtest
>>> randtest.random_score([0, 1, 2, 3])
'False'
Examples
RandTest is extremely simple to use. You only need to input either a list or a 1D Numpy array of numbers. The prediction returns False
if the sequence is ordered and True
if the sequence is random.
import numpy as np
import randtest as rt
ordered_sequence = np.arange(10)
random_sequence = np.random.randint(10, size=10)
print(rt.random_score(ordered_sequence))
print(rt.random_score(random_sequence))
False
True
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file randtest-0.7.tar.gz
.
File metadata
- Download URL: randtest-0.7.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab77a76f8a93354ab915d152532ca09559c75a386afdc5e597eba6a479697e1b |
|
MD5 | baf3bbb93c3a5249a008b5baff7d2e16 |
|
BLAKE2b-256 | f8fe251b02e420949d58e310e9b434c70b00d75c7c79d077d2833b6185e0e0e0 |