Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
ds2-notes
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
datovky
ds2-notes
Commits
593d1521
Commit
593d1521
authored
3 years ago
by
Filip Stedronsky
Browse files
Options
Downloads
Patches
Plain Diff
Succinct: SOLE: fix redundancy calculations
parent
acb06725
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
fs-succinct/sole_even.asy
+6
-5
6 additions, 5 deletions
fs-succinct/sole_even.asy
fs-succinct/succinct.tex
+10
-14
10 additions, 14 deletions
fs-succinct/succinct.tex
with
16 additions
and
19 deletions
fs-succinct/sole_even.asy
+
6
−
5
View file @
593d1521
import sole_common;
import sole_common;
blocks(0, "...", "B", "B", "EOF");
blocks(0, "...", "B", "B", "EOF");
mixarrow(0, 1);
thruarrows(0, 1, 3);
thruarrow(0,3);
blocks(1, "...", "B+1", "B+1", "B+1", "0");
blocks(1, "...", "B+i", "B-i", "B+j");
mixarrows(1, 1, 4);
mixarrows(1, 0, 4);
blocks(2, "...", "B-i", "B+j", "B-j", "B+k", "0");
blocks(2, "...", "B", "B", "B");
mixarrows(2, 0, 6);
blocks(3, "...", "B", "B", "B", "B", "B");
This diff is collapsed.
Click to expand it.
fs-succinct/succinct.tex
+
10
−
14
View file @
593d1521
...
@@ -165,28 +165,24 @@ odd-numbered blocks have smaller alphabets than even-numbered ones. The second
...
@@ -165,28 +165,24 @@ odd-numbered blocks have smaller alphabets than even-numbered ones. The second
pass runs phase shifted by one block and converts the variable-alphabet blocks
pass runs phase shifted by one block and converts the variable-alphabet blocks
into blocks with alphabet
$
[
B
]
$
.
into blocks with alphabet
$
[
B
]
$
.
What is the redundancy of this scheme? That depends on whether the original
What is the redundancy of this scheme?
number of blocks (after padding) is even or odd. Figure
\figref
{
sole
}
showed
the case for an odd number. For an even number, the ending is a little bit different
(fig.
\figref
{
sole
_
even
}
).
You can easily check that this is reversible: after performing the inverse of
pass 2, the last block will always be either 0 (for the odd case) or EOF (for
the even case).
\figure
[sole_even]
{
sole
_
even.pdf
}{}{
SOLE alphabet re-encoding scheme, alternate ending with even number of blocks
}
Now we can finally analyze redundancy. Let us count how the number of blocks
Now we can finally analyze redundancy. Let us count how the number of blocks
increases throughout the encoding passes
.
increases throughout the encoding passes
:
\tightlist
{
o
}
\tightlist
{
o
}
\:
If the original length was a multiple of
$
b
$
, we must add one block to complete padding.
\:
If the original length was a multiple of
$
b
$
, we must add one block to complete padding.
\:
We always add one block with EOF character.
\:
We always add one block with EOF character.
\:
In
the first pass,
number of blocks does not increase
.
\:
Before
the first pass,
we may need to add an extra padding block to make number of blocks even
.
\:
In
the second pass, we
may need to
add an extra padding block to make number of blocks odd.
\:
Before
the second pass, we
always
add an extra padding block to make number of blocks odd.
\endlist
\endlist
In total, we add at most
3
blocks. Thus
$
r
(
n
)
\le
3
B
$
. That is a constant
In total, we add at most
4
blocks. Thus
$
r
(
n
)
\le
4
b
$
. That is a constant
and thus we have a succinct scheme.
and thus we have a succinct scheme.
Also not that this representation is locally decodable and modifiable -- each input
block affects at most 4 output blocks.
Now we need to check that all the alphabet translations are valid.
\section
{
Succinct representation of arbitrary-alphabet strings
}
\section
{
Succinct representation of arbitrary-alphabet strings
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment