How to reverse shuffle 1500 bytes (numbers 0..255)? [on hold] The 2019 Stack Overflow Developer Survey Results Are In

What is preventing me from simply constructing a hash that's lower than the current target?

How to notate time signature switching consistently every measure

Can you cast a spell on someone in the Ethereal Plane, if you are on the Material Plane and have the True Seeing spell active?

Can we generate random numbers using irrational numbers like π and e?

Is it a good practice to use a static variable in a Test Class and use that in the actual class instead of Test.isRunningTest()?

How much of the clove should I use when using big garlic heads?

What is the motivation for a law requiring 2 parties to consent for recording a conversation

Button changing its text & action. Good or terrible?

What could be the right powersource for 15 seconds lifespan disposable giant chainsaw?

The phrase "to the numbers born"?

Are spiders unable to hurt humans, especially very small spiders?

Match Roman Numerals

How come people say “Would of”?

Can there be female White Walkers?

Mathematics of imaging the black hole

What is the meaning of Triage in Cybersec world?

Are there any other methods to apply to solving simultaneous equations?

Why are there uneven bright areas in this photo of black hole?

Does adding complexity mean a more secure cipher?

If a sorcerer casts the Banishment spell on a PC while in Avernus, does the PC return to their home plane?

How can I add encounters in the Lost Mine of Phandelver campaign without giving PCs too much XP?

Did Scotland spend $250,000 for the slogan "Welcome to Scotland"?

Why can't devices on different VLANs, but on the same subnet, communicate?

Why “相同意思的词” is called “同义词” instead of "同意词"?



How to reverse shuffle 1500 bytes (numbers 0..255)? [on hold]



The 2019 Stack Overflow Developer Survey Results Are In










-1












$begingroup$


The problem is purely mathematic because they are the dominant combinatorics and probability. It is possible to solve the problem without knowing programming, but it is much easier to solve it by programming.



In the following 40 byte group, there are 3 pairs of the same bytes:



248, 195, 38, 169, 202, 202, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 239, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 146, 146, 183, 209.



A pair of bytes 169 202 is a pair of different bytes. A pair of bytes 202 202 is a pair of the same bytes.



Bytes must be shuffled so that the pairs of the same bytes do not appear. The resulting bytes must be composed only of pairs of different bytes!



Example of resultant bytes (swap 2*n and 2*n+1 byte, n=1..19) :



248, 38, 195, 202, 169, 133, 202, 232, 240, 142, 204, 86, 40, 215, 89, 15, 138, 123, 217, 183, 33, 239, 105, 229, 239, 226, 192, 23, 191, 12, 158, 222, 94, 6, 253, 146, 113, 183, 146, 209.



The procedure must be reversible. Instead of 40 bytes (in case of example), the procedure should be applied to a group of 1500 bytes. In a group of 1500 bytes, most pairs are different bytes. There are also pairs with the same bytes, but there are no more than 10 and they do not know where they are in the group. Multiple consecutive same bytes do not exist. In a group of 1500 bytes, all bytes appeared at least once. If the algorithm has to use additional numbers to shuffle a group of 1500 bytes, then these numbers must be the same for each group. The algorithm does not have to be successful in every call. It is enough that from 8 consecutive different groups of 1500 bytes it succeeds to shuffle any two.



Any group of bytes from any file type can be converted into a group as described in the problem. A group of such 1500 bytes is of interest for compression and encryption.



The problem is that there is recombination of bytes - the same pairs are eliminated at the places where they were, but appear elsewhere. This problem occurs with larger groups of bytes. A 40-byte group will solve almost every well-known algorithm for shuffling numbers, but a group of 1500 bytes has not solved any one!



It is desirable to provide a solution in delphi 7 code or pseudocode.



The following procedure sufficiently well model a group of 1500 bytes:



var
b : array [1..1500] of byte;

procedure MakePseudorandomNumbersWithEqualPairs (sum : longint; max : word);
var
i, lastb : longint;
range : word;
begin
Randomize; // Prepare a random number generator
lastb := sum; // How many total bytes
range := max; // Bytes from the range 0..max-1
for i := 1 to lastb do // They can be the same neighbors!
b[i] := Random (range);
end;


After the procedure call:



MakePseudorandomNumbersWithEqualPairs (1500, 256);


array b contains bytes that model the given group.



What I have tried:



const
lastb = 1500;
var
b, c : array [1..lastb] of byte;

procedure PerfectShuffle; // Perfect shuffle
var
i : integer;

begin
if (lastb mod 2) = 0 // only if is a even number of bytes!
then
begin
for i := 1 to (lastb div 2) do
c[i*2-1] := b[i];
for i := (lastb div 2)+1 to lastb do
c[i*2-lastb] := b[i];

for i := 1 to lastb do
b[i] := c[i];
end;









share|cite|improve this question









New contributor




M. Golub is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$



put on hold as off-topic by Don Thousand, Lee David Chung Lin, Cesareo, Joel Reyes Noche, Shaun Apr 8 at 10:08


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "This question is not about mathematics, within the scope defined in the help center." – Lee David Chung Lin, Cesareo, Joel Reyes Noche, Shaun
If this question can be reworded to fit the rules in the help center, please edit the question.















  • $begingroup$
    This seems more of a computer science question then a math one...
    $endgroup$
    – siegehalver
    Apr 7 at 21:16










  • $begingroup$
    "It does not need the algorithm to succeed every time." If the input contains two same bytes consecutively, then throw exception.
    $endgroup$
    – peterwhy
    Apr 7 at 21:19










  • $begingroup$
    It's always a different group of 1500 bytes and it's not known where pairs are or how many of them are right. It only knows that there are no more than 10. The problem is that the algorithm must be reversible for any group of 1500 bytes that meets the conditions and that there can be different additional bytes for each group at the input.
    $endgroup$
    – M. Golub
    Apr 7 at 21:35










  • $begingroup$
    I generally do not downvote, but this is a case that touches the border. Please reorder the problem so that it is placed in a mathematical framework, starting with given data, and then explaining the problem. It may be a good idea to give an example with less bits / bytes. It is hard to understand and put in a coherent place and context pieces of information like "different bytes", "initial ... bytes", "mix", "can be retrieved by the same or some other algorithm". All further conditions tend to change the imprecise rules of the game, as the reader tries to catch them...
    $endgroup$
    – dan_fulea
    Apr 7 at 21:38










  • $begingroup$
    Reverse shuffle 1500 bytes with 6 pairs: 248, 195, 38, 169, 202, 42, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 220, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 183, 146, 138, 209, 156, 245, 249, 1, 180, 210, 46, 72, 238, 189, 142, 225, 153, 178, 1, 117, 21, 185, 6, 19, 166, 110, 146, 35, 216, 82, 136, 24, 94, 251, 131, 66, 104, 51, 124, 116, 41, 104, 209, 2, 153, 41, 93, 19, 155, 198, 64, 41, 36, 171, 48, 100, 87, 118, 64, 62, 146, 233, 151, 164, 116, 122, 203, 231, 45, 198, 96, 227, 2, 41, 200, 207, 92, 247, 78, 204, 253, 72, ...
    $endgroup$
    – M. Golub
    Apr 7 at 21:49















-1












$begingroup$


The problem is purely mathematic because they are the dominant combinatorics and probability. It is possible to solve the problem without knowing programming, but it is much easier to solve it by programming.



In the following 40 byte group, there are 3 pairs of the same bytes:



248, 195, 38, 169, 202, 202, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 239, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 146, 146, 183, 209.



A pair of bytes 169 202 is a pair of different bytes. A pair of bytes 202 202 is a pair of the same bytes.



Bytes must be shuffled so that the pairs of the same bytes do not appear. The resulting bytes must be composed only of pairs of different bytes!



Example of resultant bytes (swap 2*n and 2*n+1 byte, n=1..19) :



248, 38, 195, 202, 169, 133, 202, 232, 240, 142, 204, 86, 40, 215, 89, 15, 138, 123, 217, 183, 33, 239, 105, 229, 239, 226, 192, 23, 191, 12, 158, 222, 94, 6, 253, 146, 113, 183, 146, 209.



The procedure must be reversible. Instead of 40 bytes (in case of example), the procedure should be applied to a group of 1500 bytes. In a group of 1500 bytes, most pairs are different bytes. There are also pairs with the same bytes, but there are no more than 10 and they do not know where they are in the group. Multiple consecutive same bytes do not exist. In a group of 1500 bytes, all bytes appeared at least once. If the algorithm has to use additional numbers to shuffle a group of 1500 bytes, then these numbers must be the same for each group. The algorithm does not have to be successful in every call. It is enough that from 8 consecutive different groups of 1500 bytes it succeeds to shuffle any two.



Any group of bytes from any file type can be converted into a group as described in the problem. A group of such 1500 bytes is of interest for compression and encryption.



The problem is that there is recombination of bytes - the same pairs are eliminated at the places where they were, but appear elsewhere. This problem occurs with larger groups of bytes. A 40-byte group will solve almost every well-known algorithm for shuffling numbers, but a group of 1500 bytes has not solved any one!



It is desirable to provide a solution in delphi 7 code or pseudocode.



The following procedure sufficiently well model a group of 1500 bytes:



var
b : array [1..1500] of byte;

procedure MakePseudorandomNumbersWithEqualPairs (sum : longint; max : word);
var
i, lastb : longint;
range : word;
begin
Randomize; // Prepare a random number generator
lastb := sum; // How many total bytes
range := max; // Bytes from the range 0..max-1
for i := 1 to lastb do // They can be the same neighbors!
b[i] := Random (range);
end;


After the procedure call:



MakePseudorandomNumbersWithEqualPairs (1500, 256);


array b contains bytes that model the given group.



What I have tried:



const
lastb = 1500;
var
b, c : array [1..lastb] of byte;

procedure PerfectShuffle; // Perfect shuffle
var
i : integer;

begin
if (lastb mod 2) = 0 // only if is a even number of bytes!
then
begin
for i := 1 to (lastb div 2) do
c[i*2-1] := b[i];
for i := (lastb div 2)+1 to lastb do
c[i*2-lastb] := b[i];

for i := 1 to lastb do
b[i] := c[i];
end;









share|cite|improve this question









New contributor




M. Golub is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$



put on hold as off-topic by Don Thousand, Lee David Chung Lin, Cesareo, Joel Reyes Noche, Shaun Apr 8 at 10:08


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "This question is not about mathematics, within the scope defined in the help center." – Lee David Chung Lin, Cesareo, Joel Reyes Noche, Shaun
If this question can be reworded to fit the rules in the help center, please edit the question.















  • $begingroup$
    This seems more of a computer science question then a math one...
    $endgroup$
    – siegehalver
    Apr 7 at 21:16










  • $begingroup$
    "It does not need the algorithm to succeed every time." If the input contains two same bytes consecutively, then throw exception.
    $endgroup$
    – peterwhy
    Apr 7 at 21:19










  • $begingroup$
    It's always a different group of 1500 bytes and it's not known where pairs are or how many of them are right. It only knows that there are no more than 10. The problem is that the algorithm must be reversible for any group of 1500 bytes that meets the conditions and that there can be different additional bytes for each group at the input.
    $endgroup$
    – M. Golub
    Apr 7 at 21:35










  • $begingroup$
    I generally do not downvote, but this is a case that touches the border. Please reorder the problem so that it is placed in a mathematical framework, starting with given data, and then explaining the problem. It may be a good idea to give an example with less bits / bytes. It is hard to understand and put in a coherent place and context pieces of information like "different bytes", "initial ... bytes", "mix", "can be retrieved by the same or some other algorithm". All further conditions tend to change the imprecise rules of the game, as the reader tries to catch them...
    $endgroup$
    – dan_fulea
    Apr 7 at 21:38










  • $begingroup$
    Reverse shuffle 1500 bytes with 6 pairs: 248, 195, 38, 169, 202, 42, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 220, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 183, 146, 138, 209, 156, 245, 249, 1, 180, 210, 46, 72, 238, 189, 142, 225, 153, 178, 1, 117, 21, 185, 6, 19, 166, 110, 146, 35, 216, 82, 136, 24, 94, 251, 131, 66, 104, 51, 124, 116, 41, 104, 209, 2, 153, 41, 93, 19, 155, 198, 64, 41, 36, 171, 48, 100, 87, 118, 64, 62, 146, 233, 151, 164, 116, 122, 203, 231, 45, 198, 96, 227, 2, 41, 200, 207, 92, 247, 78, 204, 253, 72, ...
    $endgroup$
    – M. Golub
    Apr 7 at 21:49













-1












-1








-1





$begingroup$


The problem is purely mathematic because they are the dominant combinatorics and probability. It is possible to solve the problem without knowing programming, but it is much easier to solve it by programming.



In the following 40 byte group, there are 3 pairs of the same bytes:



248, 195, 38, 169, 202, 202, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 239, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 146, 146, 183, 209.



A pair of bytes 169 202 is a pair of different bytes. A pair of bytes 202 202 is a pair of the same bytes.



Bytes must be shuffled so that the pairs of the same bytes do not appear. The resulting bytes must be composed only of pairs of different bytes!



Example of resultant bytes (swap 2*n and 2*n+1 byte, n=1..19) :



248, 38, 195, 202, 169, 133, 202, 232, 240, 142, 204, 86, 40, 215, 89, 15, 138, 123, 217, 183, 33, 239, 105, 229, 239, 226, 192, 23, 191, 12, 158, 222, 94, 6, 253, 146, 113, 183, 146, 209.



The procedure must be reversible. Instead of 40 bytes (in case of example), the procedure should be applied to a group of 1500 bytes. In a group of 1500 bytes, most pairs are different bytes. There are also pairs with the same bytes, but there are no more than 10 and they do not know where they are in the group. Multiple consecutive same bytes do not exist. In a group of 1500 bytes, all bytes appeared at least once. If the algorithm has to use additional numbers to shuffle a group of 1500 bytes, then these numbers must be the same for each group. The algorithm does not have to be successful in every call. It is enough that from 8 consecutive different groups of 1500 bytes it succeeds to shuffle any two.



Any group of bytes from any file type can be converted into a group as described in the problem. A group of such 1500 bytes is of interest for compression and encryption.



The problem is that there is recombination of bytes - the same pairs are eliminated at the places where they were, but appear elsewhere. This problem occurs with larger groups of bytes. A 40-byte group will solve almost every well-known algorithm for shuffling numbers, but a group of 1500 bytes has not solved any one!



It is desirable to provide a solution in delphi 7 code or pseudocode.



The following procedure sufficiently well model a group of 1500 bytes:



var
b : array [1..1500] of byte;

procedure MakePseudorandomNumbersWithEqualPairs (sum : longint; max : word);
var
i, lastb : longint;
range : word;
begin
Randomize; // Prepare a random number generator
lastb := sum; // How many total bytes
range := max; // Bytes from the range 0..max-1
for i := 1 to lastb do // They can be the same neighbors!
b[i] := Random (range);
end;


After the procedure call:



MakePseudorandomNumbersWithEqualPairs (1500, 256);


array b contains bytes that model the given group.



What I have tried:



const
lastb = 1500;
var
b, c : array [1..lastb] of byte;

procedure PerfectShuffle; // Perfect shuffle
var
i : integer;

begin
if (lastb mod 2) = 0 // only if is a even number of bytes!
then
begin
for i := 1 to (lastb div 2) do
c[i*2-1] := b[i];
for i := (lastb div 2)+1 to lastb do
c[i*2-lastb] := b[i];

for i := 1 to lastb do
b[i] := c[i];
end;









share|cite|improve this question









New contributor




M. Golub is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




The problem is purely mathematic because they are the dominant combinatorics and probability. It is possible to solve the problem without knowing programming, but it is much easier to solve it by programming.



In the following 40 byte group, there are 3 pairs of the same bytes:



248, 195, 38, 169, 202, 202, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 239, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 146, 146, 183, 209.



A pair of bytes 169 202 is a pair of different bytes. A pair of bytes 202 202 is a pair of the same bytes.



Bytes must be shuffled so that the pairs of the same bytes do not appear. The resulting bytes must be composed only of pairs of different bytes!



Example of resultant bytes (swap 2*n and 2*n+1 byte, n=1..19) :



248, 38, 195, 202, 169, 133, 202, 232, 240, 142, 204, 86, 40, 215, 89, 15, 138, 123, 217, 183, 33, 239, 105, 229, 239, 226, 192, 23, 191, 12, 158, 222, 94, 6, 253, 146, 113, 183, 146, 209.



The procedure must be reversible. Instead of 40 bytes (in case of example), the procedure should be applied to a group of 1500 bytes. In a group of 1500 bytes, most pairs are different bytes. There are also pairs with the same bytes, but there are no more than 10 and they do not know where they are in the group. Multiple consecutive same bytes do not exist. In a group of 1500 bytes, all bytes appeared at least once. If the algorithm has to use additional numbers to shuffle a group of 1500 bytes, then these numbers must be the same for each group. The algorithm does not have to be successful in every call. It is enough that from 8 consecutive different groups of 1500 bytes it succeeds to shuffle any two.



Any group of bytes from any file type can be converted into a group as described in the problem. A group of such 1500 bytes is of interest for compression and encryption.



The problem is that there is recombination of bytes - the same pairs are eliminated at the places where they were, but appear elsewhere. This problem occurs with larger groups of bytes. A 40-byte group will solve almost every well-known algorithm for shuffling numbers, but a group of 1500 bytes has not solved any one!



It is desirable to provide a solution in delphi 7 code or pseudocode.



The following procedure sufficiently well model a group of 1500 bytes:



var
b : array [1..1500] of byte;

procedure MakePseudorandomNumbersWithEqualPairs (sum : longint; max : word);
var
i, lastb : longint;
range : word;
begin
Randomize; // Prepare a random number generator
lastb := sum; // How many total bytes
range := max; // Bytes from the range 0..max-1
for i := 1 to lastb do // They can be the same neighbors!
b[i] := Random (range);
end;


After the procedure call:



MakePseudorandomNumbersWithEqualPairs (1500, 256);


array b contains bytes that model the given group.



What I have tried:



const
lastb = 1500;
var
b, c : array [1..lastb] of byte;

procedure PerfectShuffle; // Perfect shuffle
var
i : integer;

begin
if (lastb mod 2) = 0 // only if is a even number of bytes!
then
begin
for i := 1 to (lastb div 2) do
c[i*2-1] := b[i];
for i := (lastb div 2)+1 to lastb do
c[i*2-lastb] := b[i];

for i := 1 to lastb do
b[i] := c[i];
end;






mixed-integer-programming






share|cite|improve this question









New contributor




M. Golub is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|cite|improve this question









New contributor




M. Golub is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|cite|improve this question




share|cite|improve this question








edited 2 days ago







M. Golub













New contributor




M. Golub is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Apr 7 at 21:05









M. GolubM. Golub

12




12




New contributor




M. Golub is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





M. Golub is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






M. Golub is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




put on hold as off-topic by Don Thousand, Lee David Chung Lin, Cesareo, Joel Reyes Noche, Shaun Apr 8 at 10:08


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "This question is not about mathematics, within the scope defined in the help center." – Lee David Chung Lin, Cesareo, Joel Reyes Noche, Shaun
If this question can be reworded to fit the rules in the help center, please edit the question.







put on hold as off-topic by Don Thousand, Lee David Chung Lin, Cesareo, Joel Reyes Noche, Shaun Apr 8 at 10:08


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "This question is not about mathematics, within the scope defined in the help center." – Lee David Chung Lin, Cesareo, Joel Reyes Noche, Shaun
If this question can be reworded to fit the rules in the help center, please edit the question.











  • $begingroup$
    This seems more of a computer science question then a math one...
    $endgroup$
    – siegehalver
    Apr 7 at 21:16










  • $begingroup$
    "It does not need the algorithm to succeed every time." If the input contains two same bytes consecutively, then throw exception.
    $endgroup$
    – peterwhy
    Apr 7 at 21:19










  • $begingroup$
    It's always a different group of 1500 bytes and it's not known where pairs are or how many of them are right. It only knows that there are no more than 10. The problem is that the algorithm must be reversible for any group of 1500 bytes that meets the conditions and that there can be different additional bytes for each group at the input.
    $endgroup$
    – M. Golub
    Apr 7 at 21:35










  • $begingroup$
    I generally do not downvote, but this is a case that touches the border. Please reorder the problem so that it is placed in a mathematical framework, starting with given data, and then explaining the problem. It may be a good idea to give an example with less bits / bytes. It is hard to understand and put in a coherent place and context pieces of information like "different bytes", "initial ... bytes", "mix", "can be retrieved by the same or some other algorithm". All further conditions tend to change the imprecise rules of the game, as the reader tries to catch them...
    $endgroup$
    – dan_fulea
    Apr 7 at 21:38










  • $begingroup$
    Reverse shuffle 1500 bytes with 6 pairs: 248, 195, 38, 169, 202, 42, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 220, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 183, 146, 138, 209, 156, 245, 249, 1, 180, 210, 46, 72, 238, 189, 142, 225, 153, 178, 1, 117, 21, 185, 6, 19, 166, 110, 146, 35, 216, 82, 136, 24, 94, 251, 131, 66, 104, 51, 124, 116, 41, 104, 209, 2, 153, 41, 93, 19, 155, 198, 64, 41, 36, 171, 48, 100, 87, 118, 64, 62, 146, 233, 151, 164, 116, 122, 203, 231, 45, 198, 96, 227, 2, 41, 200, 207, 92, 247, 78, 204, 253, 72, ...
    $endgroup$
    – M. Golub
    Apr 7 at 21:49
















  • $begingroup$
    This seems more of a computer science question then a math one...
    $endgroup$
    – siegehalver
    Apr 7 at 21:16










  • $begingroup$
    "It does not need the algorithm to succeed every time." If the input contains two same bytes consecutively, then throw exception.
    $endgroup$
    – peterwhy
    Apr 7 at 21:19










  • $begingroup$
    It's always a different group of 1500 bytes and it's not known where pairs are or how many of them are right. It only knows that there are no more than 10. The problem is that the algorithm must be reversible for any group of 1500 bytes that meets the conditions and that there can be different additional bytes for each group at the input.
    $endgroup$
    – M. Golub
    Apr 7 at 21:35










  • $begingroup$
    I generally do not downvote, but this is a case that touches the border. Please reorder the problem so that it is placed in a mathematical framework, starting with given data, and then explaining the problem. It may be a good idea to give an example with less bits / bytes. It is hard to understand and put in a coherent place and context pieces of information like "different bytes", "initial ... bytes", "mix", "can be retrieved by the same or some other algorithm". All further conditions tend to change the imprecise rules of the game, as the reader tries to catch them...
    $endgroup$
    – dan_fulea
    Apr 7 at 21:38










  • $begingroup$
    Reverse shuffle 1500 bytes with 6 pairs: 248, 195, 38, 169, 202, 42, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 220, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 183, 146, 138, 209, 156, 245, 249, 1, 180, 210, 46, 72, 238, 189, 142, 225, 153, 178, 1, 117, 21, 185, 6, 19, 166, 110, 146, 35, 216, 82, 136, 24, 94, 251, 131, 66, 104, 51, 124, 116, 41, 104, 209, 2, 153, 41, 93, 19, 155, 198, 64, 41, 36, 171, 48, 100, 87, 118, 64, 62, 146, 233, 151, 164, 116, 122, 203, 231, 45, 198, 96, 227, 2, 41, 200, 207, 92, 247, 78, 204, 253, 72, ...
    $endgroup$
    – M. Golub
    Apr 7 at 21:49















$begingroup$
This seems more of a computer science question then a math one...
$endgroup$
– siegehalver
Apr 7 at 21:16




$begingroup$
This seems more of a computer science question then a math one...
$endgroup$
– siegehalver
Apr 7 at 21:16












$begingroup$
"It does not need the algorithm to succeed every time." If the input contains two same bytes consecutively, then throw exception.
$endgroup$
– peterwhy
Apr 7 at 21:19




$begingroup$
"It does not need the algorithm to succeed every time." If the input contains two same bytes consecutively, then throw exception.
$endgroup$
– peterwhy
Apr 7 at 21:19












$begingroup$
It's always a different group of 1500 bytes and it's not known where pairs are or how many of them are right. It only knows that there are no more than 10. The problem is that the algorithm must be reversible for any group of 1500 bytes that meets the conditions and that there can be different additional bytes for each group at the input.
$endgroup$
– M. Golub
Apr 7 at 21:35




$begingroup$
It's always a different group of 1500 bytes and it's not known where pairs are or how many of them are right. It only knows that there are no more than 10. The problem is that the algorithm must be reversible for any group of 1500 bytes that meets the conditions and that there can be different additional bytes for each group at the input.
$endgroup$
– M. Golub
Apr 7 at 21:35












$begingroup$
I generally do not downvote, but this is a case that touches the border. Please reorder the problem so that it is placed in a mathematical framework, starting with given data, and then explaining the problem. It may be a good idea to give an example with less bits / bytes. It is hard to understand and put in a coherent place and context pieces of information like "different bytes", "initial ... bytes", "mix", "can be retrieved by the same or some other algorithm". All further conditions tend to change the imprecise rules of the game, as the reader tries to catch them...
$endgroup$
– dan_fulea
Apr 7 at 21:38




$begingroup$
I generally do not downvote, but this is a case that touches the border. Please reorder the problem so that it is placed in a mathematical framework, starting with given data, and then explaining the problem. It may be a good idea to give an example with less bits / bytes. It is hard to understand and put in a coherent place and context pieces of information like "different bytes", "initial ... bytes", "mix", "can be retrieved by the same or some other algorithm". All further conditions tend to change the imprecise rules of the game, as the reader tries to catch them...
$endgroup$
– dan_fulea
Apr 7 at 21:38












$begingroup$
Reverse shuffle 1500 bytes with 6 pairs: 248, 195, 38, 169, 202, 42, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 220, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 183, 146, 138, 209, 156, 245, 249, 1, 180, 210, 46, 72, 238, 189, 142, 225, 153, 178, 1, 117, 21, 185, 6, 19, 166, 110, 146, 35, 216, 82, 136, 24, 94, 251, 131, 66, 104, 51, 124, 116, 41, 104, 209, 2, 153, 41, 93, 19, 155, 198, 64, 41, 36, 171, 48, 100, 87, 118, 64, 62, 146, 233, 151, 164, 116, 122, 203, 231, 45, 198, 96, 227, 2, 41, 200, 207, 92, 247, 78, 204, 253, 72, ...
$endgroup$
– M. Golub
Apr 7 at 21:49




$begingroup$
Reverse shuffle 1500 bytes with 6 pairs: 248, 195, 38, 169, 202, 42, 133, 240, 232, 204, 142, 40, 86, 89, 215, 138, 15, 217, 123, 33, 183, 105, 239, 220, 229, 192, 226, 191, 23, 158, 12, 94, 222, 253, 6, 113, 183, 146, 138, 209, 156, 245, 249, 1, 180, 210, 46, 72, 238, 189, 142, 225, 153, 178, 1, 117, 21, 185, 6, 19, 166, 110, 146, 35, 216, 82, 136, 24, 94, 251, 131, 66, 104, 51, 124, 116, 41, 104, 209, 2, 153, 41, 93, 19, 155, 198, 64, 41, 36, 171, 48, 100, 87, 118, 64, 62, 146, 233, 151, 164, 116, 122, 203, 231, 45, 198, 96, 227, 2, 41, 200, 207, 92, 247, 78, 204, 253, 72, ...
$endgroup$
– M. Golub
Apr 7 at 21:49










0






active

oldest

votes

















0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes

Popular posts from this blog

Bosc Connection Yimello Approaching Angry The produce zaps the market. 구성 기록되다 변경...

WordPress Information needed

Hidroelektrana Sadržaj Povijest | Podjela hidroelektrana | Snaga dobivena u hidroelektranama | Dijelovi hidroelektrane | Uloga hidroelektrana u suvremenom svijetu | Prednosti hidroelektrana | Nedostaci hidroelektrana | Države s najvećom proizvodnjom hidro-električne energije | Deset najvećih hidroelektrana u svijetu | Hidroelektrane u Hrvatskoj | Izvori | Poveznice | Vanjske poveznice | Navigacijski izbornikTechnical Report, Version 2Zajedničkom poslužiteljuHidroelektranaHEP Proizvodnja d.o.o. - Hidroelektrane u Hrvatskoj