리스트 디코딩
List decoding![]() |
부호화 이론에서 목록 복호화는 큰 오류율을 위한 오류 수정 코드의 고유한 복호화 대안입니다.이 개념은 1950년대에 Elias에 의해 제안되었다.목록 디코딩의 주요 개념은 하나의 가능한 메시지를 출력하는 대신 디코딩 알고리즘이 하나의 가능한 가능성을 출력한다는 것입니다.이것에 의해, 일의의 디코딩에 의해서 허가된 수보다 많은 에러를 처리할 수 있습니다.
수신된 단어에서 하나의 유효한 코드 워드를 출력하도록 제약되는 코딩 이론의 고유한 디코딩 모델은 더 많은 양의 오류를 허용할 수 없습니다.이는 확률적 소음 모델(섀넌이 제안)과 적대적 소음 모델(리처드 해밍이 고려)에 대한 오류 수정 성능의 차이를 초래했다.90년대 중반 이후 부호화 이론 커뮤니티에 의한 상당한 알고리즘의 진보가 이 격차를 메워왔다.이 진행의 대부분은 리스트 디코딩이라고 불리는 완화된 오류 정정 모델에 기초하고 있으며, 여기서 디코더는 실제 전송된 코드워드가 출력 목록에 포함되는 최악의 병리학적 오류 패턴에 대한 코드워드 목록을 출력한다.다만, 일반적인 에러 패턴의 경우, 디코더는, 수신된 워드가 주어졌을 때에, 독자적인 단일의 코드 워드를 출력합니다.이것은 거의 항상 해당됩니다(다만, 이것은 모든 코드에 대해서 사실이라고는 알려져 있지 않습니다).여기서의 개선은 오류 수정 성능이 두 배로 향상된다는 점에서 중요합니다.이는 디코더가 최소 거리의 절반 배리어에 의해 제한되지 않기 때문입니다.이 모델은 코드워드 목록이 있는 것이 포기하는 것보다 확실히 더 낫기 때문에 매우 매력적입니다.리스트 디코딩의 개념은 복잡성 이론에서 많은 흥미로운 응용 분야를 가지고 있다.
채널 노이즈를 모델링하는 방법은 신뢰할 수 있는 통신이 가능한 속도를 제어한다는 점에서 중요한 역할을 합니다.채널 동작을 모델링하는 데는 크게 두 가지 생각이 있습니다.
- 채널의 확률적 거동이 잘 알려져 있고 너무 많거나 적은 오류 발생 확률이 낮다는 점에서 채널 소음이 정확하게 모델링되는 섀넌이 연구한 확률적 소음 모델
- 채널이 총 오류 수에 제한되는 코드워드를 임의로 손상시키는 대항마 역할을 하는 Hamming에 의해 고려된 최악의 경우 또는 적대적 소음 모델.
리스트 디코딩의 하이라이트는 적대적 소음 조건에서도 수정할 수 있는 비율과 오류 비율 사이의 정보 이론 최적 트레이드오프를 달성할 수 있다는 것이다.따라서 이는 어떤 의미에서 더 약한 확률적 소음 모델의 경우에 가능한 한 오류 수정 성능을 개선하는 것과 같다.
수학 공식화
C를( (\, 오류 수정 코드라고 . 즉 (\는 n(\ n k(\ k 및 최소 의 코드입니다.{\ \ \Sigma。목록 디코딩 문제는 다음과 같이 공식화할 수 있습니다.
입력: x x \ 제한 e e를 받았습니다.
: x{의 모든 x, 2, m {\},{\ x로부터의 해밍 거리가 e {\ e인 목록.
리스트 디코딩 동기
된 y\ y일부 전송된 c c를 노이즈 버전으로 지정하면 디코더는 수신된 워드에 가장 가까운 코드워드에 베팅하여 전송된 코드워드를 출력하려고 합니다.두 코드워드 사이의 해밍 거리는 디코더에 의해 수신된 워드가 주어졌을 때 가장 가까운 코드워드를 찾기 위한 메트릭으로 사용됩니다.d{\d가 C의 최소 해밍 거리인 , d c_와 c2 {\ d의 가 다른 과(\ 가 존재합니다.여기서 y(\y)가 c1(\}) 에서 등거리에 있는 경우 디코더는 })과 중 것을 결정할 수 없기 때문에 명확한 디코딩이 불가능합니다.원래의 송신 코드 워드로 출력합니다.그 결과, 최소 거리의 절반이 조합 장벽으로서 기능해, 그 이상의 명확한 에러 수정은 불가능하게 되어, 일의적인 디코딩만을 고집하고 있는 경우.그러나 위에서 설명한와 단어는 최악의 경우에만 발생하며, Hamming ball이 고차원 공간에서 채워지는 방식을 보면 최소 거리의 절반을 넘는 에러 라도 Hamming di 내에 하나의 c{c밖에 없습니다.를 선택합니다.이 주장은 자연 앙상블에서 선택한 랜덤 코드에 대해 높은 확률로 유지되며, 실제 응용 분야에서 잘 연구되고 있는 리드-솔로몬 코드의 경우 더욱 그러합니다.사실, 섀넌의 q-ary 대칭 채널에 대한 용량 정리의 증명은 랜덤 코드에 대한 위의 주장에 비추어 볼 수 있다.
list-decoding 명령에서는 최악의 경우 디코더는 코드워드의 작은 목록을 출력할 수 있습니다.일부 컨텍스트 고유의 정보 또는 사이드 정보를 사용하여 목록을 삭제하고 원래 전송된 코드 워드를 복구할 수 있습니다.따라서 일반적으로 이것은 고유한 디코딩보다 더 강력한 오류 복구 모델인 것으로 보입니다.
리스트 디코딩 가능성
다항식 시간 리스트 디코딩 알고리즘이 존재하기 는 수신 r rdisplaystyle 서 p p 주위에 반경 p\pn의 Hamming ball이 길이n\n의 오차를 갖는다는 조합 보증서가 필요합니다.이는 목록 크기 자체가 알고리즘 실행 시간의 하한이기 때문입니다.따라서 리스트 사이즈는 코드의 블록 n(\ n의 다항식이어야 합니다.이 요건의 조합적 결과는 코드 레이트에 상한을 부과하는 것입니다.목록 디코딩 약속은 이 상한을 충족합니다.1-에 하는 오류의 극히 일부까지 나열할 수 있는 R의 (\R가 존재하는 것으로 비건설적으로 나타났다. 1-의 을 목록 해독 용량이라고 한다.이는 고유한 디코딩 모델에 비해 상당히 많은 양의 오류를 수정할 수 있는 가능성이 있기 때문입니다.메시지를 복구하려면 전송된 기호 중 R R이 정확해야 합니다.이는 복호화에 필요한 올바른 기호 수에 대한 정보 이론 하한이며 목록 복호화를 통해 잠재적으로 이 정보 이론 한계를 달성할 수 있습니다.단, 이 가능성을 실현하기 위해서는 명시적 코드(다항 시간에 구축 가능한 코드)와 부호화 및 복호화를 수행하기 위한 효율적인 알고리즘이 필요합니다.
(p, L)-list-decodability
에러 0 p1 { 0 \ 1} 및 L1 { \1의 경우 는디코딩 가능한으로 됩니다. L 또는 ,) \ , ) - list - decodeable y\ y \ Sigma ^ { } \ sigma ^ { n } {\ 、 hamming {\{\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ {\{\ {\ {\ {\ {\ {\ {\ {\ {\ {\
목록 디코딩 조합
코드의 리스트 디코딩 가능성과 최소 거리 및 속도 등의 기타 기본 파라미터 간의 관계는 상당히 잘 연구되어 왔다.모든 코드는 최소 거리의 절반을 넘어 Johnson 반지름이라고 불리는 경계까지 작은 목록을 사용하여 리스트 디코딩할 수 있는 것으로 나타났습니다.이는 보다 큰 목록 디코딩 반경을 가진 ( { { {2의좋은 속도의 목록 디코딩 가능 코드가 존재함을 증명하기 때문에 매우 중요합니다즉, Johnson bound는 {보다 약간 큰 반경의 ball에 다수의 코드워드가 존재할 가능성을 배제하고 있으며 이는 리스트 디코딩으로 훨씬 더 많은 오류를 수정할 수 있음을 의미합니다.
리스트 디코딩 용량
- 정리(리스트 디코딩 용량).q 2, p1 - q { \ 2, 0 \ p \1 - { \ { {}} 0 0 0 0 0 0 2개의 문장은 블록 이 충분히 크다
- i) R1 - ( p) -\ R \ - \의 경우(, ( / ) \ , ( 1 / \ )이 존재합니다.
- ii) R - q () + \ R + \ 의 경우 모든 (,L ) \ , ) } - list - code는 n ) ( n { ( n ) ( ) ( ) { l l l l l l L L { L { L ( ) ( l L ) ( ( ) )
- 어디에
- q { - ary 엔트로피 입니다. , 。\ [ , 1]。{ displaystyle , ]。
즉, 채널 용량에 근접하는 속도의 경우 효율적인 디코딩 알고리즘을 가능하게 하는 다항식 크기의 리스트가 있는 리스트 디코딩 가능한 코드가 존재하는 반면, 채널 용량을 초과하는 속도의 경우 리스트 크기가 기하급수적으로 증가하여 효율적인 디코딩 알고리즘의 존재를 배제합니다.
리스트 디코딩 용량의 증명은 qq\ary 대칭 의 용량과 정확히 일치한다는 점에서 중요합니다.실제로 "리스트 디코딩 용량"이라는 용어는 적대적 채널 언더리스트 디코딩의 용량으로 해석해야 합니다.또한 리스트 디코딩 용량의 증명은 코드 레이트와 리스트 디코딩에서 수정할 수 있는 에러 비율 사이의 최적의 트레이드오프를 핀이 나타내는 중요한 결과입니다.
입증의 스케치
이 검증의 배후에 있는 아이디어는 랜덤코드가 되고 (,) \ ( , L)\ ( p , L )\ display ( p , L list - decodable with rate R H - ()을 나타내는 바이너리 capacity에 대한 Shannon의 검증과 유사합니다. R 상기 수량을 초과하면 목록 L(\ L이 초다항적으로 커지는 것을 알 수 있습니다.
"bad" 이벤트는 수신된 y [q ]{ y]^{ L + { L + m [{ \q]^{k이 (k})에 C가 발생하는 이벤트로 정의됩니다. Bin B(y,pn0L 0 i L에 대해p(\ p는 수정해야 할 오류의 이고 B는 pn(\ pn가 된 pn입니다.
여기서 고정 [ ]\ \ m { i } \ []^{ } \ , a a a a now now now now now now now now now now now now now now now now now( m } ) word c c c c c c c c c c c c c c c c c c c c c c c c c word c c c c c c c c c [ [ [ [ [ [ associ associ [ now now now
서 V q ( , ) { _ {}(y,는 수신 단어 { \ y}를 중심으로 한 { pn 의 해밍 볼의 부피입니다.위의 관계에서 부등식은 해밍 공의 부피 상한을 따른다. q () { q ^ { _ {( p ) }}} : [q ] []^{의 단어를 중심으로 의 해밍 볼의 부피를 매우 정확하게 추정할 수 있습니다.다른 표현으로 해밍 볼 수 있습니다.증명 스케치를 계속 진행하기 위해 우리는 확률론( L에서 나쁜 사건이 발생할 확률이 수량 - ( ) (- 로 상한임을 알 수 있는 결합을 상상한다
위와 같이 "모든" 불량 이벤트가 발생할 확률은 11)이라고 할 수 있습니다.이를 나타내기 위해 수신 가능한 모든 y [q ] y]^{ 및 [ . L in in in of of of의 모든 가능한 서브셋을 조사합니다.
이제 파트 (ii)의 증명으로 넘어가면 속도가 목록 디코딩 용량을 초과할 때 모든 []n\ y]^{ 주위에 초다항적으로 많은 코드워드가 있다는 것을 보여줘야 한다. R - ( ) + { \ style R \ 1-H_} ( p ) + \ 일 경우 CB ( , ){ \ { }\ ( y , pn는 초다항식적으로 크다는 을 나타낼 필요가 있습니다. 랜덤으로 뽑힌 다음
해밍볼은 번역이 불변하기 때문입니다.해밍 볼의 부피의 정의와 y y가 [ 중에서 균일하게 선택된다는 로부터 우리는 또한
다음으로 지시 c를 정의하겠습니다.
해밍볼의 부피를 예상해서
따라서 확률론적 방법에 따라 속도가 목록 복호화 용량을 초과할 경우 목록 크기가 초다항적으로 커짐을 보여주었다.이것으로 리스트 디코딩 용량의 프루프 스케치가 완료됩니다.
리스트 디코딩 알고리즘
1995년부터 2007년까지의 기간 동안, 부호화 이론 커뮤니티는 점진적으로 더 효율적인 리스트 디코딩 알고리즘을 개발하였다.Reed-Solomon 코드 알고리즘은 Johnson ( -1- \ 1 - { \ { 1 - \ ) up \ displaystyle \ } {\ algorith algorith algorith algorith algorith algorith 、 \ \ delta。단, Reed-Solomon code의 경우 - (\ \- {R 의 오차를 할 수 있습니다.대표적인 리스트 디코딩 알고리즘은 다음과 같습니다.
- 수단 '95 – Reed-Solomon 코드에 대해 알려진 최초의 단순하지 않은 목록 디코딩 알고리즘으로, Madhu 수단에 의해 개발된 의 에러를 효율적으로 목록 디코딩할 수 있습니다.
- Guruswami-Sudan '98 – Madhu 수단과 그의 박사과정 학생 Venkatesan Guruswami에 의해 Reed-Solomon 코드를 의 R 오류까지 목록 디코딩하기 위한 위의 알고리즘 개선.
- Parvaresh – Vardy '05 – 획기적인 논문에서 Farzad Parvaresh와 Alexander Vardy는 1-R (\의 이상으로 디코딩할 수 있는 저환율 R(\ R의 코드를 제시했습니다이 코드들은 에 평가된 바리안트입니다 일반 리드-솔로몬 코드의 경우처럼 1)가아닌1개의 상관 다항식.
- Guruswami–Rudra '06-또 하나의 획기적인 발전에서 Venkatesan Guruswami과 Atri 루드라는 list-decoding 용량을 달성하는 것을 노골적인 코드를 준다면, 그것은, 그들은 목록 − R어떤ϵ 을에 ϵ{1-R-\epsilon\displaystyle}−은 반경 1까지 디코딩, 즉 opti과 0{\displaystyle \epsilon>0}., 이것은 error-correction.mal 레듬성듬뿍 담았습니다.이것은 약 50년 동안 열려 있던 질문에 대한 해답이다.이 연구는 ACM의 커뮤니케이션(최근 컴퓨터 사이언스에 게재된 가장 중요한 연구결과에 전념)의 연구 하이라이트 섹션에 초대되어 사이언스지 2007년 9월 21일자 '코딩과 컴퓨팅의 힘 합치'라는 기사에서 언급되었습니다.그들에게 주어지는 코드들은 접힌 리드-솔로몬 코드라고 불리며, 단순한 리드-솔로몬 코드일 뿐이지만 코드워드 기호를 조심스럽게 묶음으로써 더 큰 알파벳 위에 있는 코드처럼 보인다.
리드-솔로몬 코드에 대한 리스트 디코딩 알고리즘은 보편성과 그들이 가지고 있는 훌륭한 대수적 특성 때문에 연구자들의 주된 관심사였다.Reed-Solomon 코드의 리스트 디코딩 문제는 다음과 같이 공식화할 수 있습니다.
입력:[ + q}) 리드-Solomon 코드의 경우, 1i\ n의 쌍i, 이 주어집니다.서 _ i style } 。 _는 유한 와 파라미터 e-t(\ e의 구별된 포인트입니다.
출력: 목표는 pi) p _})의 인 최대 k(\ 의 모든 X) Fq []를 것이다.보다 많은 오류를 허용할 수 있도록 한 작게 싶습니다.
위의 공식에서 Reed-Solomon 코드의 리스트 디코딩 알고리즘의 일반적인 구조는 다음과 같습니다.
: (인터폴레이션) Q i ) (\ Q _}) 1인 0이 아닌 이변량 Q를 찾습니다
순서 2: (루트 검색/인자화)-( ) { Y - p ( )} { displaystyle Y - ( )} { Q (, )} { Q ( X , ) } (, ) { Q ( , ( X ) =} 。이러한 각 다항식에 대해 p(i ) ( \ p ( \ _ { i } =_ { } 의i[ i의 t} 의 을 확인합니다.세인트.
이변량 다항식을 효율적으로 인수분해할 수 있다는 사실을 고려할 때, 위의 알고리즘은 다항 시간에 실행된다.
복잡성 이론 및 암호학 응용 프로그램
몇 가지 흥미로운 코드 패밀리의 리스트 디코딩을 위해 개발된 알고리즘은 계산 복잡성과 암호학 분야에서 흥미로운 응용 프로그램을 찾아냈다.다음으로 코딩 이론 이외의 어플리케이션의 샘플리스트를 나타냅니다.
- 단방향 순열에서 하드코어 술어 구성.
- NP 검색 문제의 목격자를 예측합니다.
- 부울 함수의 경도를 증폭합니다.
- 랜덤 행렬의 영구 평균 대소문자 경도입니다.
- 추출기 및 의사 난수 생성기.
- 효율적인 배신자 추적
외부 링크
- 마두 수단의 목록 해독에 관한 조사
- 마두 수단의 코스 노트
- Luca Trevisan이 가르친 코스의 노트
- 벤카테산 구루스와미가 가르치는 코스의 노트
- ATRI Rudra가 가르치는 코스의 노트
- P. Elias, "소음 채널에 대한 목록 디코딩", 기술 보고서 335, MIT, 전자공학 연구소, 1957.
- P. Elias, "리스트 디코딩을 위한 오류 수정 코드", IEEE Transactions on Information Theory, vol. 37, 페이지 5–12, 1991.
- J. M. Wozencraft, "목록 디코딩", 분기별 진척 보고서, MIT, vol. 48, 페이지 90-95, 1958.
- 벤카테산 구루스와미의 박사 논문
- 리스트 디코딩 알고리즘 결과
- 접힌 리드-솔로몬 코드