20 sats \ 1 reply \ @SpaceHodler 7 Dec 2023 \ on: Challenge: encode a permutation via another permutation, with error correction? bitcoin
How do you measure the difference between two orderings? As the number of inversions?
And what are you trying to maximize here? The number of cards you can lose? Can any subset of card indices be lost?
Thanks for engaging, and good questions. Please help me firm up the definitions.
How do you measure the difference between two orderings? As the number of inversions?
Number of inversions probably makes sense, but I guess it depends. If we come up with some clever way of doing this (e.g. with a non-standard deck of cards) then maybe there is some other measure we could use?
And what are you trying to maximize here? The number of cards you can lose? Can any subset of card indices be lost?
It would be great if some subset of the larger
M-card
deck (M = 54
in the example) could be lost and yet still be able to reconstruct the data
where the data
in the example is a number between 0
and factorial(N)
where N = 13
. I was representing that number as a permutation of 13
objects, but I suppose that part is not very important.Think about
data
as being the entropy+checksum for a bip39 seed. What I want is definitions for encode
and decode
such that:encode(data) = f decode(g) = data
where
f
and g
are not equal, but f
and g
are permutations of {1,2,3,4,...,M}.Does that help clarify?
reply