코딩 이론에서 질스 제모르가 설계·개발한 제모르의 알고리즘은 코드구축에 대한 재귀적 저복잡성 접근법이다.[1]시퍼와 스필먼의 알고리즘에 비해 개선된 것이다.
제모르는 전형적인 Sipser-Spielman의 확장자 코드 구성을 고려했는데, 여기서 기초 그래프는 초당적 그래프다.Sipser와 Spielman은 항상 일정한 오류 부분을 제거하는 간단한 병렬 알고리즘과 함께 점증적으로 좋은 선형 오류 코드의 건설적인 제품군을 소개했다.그 기사는 박사에 기반을 두고 있다.벤카테산 구루스와미의 코스 노트
코드구축
제모르의 알고리즘은 태너 그래프라고 불리는 확장기 그래프의 한 종류를 기반으로 한다.암호구축은 태너가 처음 제안했다.[3]이 코드는 이중 d{\
, 일반 G 에 기초하고 있는데
이 그래프는 양분 그래프다.
=
, where
is the set of vertices and
is the set of edges and
=
and
=
여기서
B 은
정점 집합을 가리킨다. 을(를) 각 그룹의 정점 수(예: = B= A = B 로
설정하십시오
The edge set
be of size
=
and every edge in
has one endpoint in both
and
.
denotes the set of edges containing
.
Assume an ordering on
, therefore ordering will be done on every edges of
for every
. Let finite field
, and for a word
in
단어의 하위 가 E ) 에 의해 색인화되도록 두십시오
그 를( x) {\}로 표시하도록 두십시오
The subset of vertices
and
induces every word
a partition into
non-overlapping sub-words
, where
ranges over the elements of
. For constructing a code
, consider a linear subcode
, which is a
code, where
, the size of the alphabet is
. For any vertex
, let
be some ordering of the
vertices of
adjacent to
. In this code, each bit
is linked wi 의
e 
We can define the code
to be the set of binary vectors
of
such that, for every vertex
of
,
is a code word of
. In this case, we can consider a special case when every edge of
is adjacent to exactly
vertices of
,V {\과
E {\이() 각각 d 그래프
G {\ G의 정점 세트와 에지 세트를 구성한다는
뜻이다
이러한 방식으로 구성된
코드 을를) (, ) 코드라고 부르자
.For a given graph
and a given code
, there are several
codes as there are different ways of ordering edges incident to a given vertex
, i.e.,
. In fact our code
consist of all codewords such that
for all
. The code
is linear
in 선형의 서브코드
에서 생성되므로
코드 은(는 로 정의된다


In this figure,
. It shows the graph
and code
.
G {\ G에서
은(는) 의 인접 매트릭스 중 두 번째로 큰 고유값과 동일하도록
한다
여기서 가장 큰 고유값은 d이다
두 가지 중요한 주장이 이루어진다.
클레임 1

. 을(를) 디지트 가 도 m 이고
하위 코드 노드의 n 을
를 가진 단일 선형 코드()와
r=( k 로 설정
. r {이 각 하위 코드 노드와 연결된 다음
≥ -( - )
.
증명
을(를) 과(와) 같은 선형 코드의 비율로 설정
. 그래프에 하위 코드
노드가 있게 하십시오
.하위 코드의 정도가
인 경우 코드에는( ) 가 있어야 한다.자리
, 각 자릿수 가 ) 의
m {\ m에 연결될 때(n) S 에 S개의
가장자리.각 하위 코드 노드는 총(-) 방정식을
패리티 검사 매트릭스에 기여n - k) {\
이 방정식들은 선형적으로 독립적이지 않을 수 있다.Therefore,

- ( - ) right
즉
양당 그래프의 노드는2 {\이고
에 r r o {\ r=r_
다음과 같이 쓸 수 있다.
클레임 2


이
(가)
블록 코드 d
및 최소 상대 거리 
만일 B 이
() 두 번째로 큰 이 있는 그래프인 경우
, then the code
has rate at least
and minimum relative distance at least }\{
증명
Let
be derived from the
regular graph
. So, the number of variables of
is
and the number of constraints is
. According to A크기γ n{\displaystyle \gamma n}의 G{G\displaystyle}의 vertices의 X{X\displaystyle}하위 집합에서 대부분의(dn2)γ(1− γ)(γ 2+(λ d)론-Chung,[4] 다음 가장자리는 부분 그래프가 담긴 번호 G{G\displaystyle}에 X{X\displaystyle}로 유도된다. )dfrac \(
As a result, any set of
variables will be having at least
constraints as neighbours.So the average number of variables per constraint is :
{\(1-→( {\ (
그래서 만약 d(1− γ)(γ+(λ d))<>γ d{\displaystyle d\left(\gamma+({\dfrac{\lambda}{d}})\left(1-\gamma \right)\right)<>\gamma d}, 상대 중량(γ 2+(λ d)γ(1− γ)){\displaystyle \left(\gamma ^{2}+({\dfrac{\lambda}{d}})\gamma \left(1-\gamma \right)\right)}의 한마디 말 수 있다.아니다a codeword of
. The inequality
is satisfied for
.Therefore,
cannot have a non zero codeword of relative weight
or less.
G
G에서 / d d 디스플레이 이(가) 과() 구분되어 있다고
가정할 수 있다
- 1 이
가) 인
{\ d
- d}의 시퀀스의 명시적으로 구성된다.각 그래프 이
(가) 라마누잔 그래프처럼 임의로 많은 정점을 갖는 그래프.It is called Ramanujan graph as it satisfies the inequality
. Certain expansion properties are visible in graph
as the separation between the eigenvalues
and
. If the graph G은(는) Ramanujan 그래프인
다음, d 이(가) 커짐에
따라 해당 표현식() (1)은
0 {\ 0이
(가) 된다.
제모르의 알고리즘
아래에 쓰여진 반복 디코딩 알고리즘은 의
A A과
B B에서 번갈아 가며,
A}에서
C_{의코드 워드를 수정한 다음
, C로 전환한다.서 그래프의 한 쪽에 있는 과 관련된 가장자리는 해당 쪽의 다른 꼭지점에 충돌하지 않는다
실제로 노드 과
( B {\의 세트가 어떤 순서로 처리되는지는
중요하지 않다.정점 처리도 병행할 수 있다.
The decoder
stands for a decoder for
that recovers correctly with any codewords with less than
errors.
디코더 알고리즘
수신 단어: =( ), w

For
to
do //
is the number of iterations
{ if (
is odd) // Here the algorithm will alternate between its two vertex sets.

else
Iteration
: For every
, let
// Decoding
to its nearest codeword.
}
: z
알고리즘 설명
은(는) 초당적이므로
의
A A}은 에지 세트 =
v A v AE_{v}}}}}}의 파티션을 유도한다.
세트 은(는) 파티션 E =
∪ v B 을(를) 유도한다
.
을 수신 벡터로 하고
N= 을(를) 호출한다
The first iteration of the algorithm consists of applying the complete decoding for the code induced by
for every
. This means that for replacing, for every
, the vector
by one of the closest codewords of
. Since the subsets of edges
are disjoint for
, the decoding of these
subvectors of
m병렬로 처리하다.
반복을 수행하면 새로운 벡터 z이(가) 생성된다
다음 반복은 의 절차를 z 에 적용하는 것으로 구성되지만
A A을(를) 로 대체하는
으로 구성된다
즉, 의 정점에 의해 유도된 모든 하위 벡터를 디코딩하는 것으로 구성된다
다음 반복은 {\의
정점에 의해 유도된 하위 벡터와 의 정점에 의해 유도된 하위 벡터에 평행 디코딩을 번갈아 적용하는 두 단계를 반복한다
참고: [= 및
이
(가) 완전한 양분 그래프라면, 은(는) C 의
제품 코드 자체로서
위의 알고리즘은 제품 코드의 자연 하드 반복 디코딩으로 감소한다.]
Here, the number of iterations,
is
. In general, the above algorithm can correct a code word whose Hamming weight is no more than \alpha N(\delta ^{2}-O({\dfrac{\lambda}{d}})\right)}α의 값에 대해 1{\displaystyle \alpha<1}요. 여기요, 해독 알고리즘 크기 O(N로그 N){O(N\log{N})\displaystyle}과 깊이의 부호 워드가 오류 벡터 주어진를 반환하는 회로 O(로그 N){O(\log{N})\displaystyle}로 구현됩니다. 우리가 가지고 있 2( 1 -) / 미만.
정리
충분히 높은 정도의 어떤α<>에 만약 G{G\displaystyle}은Ramanujan 그래프 1{\displaystyle \alpha<1}, 해독 알고리즘은 O형에{O(\log{n})\displaystyle}roun(로그 n)(α δ시 24)(1− ∈)N{\displaystyle({\dfrac{\alpha \delta_{시}^{2}}{4}})(1-\in)N}오류 해결할 수 있습니다.ds(w여기서 빅 표기법은
에 대한 의존성을 숨긴다.
이는 단일 프로세서에서 선형 시간으로 구현될 수 있으며, 개의
프로세서에서 각 라운드는 일정한 시간에 구현될 수 있다.
증명
디코딩 알고리즘은 에지의 값과 선형성에 무감각하므로 전송된 코드 워드가 모두 0 - 벡터라고 가정할 수 있다.수신된 코드 를 w 이(가) 되도록 하십시오
디코딩하는 동안 잘못된 값을 갖는 에지 집합을 고려한다.여기서 잘못된 값으로, 우리는 비트
중 을 의미한다= 코드 워드의 초기 값
, , … w가 디코딩의 첫 번째 단계
, 두 번째 단계 이후의 값이 되도록
한다Here,
, and
여기 i 는 i h 라운드에서 코드 워드를
성공적으로 해독하지 못한 정점 집합에 해당한다
.위의 알고리즘 < 을
(를) 반복할 때마다 실패한 정점 수가 수정된다.는 0 > > > S}}이(가) 감소 순서임을
증명할 수 있다.실제로 + ( 2 -) i
우리가 추측하고 있듯이 <
위의 방정식은 기하학적 감소 순서에 있다.따라서 < 이
가) 는 g 2 - {\\alpha 라운드 이상이
필요하다.Furthermore,
, and if we implement the
round in
time, then the total sequential running time will be linear.
제모어 알고리즘의 단점
- 디코더 알고리즘의
반복 이(가) 걸리는 횟수는[ )/( (- ))]이고 이기 때문에 시간이 오래 걸린다. - 제모르의 해독 알고리즘은 지우개를 해독하는 것이 어렵다는 것을 알게 된다.알고리즘을 개선할 수 있는 자세한 방법은
에 [5]부여된
참고 항목
참조