1. Trang chủ
  2. » Luận Văn - Báo Cáo

Project 3 Các Tính Chất Của Rlp Sequence Và Ứng Dụng Liên Quan.pdf

19 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG——————–o0o——————-

PROJECT 3

Các tính chất của RLP sequence và ứng dụng liên quanGiảng viên hướng dẫn: PGS.TS Đỗ Phan Thuận

TS Vũ Văn KhuSinh viên: Lê Anh Đức - 20190042

Trang 2

Lời nói đầu

Trong lĩnh vực lập trình, các constraint code là những đoạn mã đượcsử dụng để áp đặt các ràng buộc vào các biến trong một hệ thống Các ràngbuộc này có thể là các điều kiện, quy tắc hoặc giới hạn về giá trị của cácbiến, và chúng được thiết lập để đảm bảo rằng các biến đó hoạt động đúngtheo một cách cụ thể.

Việc nghiên cứu các constraint code là rất quan trọng trong việc pháttriển các hệ thống phức tạp, đặc biệt là trong các lĩnh vực như tối ưu hóa,trí tuệ nhân tạo và kế hoạch hóa Nghiên cứu constraint code giúp cho cácnhà phát triển hiểu rõ hơn về cách áp dụng các ràng buộc và tối ưu hóa cácgiải pháp cho các vấn đề khác nhau.

Ngoài ra, việc nghiên cứu constraint code còn đóng vai trò quan trọngtrong việc giải quyết các vấn đề tối ưu hóa và kế hoạch hóa thực tế, đảm bảorằng các giải pháp được đưa ra là hiệu quả và đáp ứng các yêu cầu của hệthống.

Vì vậy, việc nghiên cứu các constraint code là rất cần thiết và quan trọngđể đạt được những kết quả tối ưu trong các hệ thống phức tạp hiện nay.

Trong báo cáo này, em xin trình bày về 1 constraint code cụ thể là RLPcodes Một trong những constraint code có nhiều ứng dụng và vẫn đang đượcnghiên cứu rất nhiều trong thời gian gần đầy.

Bài báo cáo sẽ có cấu trúc như sau: (1) Đặt vấn đề, (2) Giới thiệucác khái niệm và định nghĩa về RLP codes, (3) Ứng dụng của RLP codes vớibộ nhớ reactrack, (4) Các tính chất mở rộng của RLP codes, (5) Những khókhăn và hướng phát triển trong nghiên cứu.

Trang 3

2.1 Các quy ước và định nghĩa 52.2 ℓ-symbol read channel và các lỗi xảy ra 62.3 Cách RLP code tìm ra các lỗi 7

4.1 Capacity 124.2 Các tính chất khác 15

5.1 Những thứ đạt được và những sự khó khăn gặp phải 165.2 Hướng nghiên cứu tiếp theo 165.3 Lời cảm ơn 17

Trang 4

Chương 1Đặt vấn đề

1.1 Sự cần thiết của constraint code trongmã hoá thông tin

Mã hóa thông tin là quá trình chuyển đổi dữ liệu từ dạng thông thườngsang dạng mà máy tính có thể hiểu được và truyền thông tin qua các kênhtruyền thông như mạng internet hay đường truyền viễn thông Trong quátrình này, các lỗi xảy ra do tạp âm, nhiễu và các vấn đề khác có thể làmthay đổi dữ liệu và gây ra những hậu quả không mong muốn Vì vậy, việc sửdụng các constraint code trong quá trình mã hóa thông tin là cần thiết đểđảm bảo độ tin cậy của dữ liệu.

Các constraint code là các mã được thiết kế để giới hạn tập các chuỗi bitcó thể được mã hóa Khi sử dụng constraint code, các chuỗi bit được giớihạn trong một tập hợp nhỏ hơn, giúp giảm thiểu số lỗi và làm cho quá trìnhgiải mã dữ liệu trở nên dễ dàng hơn Việc sử dụng các constraint code cũnggiúp tăng khả năng phát hiện và sửa chữa lỗi trong quá trình truyền thông.Ngoài ra, các constraint code còn được sử dụng trong các hệ thống lưutrữ dữ liệu để bảo vệ dữ liệu khỏi các lỗi xảy ra trong quá trình ghi và đọc.Chẳng hạn như trong bộ nhớ racetrack, các constraint code được sử dụng đểmã hóa các dữ liệu được ghi trên đường đua vòng tròn, giúp đảm bảo rằngdữ liệu có thể được phục hồi một cách chính xác.

Vì vậy, việc sử dụng các constraint code là cần thiết để đảm bảo độ tincậy của dữ liệu trong các ứng dụng liên quan đến truyền thông và lưu trữdữ liệu Các constraint code đã đóng góp đáng kể cho việc phát triển cácphương pháp mã hóa hiệu quả hơn và giải quyết các vấn đề liên quan đếnsửa lỗi và tối ưu hóa hệ thống mã hóa.

Trang 5

Project3 CHƯƠNG 1 ĐặT VấN Đề

1.2 Tổng quan về chuỗi RLP codes

Chuỗi RLP code là 1 chuỗi constraint code được đăng trưng bởi 5 thamsố n, d, b, k và q ta có thể viết gọn lại là (n, d, b, k)q-RLP sequence.

Các chuỗi RLP là chuỗi q-ary có độ dài n và mỗi tập con gồm b cửa sổ liêntiếp có độ dài k trong chuỗi này là một chuỗi q-ary có độ dài k với khoảngcách Hamming tối thiểu là d Các chuỗi và mã RLP được sử dụng trong nhiềuứng dụng khác nhau, đặc biệt là trong việc sửa lỗi cho bộ nhớ racetrack.

Khi tín hiệu được mã hoá bằng RLP code được truyền đi thì sẽ có 1 kênhđọc gọi là l-read channel để đọc tín hiệu này Một l-read channel sẽ đọc tínhiệu thành các của sổ l bit liên tiếp nhau Mỗi một của sổ gồm l bit liên tiếpnhau được gọi là 1 l-tuple Trong khi truyền đi thì sẽ xuất hiện các lỗi donhiều hoặc sai số khiến cho các l-tuple không đúng ta gọi các lỗi đó là cáclỗi đồng thời trên chuỗi RLP Với những tính chất đặc biệt của RLP codethì chúng ta có thể khôi phục, hoặc phát hiện các vị trí xảy ra lỗi để có thểđạt được 1 phương pháp truyền tin tối ưu nhất.

1.3 Các hướng nghiên cứu liên quan

Hiện nay chuỗi RLP codes đang được quan tâm rất nhiều bởi tínhứng dụng cao của nó Một số hướng nghiên cứu liên quan là:

•Nghiên cứu về cách RLP code giải quyết các lỗi•Nghiên cứu về những ứng dụng của RLP code

•Nghiên cứu về các tính chất cũng như maximal asymptotic rates củaRLP code

•Nghiêm cứu về các kĩ thuật encode và decode của chuỗi RLP codes

Trang 6

Chương 2

Tìm hiểu về chuỗi RLP code

2.1 Các quy ước và định nghĩa

Đặt Σq= {0, 1, , q − 1}là 1 tập hợp gồm q số tự nhiên đầu tiên (bảngchữ cái kích thước q) và [a, b] là tập hợp {a, a + 1, , b} với mọi a < b Đặts = (s1, , sn) ∈ Σnlà 1 chuỗi có độ dài n với các phần tử thuộc tập hợpΣq Chúng ta định nghĩa s[i, j] = (si, s , , si+1j) ∈ Σj−i+1

Một tập hợp gồm các chuỗi thoả mãn điều kiện trên gọi là 1(n, d, b, k)qrobust locally positioning code, và được kí hiệu là CRLP(n, d, b, k)q Một tậphợp lớn nhất gồm tất cả các (n, d, b, k)q− RLP code thì được kí hiệu làARLP(n, d, b, k)q.

-Trong báo cào này em sẽ tập trung vào trường hợp q = 2 (chuỗi nhịphân).Ta định nghĩa rate của chuỗi CRLP(n, d, b, k)là R (CRLP(n, d, b, k)) =

n khi n tiến đến vô cùng, ta định nghĩa asymptotic rate RRLP(b, d, k) =limn→∞log|CRLP(n,d,b,k)|n Trong báo cáo này ta nói về thuật toán để tính maxi-mal asymptotic rate của RLP code Và đặc biệt ta cũng sẽ tìm hiểu về cách

Trang 7

Project3 CHƯƠNG 2 TÌM HIểU Về CHUỗI RLP CODEchuỗi RLP code xử lý các lỗi.

2.2 ℓ-symbol read channel và các lỗi xảy ra

Trong phần này ta sẽ chỉ ra rằng 1 chuỗi (n, d, b, k)-RLP có khả năng pháthiện vị trí của các lỗi xảy ra

Đặt x = (x1, x , , x2n) ∈ Σnlà 1 q-ary sequence có độ dài n Trongℓ-symbol read channel, thì chuỗi x sẽ được truyền đi và đọc dưới dạng sau

πℓ(x) = ((x1, , xℓ) , (x2, , xℓ+1) , , (xn, , xn+ℓ−1))với xifor i > n có thể nhận bất kì giá trị nào.

Ta định nghĩa: 1 ℓ-tuple (xi, , xi+ℓ−1)chính là 1 của sổ độ dài ℓ bấtkỳ của x

Trong kênh truyền này sẽ có các lỗi xảy ra như:

•sticky-insertion: Khi 1 ℓ-tuple được lặp lại ngay sau vị trí của nó xuấthiện

•deletion: khi 1 ℓ-tuple bị xoá Một s-burst of deletions xảy ra khi cónhiều nhất s ℓ-tuple liên tiếp nhau bị xoá.

•substitution: Xảy ra khi có 1 phần tử trong 1 ℓ-tuple bị sai, bị thaythế(ví dụ 1 thành 0 và 0 thành 1) Một t-substitution xảy ra khi nhiềunhất có t phần tử bị thay thế trong mỗi ℓ-tuple.

Ví dụ 1 Giả sử x = (0, 1 0 0, , , 1 0, , , 0)0 là chuỗi truyền vào ℓ = 2, the 2-symbol read sequence of x sẽ là

π2(x) = ((0,1), (1, 0) (0, 0) (0, 1), (1 0) (0, ,, , , , 0) (0 0) (0 0))., , ,

Như vậy nếu xảy ra 1 lỗi sticky-insertion ở vị trí i = 2, 1 lỗi burst ofdeletions of length 2 ở vị trí 6 và 7, 1 lỗi substitution ở vị trí thứ 2 của cặpthứ 3, vẫy ở kênh đọc -symbol read channel chúng ta nhận được2

π2(y) = ((0, ,1) (1, ,0) (1 0),, (0, 1) (0 1), (1 0), ,, , , (0 0)).

Trang 8

Project3 CHƯƠNG 2 TÌM HIểU Về CHUỗI RLP CODE

2.3 Cách RLP code tìm ra các lỗi

Định lý 1 Giả sử n, d, b, k, t là các số nguyên dương thoả mã điều khiệnsau 2k⩾b⩾2và d = 2t + 1 Đặt k + b − 2 = ℓ Thì (n, d, b, k)− RLPcode CRLP(n, d, b, k)của chúng ta có thể phát hiện và sữa chũa bất kỳ sticky-insertions cũng như phát hiện vị trí xảy ra của (b − 2)-bursts of deletionstrong ℓ-symbol read channel Ở đây chúng ta vẫn giả sử có lỗi t-substitutionsxảy ra nhưng ℓ-tuple đầu liên luôn được truyền đúng.

Chứng minh: Ta đặt s = (s1, s , , s2n)là chuỗi được truyền đi vàπℓ(y) = ((y1,1, , y1,ℓ) , , (yk,1, , yk,ℓ)) là thông tin nhận được từ ℓ-symbol read sequence.Chúng ta giả sử ℓ-tuple đầu tiên là đúng, có nhiềunhất t substitutions trong mỗi ℓ-tuple, và có thể xảy ra nhiều lỗi sticky-insertion và nhiều lỗi burst deletion với độ dài tối đa là b − 2 Chúng tađể ý tới k phần tử đầu tiên của ℓ-tuple thứ hai: (y2,1, , y2,k).Ta thấy, cónhiều nhất t symbols trong ℓ-tuple thứ hai bị sai Như vậy, nếu như khôngxảy ra lỗi gì thì dH((y2,1, , y2,k) , s , 2 + k − 1]) ⩽ t Nếu như xảy ra 1 lỗi[2sticky-insertion, dH((y2,1, , y2,k) , s , k]) ⩽ t Và nếu như xảy ra lỗi burst[1deletion, thì vì lỗi burst deletion chỉ có độ dài lớn nhất là s ⩽ b − 2 nên tacũng códH((y2,1, , y2,k) , s[s + 2, s+ 1 +k]) ⩽ t.

Như vậy sẽ tồn tại 1 ⩽ i ⩽ b để chodH((y2,1, , y2,k) , c[i, i+ k − 1]) ⩽ t.Mặt khác ta lại thấy , dH(c[i, i + k − 1], c[j, j+ k − 1]) ⩾ d = 2t + 1vớimọi 1 ⩽ i = j ⩽ b since c ∈ CRLP(n, d, b, k) Từ đó chỉ tồn tại duy nhất1 chỉ số i0∈ [b]sao cho dH((y2,1, , y2,k) , c [i0, i0+ k − 1]) ⩽ tand thusdH(y2,1, , y2,ℓ) = s [i0, i0+ ℓ − 1].

Với chỉ số i0được định nghĩa như trên thì ta thấy rằng s[i, i + k − 1] =(y1,i, , y1,i+k−1)for all 1 ⩽ i ⩽ b−1 bởi vì c(1, , cℓ) = (y1,1, , y1,ℓ) Nếunhư c[i, i + k − 1] = (y2,1, , y2,k)với mọi 1 ⩽ i ⩽ b − 1 thì i0= b Mặt khácthì chúng ta đã tìm ra, chỉ số i0thuộc [b − 1] thoả mãn c [i0, i0+ k − 1] =(y2,1, , y2,k).

Nếu i0= 1, thì tức là đã xảy ra sticky-insertion Để sửa lỗi này, it isonly required to remove the repeated ℓ-tuple If i0=2 , thì tức là khôngcó lỗi xảy ra Nếu như 3 ⩽ i0⩽ b, thì tức là có lỗi burst of deletions vớiđộ dài i0− 2 Trong trường hợp này , ta sẽ đánh dâu i0− 2 ℓ-tuples liêntiếp là đã bị xoá (mang dấu hiệu bị xoá) Và chúng ta cũng biết được rằngdH((y2,1, , y2,k) , c [i0, i0+ k − 1]) ⩽ t, Như vậy chúng ta tiếp tục quá trìnhtrên chúng ta sẽ thu được diều cần chứng minh.

Như vậy đấy là cách mà chuối RLP tím ra lỗi Ta sẽ lấy với ví dụ ở ví dụ

Trang 9

Project3 CHƯƠNG 2 TÌM HIểU Về CHUỗI RLP CODE1 Giả sử ta nhận được chuỗi

Trang 10

Chương 3

Chuỗi RLP và bộ nhớRacetrack

Trong phần này ta sẽ đề cập đến cách sử dụng chuỗi RLP code hiệu quảtrong bộ nhớ Racetrack Chúng ta sẽ sử dụng kết quả đã chứng minh ở địnhlý 1 để xây dựng 1 mô hình hiệu quả giúp giảm bớt sự sai lệch thông tintrong bộ nhớ racetrack.

Cho 3 số tự nhiên N, m, n trong đó có N = n · m, 1 bộ nhớ racetrack baogồm N ô nhớ and m đầu đọc , mỗi đầu đọc 1 đoạn liên tiếp có n ô nhớ Trongbài này, chúng ta xem xét mô hình bộ nhớ racetrack gồm các đầu đọc phụ,Gồm có ℓ − 1 đầu đọc phụ, bên cạnh đầu đọc chíng đầu tiên For example,in Ta có thể thấy trong hình trên, ta có 1 bộ nhớ racetrack gồm 15 ô nhớ,three đầu đọc chính ở các vị trí c1,1, c2,1, and c3,1, và đầu đọc phụ ở các vị tríc1,2andc1,3.

chúng ta có thể thấy nếu như c = (c1, c , , c2N)là chuỗi các ô nhớđọc được từ đầu đọc chính thứ i-th và ta đặt ci = (ci,1, , ci,n)whereci,j= c(i−1)·n+jfor 1 ⩽ i ⩽ m and 1 ⩽ j ⩽ n Như vậy dữ liệu đọc được tù

Trang 11

Project3 CHƯƠNG 3 CHUỗI RLP VÀ Bộ NHớ RACETRACKmđầu đọc (nếu không có lỗi xảy ra) sẽ như sau:

c1,1 c1,2 c1,n

c2,1 c2,2 c2,n

cm,1 cm,2 cm,n

Trong mô hình trên chúng ta chũng sẽ nhận được thông tin của ℓ − 1 đầuđọc phụ nằm bên cạnh đầu đọc chính đầu tiên Như vậy chúng ta sẽ có ℓ đầuđọc nằm liên tiếp nhau và chúng ta sẽ có ma trận đầu ra của ℓ đầu đọc đó là

chan-Chúng ta sẽ đề xuất 1 mô hình có thể sửa tất các lỗi với số lượng lỗi bấtkỳ của sticky insertions, lỗi burst of deletions of có độ dài đoạn bị xoá lớn

Trang 12

Project3 CHƯƠNG 3 CHUỗI RLP VÀ Bộ NHớ RACETRACKCách xây dựng: Ta có N, m, n, b, t, ℓ, v, s là các số nguyên dương thoảmã N = mn Ta gọi CRLP(n, 2t+1, b+2, ℓ−b)là 1 chuỗi(n, 2t+1, b+2, ℓ−b)-robust locally positioning code Ta kí hiệu E(N, h, d) là mã sửa lỗi Hammingcó đội dài N, với khoảng cách Hamming tối thiểu làd = 2s + bmv + 1cóthông tin của h bits Gọi C(h) là tập hợp tất cả các chuỗi x ∈ Σhsao chox[1, n]là một (n, 2t + 1, b+ 2, ℓ − b)-RLP sequence Lấy C(h) là đầu vào củaE(N, h, d), như vậy chúng ta sẽ sinh ra được mô hình mã hoá thông tin sauđây: C(N, v, b, s, t) = E(N, h, dChúng ta sẽ tiến hành chứng minh tính đúng đắn của việc xây dựng trên)(C(h) = E(N, h, d)(x) ∈ ΣN: x ∈ C(h)

Chứng ming: Từ x ∈ C(h) và c = (c1, , cN) = E(N, h, d)(x) ∈C(N, v, b, s, t)được định nghĩa như cách xây dựng nói trên thì c[1, n] = x , n[1 ]là 1 (n, 2t + 1, b+ 2, ℓ− b)-RLP sequence Sử dụng Định lý 1 ở phần trước,chúng ta có thể phát hiện các lỗi sticky-insertion và deletion Với các lỗisticky-insertion, Chúng ta đơn giản là xoá chúng khỏi chuỗi của chúng ta.Với các lỗi busrt-deletion, chúng ta có thể phát hiện chúng và đánh dâu chúngmang dấu hiệu bị xoá(như ví dụ của phần trước) Vì có nhiều nhất làvlỗibursts of deletions có độ dài nhiều nhất là b, như vậy sẽ có nhiều nhấtvb cộtbị xoá Từ đó có nhiều nhất vbmbit được đánh dấu là bị xoá Từ vị trí cácbit bị đánh dấu bị xoá đó ta có thể cho ngẫu nhiên tất cả là 0 hoặc là 1, vànhư vậy chúng ta sẽ biết được số bit bị lỗi lớn nhất là s + bm/2 Như vậy từtính chất của mã sửa lỗi Hamming C(N, v, b, s, t) ta chọn d = 2s + bmv + 1thì mã code của chúng ta sẽ có thể sửa lại hết được tất cả các lỗi trên.

Trang 13

2 , where Φt(s) = Φt(s1, s2, , sn) = d(t)= d1, , dttn−t ,với mọi dt = si+t− si, 1 ⩽ i ⩽ n − t Khi t = 1, ta sẽ có d = Φ(s) =(d1, , dn−1) = (s2−s1, , sn−sn−1) ∈ Σn−1

Trang 14

Project3 CHƯƠNG 4 CÁC TÍNH CHấT CủA RLP CODEcon của u Ta kí hiệu tập hợp các chuỗi tránh F như vậy là C(n; F) Và takí hiệu tập hợp các chuỗi như vậy làA(n; F).

Chúng ta sẽ chứng minh rằng chuỗi RLP code của chúng ta sẽ tươngđương với chuỗi tránh F nói trên.

Ta định nghĩa 1 "run" của 1 chuỗi là chuỗi con của chuỗi đó gồm tất cảcác phần tử giống nhau.

Ví dụ trong chuỗi 1110011 có 3 runs là: 111, 00 và 11.

Định lý 3 Ta đặt F(k, d) là các chuỗi có độ dài k + 1 với nhiều nhất làdruns Thì như vậy ta có

A(n; F(k, d)) =ARLP(n, d, 2, k).

Chứng minh: Để chứng minh định lý 3, đầu tiên ta chứng minh A(n, F(k, d))là con củaARLP(n, d, 2, k) Đặt s = (s1, , sn) ∈ A(n; F k, d))( là 1 chuõi"tránh" F(k, d) Gọi s[i, i+k] là 1 chuỗi con độ dài k+1 của s Như vậy s[i, i+k]có ít nhất d + 1 runs Có nghĩa là, |{j : i+ 1 ⩽ j ⩽ + k; si j = sj−1}| ⩾ d.Do đó, wH(Φ( )[s i, i + k]) ⩾ d Từ định ký 2, s is an (n, d, 2, k)-RLP se-quence, that is s ∈ ARLP(n, d, 2, k) Tiếp theo chúng ta tiếp tục chứng minhrằng ARLP(n, d, 2, k)là tập con của A(n; F(k, d)) Đặt s = (s1, , sn) ∈ARLP(n, d, 2, k)là 1 n, d, 2, k -RLP sequence Ta lấy bất kỳ chuỗi con s[i, i+( )k]độ dài k + 1 của s Vì s ∈ ARLP(n, d, 2, k), nên wH(Φ( )[i, is + k − 1]) ⩾dtừ định lý 2 Do đó, chuỗi con s[i, i + k] có ít nhất d + 1 runs suy ra,s ∈ A(n; F(k, d)).

Cuối cùng từ 2 điều trên thì Định lý 3 được chứng minh

Do đó để xay dựng (n, d, 2, k)-RLP code, thì chúng ta có thể xây dựngC(n; F(k, d)) có tính chất tránh tập F(k, d) Như vậy capacity(maximal as-pympotic rate) của (n, d, 2, k)-RLP code hoàn toàn bằng với capacity củaC(n; F(k, d)) Để tính toán capacity của C(n; F(k, d)) ta có thể dùng phươngpháp state-machine sử dụng tranfer matrix Ta có thể tính giá trị riêng lớnnhất của transfer matrix và suy ra capacity Ví dụ với d = 2, k= 3 thì tacó F(k, d) = {0 1i 4−i, 1i04−i∀i ∈ [0, 4]} Từ đó chúng ta có thể xây dựng ma

Ngày đăng: 29/05/2024, 18:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w