Solving the Impossible Level Problem. Chaotic Binary Code Compression. Superpositional Number Systems

For better understanding, let us highlight the main points of the presented material:

  1. Why is it necessary to compress information and increase recording density?

  2. Problems in conquering chaos, unsolved by mathematicians and created by them.

  3. A simple solution to the problem of compressing absolutely any binary code.

  4. Ways and methods for further development of binary code compression.

1. Why is it necessary to compress information and increase recording density?

In the modern information world, increasing the recording density will allow:

  1. Record and store orders of magnitude more information without increasing or improving the technical means of storing this information.

  2. Increase the speed of data transmission by compressing it, as well as open up opportunities for obtaining information where communication channels are weak, and expand the capabilities of existing large communication channels.

  3. Transmit and receive multiple times more information with devices not intended for this purpose.

  4. Raise the level of data encryption to unattainable heights even with the modern level of mathematical thought.

  5. Increase the accuracy of computer calculations by:

    • improving storage methods and algorithms for calculating floating point numbers and fractional numbers in general;

    • changing standards for recording data into computer memory;

    • unloading of computer RAM during large calculations, which generally results in an increase in the speed of computer processors.

  6. To qualitatively improve work with big data by fine-tuning algorithms and processes for processing big data.

  7. Create new information transfer (communication) protocols that simultaneously solve the problem of both encryption and the speed of transfer of big data.

  8. Improving the algorithms of neural networks through the solution that will be presented below.

2. Problems in Conquering Chaos, Unsolved by Mathematicians and Created by Them

Over the last few centuries, the world's outstanding mathematicians have solved and presented a huge number of problems, theorems, rules and mathematical techniques. Almost every one of them in their works and reflections set the task of conquering chaos and infinities, describing the techniques and solutions for forcing chaos into order. Thanks to their works, modern mathematics relies on such tools as infinities, uncertainties, spaces, quantities, limits, vectors, functions, constants, number systems, mathematical operations (including formulas). However, in reality, until today, all efforts of mathematicians to force chaos and uncertainties into order were reduced to describing the scale of the “problem”, deriving average formulas and theorems. The common “disease” of mathematicians manifests itself in the search for a “magic elixir” – breaking a number into factors. And if suddenly someone manages to find this elusive way to factorize absolutely any number, then he will become the “conqueror” of the universe, chaos.

But we won’t deal with nonsense, we will take a different path. Moreover, our task is more complicated – to compress “as much as possible” compressed binary code (binary). Mathematicians claim that ternary code is also the most capacious. And it has been empirically proven that the most capacious recording of a number is in the positional number system with the base e = 2.71828 (approximately). But this is not about the mathematics of integers. So it turns out that it’s impossible to compress absolutely any binary code without loss?

They won't succeed, but here in Russia everything is possible. Let's start solving the problem of compressing absolutely any chaotic binary code. Which after compression can be compressed again, since it will be recorded in the computer in a binary system. And this can be compressed as many times as it takes until we reach the minimum possible compression limits.

3. A simple solution to the problem of compression of absolutely any binary code

To solve this problem, we will use a number of mathematical techniques and tools:

  1. The solution is “by contradiction” (“from the opposite”).

  2. Asymmetry.

  3. Factorial and subfactorial.

  4. The principle of taking out a common factor.

  5. The principle of superposition of number within number.

  6. Creation of a superposition number system.

As everyone already knows, the densest recording of precise data is obtained in positional number systems with bases 2 or 3. In the unattainable ideal – in a number system with a base of an irrational number e.

Therefore, we will use the superposition number system for a more dense notation. Have you heard of these? I didn't hear it either. Then let's create it.

Let's get away from the problems of binary and ternary number systems with common factors (orders) 2 and 3 (solution from the inverse) and add chaos (again solution from the inverse) – that is, we will use asymmetry. To do this, we will take the factorial number system as an auxiliary basis for our number system. In this number system, a number always includes all elements and always without repetitions, that is, the value of a number is determined by a specific selection (or rearrangement) of all elements of the number system. Yes, such a number system is inferior in recording density to a positional number system with a similar base, but now our task is to give our chaotic series of numbers certain properties that we can easily use for denser recording.

Next, we will stretch the virtual number system with a base of 2.71828 onto something between binary and ternary code. The subfactorial will help us with this. This is the number of permutations of non-repeating elements in the sample, in which all the elements are not in their places. And the ratio of the factorial of a number to its own subfactorial surprisingly tends to the number e = 2.71828… But this is not the main thing. The main thing is that the ratio of the factorial of the number 3 to its own subfactorial is 3. And only after the factorial of the number 3 is this ratio less than 3 and tends to 2.718…. With the help of this specific partition (3 elements from the entire sample) we will determine in a large scale (not exactly by place) whether there are elements in a specific block from the entire sample in place (for example, 6 is in position 6 or 15 is in position 15) or in this block all the elements are out of place (for example, elements 2, 9 and 12 are in places 4 through 6).

That is why we will divide our sample (determined by the factorial number system) into blocks of only 3 elements, and all numbers of the factorial number system must consist of a multiple of three elements (15,18,21, etc.). For those who didn’t catch the idea, I’ll give you a hint: permutations of 3 elements out of 3 equal 3! = 6 options.

6 is divisible by 2 (binary code) and 3 (ternary code – the number of elements in the minimum block we created). In addition, the subfactorial of 3 is 2, which is the 2 value at which all the elements in our block of three are out of place. In the remaining 4 values ​​out of 6, at least one of the elements will be in its place.

We will form a record of 6 values ​​into only 4 values ​​(2 bits) with the removal of the value determinant (in place or out of place) outside the brackets (yes/no – 1 bit), that is, some kind of removal of a multiplier.

Let's look at the first part of the presentation using the example of the number of combinations 15! :

Block number

1

2

3

4

5

Total bit

Values ​​in place/out of place

2

2

2

2

2

Values ​​in the final block of three

4

4

4

4

4

Total bits

3

3

3

3

3

15

The experienced eye of a mathematician will see that we uneconomically defined only 6 values ​​of a block of three elements with 8 values. But this is only the beginning of the whole structure. We'll fix this later.

Also, we do not yet know in what order our entire permutation (number) of 15 elements is located, therefore, according to the division into blocks of triplets, we will determine the content of each block (hereinafter referred to as a block) without specifying the exact location, in order to save space in the record. We will do this first for block 1, then for block 2, etc. The most inexpensive formula of combinatorics in terms of recording capacity will help us with this – the number of combinations from n to k.

We search for all possible values ​​in block 1:

– the number of combinations of 15 by 3 is 455.

Next we look for all possible values ​​in block 2:

– the number of combinations of 3 from the remaining 12 is 220.

Next, we look for all possible values ​​in block 3:

– the number of combinations from the remaining 9 by 3 is 84.

Next we look for all possible values ​​in block 4:

– the number of combinations from the remaining 6 by 3 is 20.

Next, we look for all possible values ​​in block 5:

– you don’t need to look for them, there are the last 3 elements that were not included in the first blocks.

Let's imagine the second stage in the table and take the base 2 logarithm of each value of C(n,k) of the resulting samples to see how much space this takes up in the binary code:

Block-three number

1

2

3

4

5

Total bit

Selection from

15

12

9

6

3

how many do we choose?

3

3

3

3

3

The values ​​of C(n,k) =

455

220

84

20

1

log 2

8.829723

7.78136

6,392317

4.321928

0

27,32533

Don't be afraid of the fractions in the designation of the number of bits; in the overall final record they are summed up, but we will not prove this here.

Now let's sum up the intermediate results:

We managed to write the number of options limited to 15! on 42.32 bits (15 + 27.32), which is slightly more than the 40.25 bits that are used to write 15! (1307674368000 values) in the positional binary number system.

So something needs to be done.

Remember, we identified determinants (like factors) in the first stage of working with blocks of triplets?

So, we use them then first before defining specific combinations of elements in each block, and they will automatically play the second role in the same meaning at the second stage of refining the specific position of each element in the block-three.

This is the superposition of a number!

We have one number (the determinant of values ​​by place in the block) has more than one value and affects two entries in the number at once. We have the same number of such determinants as there are blocks of triplets. In the example there are 5 of them.

Now that we have the triple block identifiers in place first, we can trim off the extra options that need to be written down, shortening the writing itself a bit.

To do this, I will first post a table of permutations of 3 elements from the numbers of elements that are multiples of 3, starting from 3 to 60 to understand the patterns.

Part 1 of the table:

Number of blocks-triples

Factorial number system (FSS)

Total number of FSS values

Block 1

Block 2

Block 3

Block 4

Block 5

Block 6

1

3

6

1

2

6

720

20

1

3

9

362880

84

20

1

4

12

479001600

220

84

20

1

5

15

1,30767E+12

455

220

84

20

1

6

18

6,40237E+15

816

455

220

84

20

1

7

21

5.10909E+19

1330

816

455

220

84

20

8

24

6.20448E+23

2024

1330

816

455

220

84

9

27

1.08889E+28

2925

2024

1330

816

455

220

10

thirty

2.65253E+32

4060

2925

2024

1330

816

455

eleven

33

8.68332E+36

5456

4060

2925

2024

1330

816

12

36

3.71993E+41

7140

5456

4060

2925

2024

1330

13

39

2.03979E+46

9139

7140

5456

4060

2925

2024

14

42

1,40501E+51

11480

9139

7140

5456

4060

2925

15

45

1.19622E+56

14190

11480

9139

7140

5456

4060

16

48

1.24139E+61

17296

14190

11480

9139

7140

5456

17

51

1.55112E+66

20825

17296

14190

11480

9139

7140

18

54

2,30844E+71

24804

20825

17296

14190

11480

9139

19

57

4,05269E+76

29260

24804

20825

17296

14190

11480

20

60

8,32099E+81

34220

29260

24804

20825

17296

14190

The pattern is already visible, so to save time I will omit the average values ​​and post the last ones. And the pattern is as follows: there are exactly as many out-of-place values ​​when defining a block of three as there are values ​​of the sample of all permutations from a number 3 elements less than the one under consideration.

Number of blocks-triples

Factorial number system (FSS)

Total number of FSS values

Block 15

Block 16

Block 17

Block 18

Block 19

Block 20

1

3

6

2

6

720

3

9

362880

4

12

479001600

5

15

1.30767E+12

6

18

6,40237E+15

7

21

5.10909E+19

8

24

6.20448E+23

9

27

1.08889E+28

10

thirty

2.65253E+32

eleven

33

8,68332E+36

12

36

3.71993E+41

13

39

2.03979E+46

14

42

1.40501E+51

15

45

1,19622E+56

1

16

48

1,24139E+61

20

1

17

51

1.55112E+66

84

20

1

18

54

2,30844E+71

220

84

20

1

19

57

4,05269E+76

455

220

84

20

1

20

60

8.32099E+81

816

455

220

84

20

1

Next, I lay out a table of permutations of 3 elements from the numbers of elements multiples of 3, starting from 3 to 60, broken down into the presence of values ​​in the blocks of triplets in place and their absence of values ​​in their place.

Number of blocks-triples

Factorial number system (FSS)

Total samples to determine the block of three

The value in the triple block is YES

There is NO value in the triple block

1

3

1

1

0

2

6

20

19

1

3

9

84

64

20

4

12

220

136

84

5

15

455

235

220

6

18

816

361

455

7

21

1330

514

816

8

24

2024

694

1330

9

27

2925

901

2024

10

thirty

4060

1135

2925

eleven

33

5456

1396

4060

12

36

7140

1684

5456

13

39

9139

1999

7140

14

42

11480

2341

9139

15

45

14190

2710

11480

16

48

17296

3106

14190

17

51

20825

3529

17296

18

54

24804

3979

20825

19

57

29260

4456

24804

20

60

34220

4960

29260

Here, in addition to the previously noted pattern, we note that with the growth of the sample of permutations of 3 elements from N, starting with 6 blocks of triplets (FSS 18!), the number of values ​​where all elements are not in their places begins to exceed the number of samples where there is at least one element in its place.

Now we proceed to create a compressed number system, discarding elements that are unnecessary for recording. I emphasize, an exact recording without any losses.

In the record of the number of values ​​of permutations of blocks of triplets, we reserve the maximum number of values: up to FSS 15! (5 blocks of triplets) inclusive, this is the maximum for values ​​in place, starting from FSS 18! (6 blocks of triplets) this is the maximum for values ​​out of place.

Accordingly, if the determinant of blocks-triples will point to a smaller range of values, then automatically the total record of the entire sought number will be additionally reduced. For a complete record in the most uneconomical cases, we reserve the maximum number of descriptions of blocks-triples, regardless of whether the elements are in place or not.

The same example, with maximum samples of blocks of triplets, in which the values ​​of elements are present in place:

Block number

1

2

3

4

5

Total bits

Determining values ​​by location

Yes

Yes

Yes

Yes

Yes

5

Selection from

15

12

9

6

3

how much do we choose

3

3

3

3

3

The values ​​of C(n,k) =

235

136

64

19

1

log 2

7,876517

7,087463

6

4.247928

0

25,21191

Values ​​in the final block of three

4

4

4

4

4

log 2

2

2

2

2

2

10

TOTAL bit

40.21191

In this lossless compressed form we received the FSS 15 recording! options for 40.21 bits, the classic notation in the binary number system takes 40.25 bits. We received a compression of 0.04 bits or 1.000951 times.

Further, with the growth of the factorial number system, the compression coefficient also grows. For example, with FSS 60! We get a compressed record of 265.3711 bits against a binary one of 272.13293 bits with a compression coefficient of 1.0254805.

It is especially important to mention that these are minimum compression ratios, since chaotic, unpredictable values ​​in large rows of binary code guarantee us additional recording savings due to the asymmetry we have built in.

This is the construction of the simplest superposition number systems.

And the best part is that we can already compress any chaotic binary code, which means we can further compress the code we have already compressed to the minimum acceptable limits.

4. Ways and methods for further development of binary code compression.

Even the slightest compression of a completely chaotic two-digit code opens up limitless possibilities for enhancing this compression. Here are some possible techniques for enhancing the compression of the superposition number systems shown above:

  1. Designation by compressed blocks of elements (multipliers) of positional number systems with bases of large orders.

  2. Using the asymmetry in the recording of permutations of triple blocks, it is possible to use external correction factors and techniques to change the recording length of the triple blocks themselves to a smaller side.

  3. To find the minimum values ​​of the code length in an asymmetric notation of permutations of blocks of triplets, one can use the notation of not consecutive values, but rather through intervals of both equal and uneven values, such as the digits in the infinite fraction of the number Pi.

  4. Use of factorial number systems of different bit depths throughout the entire length of the compressed code.

It is not possible to calculate and predict how the above superposition number systems can be compressed.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *