III.4.7. Một vài ví dụ về dãy ghi dịch chu kỳ cực đại
Ví dụ 1: Đa thức đặc trưng f(x) = x4 + x3 + 1 là đa thức nguyên thủy vì
là ước của đa thức x15 + 1 nhưng không là ước của các đa thức xk + 1 với k<15
trong Z2. Khi đó một trong các dãy nhị phân mà nó sinh ra có dạng:
10001001101011110001
Có chu kỳ T = 15 = 24 – 1. Dễ dàng thấy rằng trong chu kỳ của dãy trên,
số chữ số 1 là 8, số chữ số 0 là 7, có thể coi như có phân phối xác xuất gần đều
P(x = 0) = 7/15 ≈ P(x = 1) = 8/15.
Ví dụ 2: Các đa thức nguyên thủy bậc 5, 6, 7, 15, 23, 31 trên trường Z2
x5 + x3 + 1, x6 + x + 1, x7 + x6 + 1, x15 + x14 + 1, x23 + x15 + 1, x 31 + x25 + 1 sinh
ra các dãy có chu kỳ tương ứng là 25 – 1, 26 – 1, 27 – 1, 215 – 1, 223 – 1, 231 – 1.
68 trang |
Chia sẻ: builinh123 | Lượt xem: 1764 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Dãy ngẫu nhiên, giả ngẫu nhiên và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 − ∑ 𝑃(𝐿)
𝑇−1
𝐿=𝑀
Các xác suất trên sẽ rất nhỏ nếu L khá gần M. Thành thử để áp dụng
được tiêu chuẩn χ2 cần phải có một xâu có kích thước (độ dài) rất lớn, thường
là hàng ngàn giá trị.
II.2.6. Kiểm tra hoán vị
Chia dãy thành n nhóm, mỗi nhóm gồm t phần tử (Yj, Yj+1, , Yj+t-1) với
(0≤j≤n-1). Có thể giả thiết rằng các phần tử trong các nhóm đó là khác nhau.
Sau đó, tính số lần gặp một nhóm nào đó trong số t! nhóm có thể. Đương nhiên,
xác suất để có thể gặp mỗi nhóm là
1
𝑡!
. Trên cơ sở các giá trị tính được ta sử
dụng tiêu chuẩn χ2 . Tuy nhiên, cần thấy rằng với dãy có tập giá trị M lớn thì
Thang Long University Libraty
24
dù độ dài của nhóm t là nhỏ thì cỡ mẫu (độ dài của xâu) cần có để kiểm tra sẽ
phải rất lớn vào khoảng 5.C
𝑡
𝑀
.t! phần tử.
Ví dụ: với M = 4, t = 3 thì dãy 100 phần tử sau đây:
021| 321| 031| 203|130|210|231|201|320|130|213|021|302|130|120|132|
102|321|023|103|120|123|023|120|210|320|123|023|120|213|012|320|132
Cũng chỉ đảm bảo mỗi kiểu trong số 𝐶4
3. 3! kiểu có được không nhiều
hơn 4 nhóm, tức là không đủ để sử dụng tiêu chuẩn χ2.
II.2.7. Tiêu chuẩn về nhóm (Runtest)
Cho một xâu gồm 2 giá trị X và Y được sắp xếp theo một trật tự bất kì:
X X Y Y Y X Y Y X X Y Y Y X X X Khi đó, người ta gọi một nhóm
của xâu là một loạt các phần tử cùng loại đứng kề nhau. Như vậy nếu xâu gồm
n phần tử thì số nhóm ít nhất có thể là 2 và nhiều nhất là n ( mỗi nhóm gồm chỉ
một phần tử).
Ví dụ với xâu gồm 16 phần tử như trên có cả thảy 4 nhóm X ( hai
nhóm 2 phần tử, 1 nhóm ba phần tử và 1 nhóm một phần tử) và 3 nhóm Y (2
nhóm ba phần tử và 1 nhóm hai phần tử).
Định lý: Nếu X, Y được xắp một cách ngẫu nhiên thì số nhóm U của một
xâu gồm n phần tử của dãy, trong đó có n1 giá trị của X, n2 giá trị của Y (n1+ n2
= n) là một đại lượng ngẫu nhiên với phân phối xác suất
P(U = m) =
[
2Cn1−1
(
1
2m−1).
Cn2−1
(
1
2m−1)
Cn
n1
; Nếu m chẵn (m = 2k)
Cn1−1
(
1
2m−3). Cn2−1
(
1
2m−1) + Cn1−1
(
1
2m−1). Cn2−1
(
1
2m−3) Nếu m lẻ (m = 2k + 1)
Bây giờ với một dẫy ngẫu nhiên bất kỳ, để kiểm tra tính ngẫu nhiên của
dãy, trước hết ta chia giá trị của dãy thành hai loại X và Y,. Một số được gọi là
X nếu nó nhỏ hơn trung vị (med) của dãy, các số còn lại được gọi là Y rồi sắp
25
xếp lại chúng theo trật tự vốn có ta được dãy mới gồm chỉ hai loại phần tử X
và Y như trên.
Quy tắc nhóm có miền bác bỏ giả thiết H0 về tính ngẫu nhiên của dãy
xác định bởi công thức:
(U ≤ U∝
2⁄
) ∪ (U ≥ U
(1−
∝
2)
)
Với α là mức ý nghĩa của tiêu chuẩn và
𝑈∝
2⁄
= max{𝑈: 𝑃(𝑈 ≤ 𝑈′) ≤ ∝ 2⁄ } (∗)
𝑈1−∝ 2⁄ = min{𝑈: 𝑃
(𝑈 ≤ 𝑈′) ≥ 1 − ∝ 2⁄ } (∝< 0,5)
(*): Theo bảng các giá trị tới hạn của quy tắc nhóm
Nếu giả thiết H0 là đúng và n1 →∞, n2 →∞, sao cho
𝑛1
𝑛
→ 𝛾0 ≠
0 thì
𝑈−2𝛾𝛿𝑛
2𝛾𝛿√𝑛
(𝛾 =
𝑛1
𝑛
, 𝛿 =
𝑛2
𝑛
)
có phân phối tiệm cận chuẩn N(0,1).
Ví dụ 1: Có một dãy nhị phân gồm n = 12 giá trị được sắp xếp như sau:
101101010000
Hãy kiểm tra về tính ngẫu nhiên của dãy với α = 0,05
Giải:
Số nhóm của dãy U=8. Theo bảng X ta có:
U0,025 = 3; U0,975 = 10 tức là miền bác bỏ giá trị H0;
(U≤3)∪ (U≥10) với U = 8 giả thiết H0 được chấp nhận.
Ví dụ 2: Cho một dãy số thực: 0,3; 0,4; 0,2; 0,7; 0,9; 0,4; 0,6; 0,3; 0,1;
0,6; 0,7; 0,4; 0,0; 0,2; 0,3; 0,9; 0,4; 0,3; 0,7; 0,6.
Hãy kiểm tra giả thiết H0 về tính ngẫu nhiên của dãy trên với mức ý nghĩa
α = 0,05
Thang Long University Libraty
26
Giải:
Trước hết trung vị của dãy trên sẽ là 0,45 và do vậy dãy có thể viết lại
như sau:
XXXYYXYXXYYXXXXYXXYY
Số nhóm của dãy U = 10. Theo bảng X ta có U0,025 = 2; U0,975 = 9
Vậy miền bác bỏ của tiêu chuẩn là (U≤6) ∪ (U≥15), n1 = số phần tử x =
12, n2 = số phần tử y = 8, n1 > n2. Từ đó ta thấy giả thiết H0 bị bác bỏ.
II.2.8. Tiêu chuẩn nghịch thế
Cho dãy X1, X2, X3, Xn. Khi đó ta gọi số nghịch thế của số đứng vị trí
thứ j (số các số đứng sau mà nhỏ hơn số trước), Xj là số các số đứng sau nó Xi
với i > j mà Xi < Xj; (1≤I, j≤N). Ví dụ trong dãy số (3, 5, 1, 4, 2, 7) thì số nghịch
thế của số thứ nhất X1 = 3 là 2 vì có hai số (1 và 2) đứng sau mà nhỏ hơn 3.
Tương tự, số nghịch thế của 5 là 3, của 1 là 0, của 4 là 1, của 2 là 0 và của 7 là
0.
Ký hiệu số nghịch thế của phần tử Xj là
Ij (j = 1, 2, 3, , N) và I = ∑ Ij
n−1
j=1
Người ta chứng minh được rằng:
P(I = m) =
Pn(m)
N
; 0 ≤ m ≤
N(N − 1)
2
Trong đó PN(m) là số hoán vị chứa đúng m nghịch thế của N phần tử,
đồng thời với N khá lớn đại lượng Z =
I−E(I)
√Var(I)
có phân phối chuẩn N(0,1),
trong đó:
E(I) =
N(N − 1)
4
, Var(I) =
2N3 + 3N2 − 5N
72
Với những kết quả trên tiêu chuẩn nghịch thế để kiểm tra giả thiết H0 về
tính ngẫu nhiên của dãy sẽ có miền bác bỏ với mức ý nghĩa α:
27
¦W = {I < I
N; (1−
∝
2)
} ∪ {I > I
N; (
∝
2)
}
Các giá trị I
N; (1−
∝
2
)
và I < I
N; (
∝
2
)
được trình bày trong bảng sau:
N
α
0,99 0,975 0,95 0,05 0,025 0,01
10 9 11 13 31 33 35
12 16 18 21 44 47 49
14 24 27 30 60 64 66
16 34 38 41 78 81 85
18 45 50 54 98 102 107
20 59 64 69 120 125 130
30 152 162 171 263 272 282
40 290 305 319 460 474 489
50 473 495 514 710 729 751
60 702 731 756 1013 1038 1067
70 977 1014 1045 1369 1400 1437
80 1299 1344 1382 1777 1815 1860
90 1668 1721 1766 2238 2283 2336
100 2083 2145 2198 2751 2804 2866
(Bảng các giá trị tới hạn của quy tắc nghịch thế)
Ví dụ: Cho mẫu gồm 20 số liệu quan sát lấy từ một xâu của dãy ngẫu
nhiên như sau:
5,5; 5,1; 5,7; 5,2; 4,8; 5,7; 5,0; 6,5; 5,4; 5,8; 6,8; 6,6; 4,9; 5,4; 5,9; 5,4 6,8; 5,8;
6,9; 5,5
Kiểm tra tính ngẫu nhiên của dãy với mức ý nghĩa α = 0,05.
Ta thấy nghịch thế với phần tử thứ nhất (5,5):
I1 = 8 tương tự I2 = 3, I3 = 8, I4 = 3, I18 = 1, I19 = 1, I20 = 0.
Thang Long University Libraty
28
Vậy I = ∑ Ii = 62
20
i=1
Với N=20, theo bảng trên ta có: I(20;0,975) = 64; I20:0,025 = 125
Do I = 62 < I20:0,975 nên giả thiết về tính ngẫu nhiên của dãy bị bác bỏ.
Trên đây là một số tiêu chuẩn thống kê cơ bản để kiểm tra tính ngẫu
nhiên của dãy. Như đã nhấn mạnh trước đây, các tiêu chuẩn thống kê không
quan tâm tới đặc trưng toán học hoặc vật lý của các dãy được sinh ra. Trong
thực tế các dãy thường được sinh ra bởi các nguyên lý kỹ thuật hoặc các thuật
toán trên cơ sở các lý thuyết chặt chẽ về tính giả ngẫu nhiên của dãy-đặc biệt
tính phân phối đều của các phần tử của dãy thường được khảo sát một cách kỹ
lưỡng ngay từ chính thuật toán sinh. Điều đó đôi khi lại làm mất đi tính ngẫu
nhiên của dãy và do vậy các dãy đó cũng cần phải loại bỏ bằng các tiêu chuẩn
thống kê. Thành thử khác với các bài toán kiểm định thống kê thông thường -
Các tiêu chuẩn 2 áp dụng cho dãy ngẫu nhiên cần phải có miền bác bỏ bao
gồm cả những giá trị V tính được đủ nhỏ, tức là 𝑃{𝑉 < 𝑋1−∝
2 } = 1−∝.
Cũng cần phải nói thêm rằng không thể có được một phép so sánh đầy
đủ về sự “mạnh, yếu” của các tiêu chuẩn đã đưa ra ở trên. Thực tế thấy rằng có
những dãy thỏa mãn tiêu chuẩn này nhưng lại không thể vượt qua được các tiêu
chuẩn có vẻ “đơn giản” hơn, hoặc thậm chí cùng một tiêu chuẩn sử dụng cho
cùng một dãy với các xâu có độ dài khác nhau nhưng lồng nhau (xâu ngắn chứa
trong xâu dài hơn) thì kết quả cũng hoàn toàn khác nhau. Điều đó cũng lý giải
cho việc cần phải có một bộ khá đa dạng các tiêu chuẩn kiểm tra. Ngoài ra có
lẽ một trong những nguyên nhân cơ bản của việc cần thiết phải kiểm tra bằng
nhiều tiêu chuẩn là ở chỗ người tạo chuỗi cần phải chứng minh cho người sử
dụng chuỗi của mình là ngẫu nhiên. Đương nhiên người sử dụng cũng cần phải
tin rằng mình đang sử dụng chuỗi ngẫu nhiên. Nếu một người nào đó sử dụng
chính dãy của mình thì cũng cần phải có đủ cơ sở cả lý thuyết lẫn thực nghiệm
để tin tưởng vào sản phẩm của mình.
29
CHƯƠNG III
CÁC DÃY GIẢ NGẪU NHIÊN
Khái niệm về dãy giả ngẫu nhiên
Trong nhiều ứng dụng cả trong các lĩnh vực thực tế lẫn trong kỹ thuật,
đặc biệt là kỹ thuật tính toán, người ta luôn cần đến các dãy số ngẫu nhiên.
Chẳng hạn các dãy số ngẫu nhiên được sử dụng trong các phép chọn mẫu
ngẫu nhiên trong thống kê hoặc dùng làm các giá trị xuất phát để thực hiện các
chương trình tính toán phức tạp. Đặc biệt trong bảo vệ thông tin nói chung và
trong mật mã nói riêng thì chỉ số ngẫu nhiên của các dãy số ngẫu nhiên hoặc
thậm chí của số được sinh ra tức thì một cách ngẫu nhiên đóng vai trò quan
trọng trong việc bảo đảm an toàn cho một bộ mật mã.
Trong kỹ thuật nguồn lý tưởng cho các số ngẫu nhiên là kết quả đo các
đại lượng vật lý ngẫu nhiên, chẳng hạn như nhiễu nhiệt hoặc nhiễu điện mà
trước kia để làm được điều đó người ta phải tạo ra các thiết bị chuyên dụng, thì
ngày nay với kỹ thuật tính toán và máy tính điện tử, việc tạo ra một dãy số ngẫu
nhiên được thực hiện một cách tự động, có khi chỉ bằng một lệnh máy tính đơn
giản, hoặc bằng một bộ sinh số ngẫu nhiên mà cốt lõi của nó là một thuật toán
sinh số ngẫu nhiên đơn giản.
Thực tế thì những số, hay các dãy số như vậy không phải là ngẫu nhiên
hoàn toàn bởi lẽ dù sao thì nó cũng được sinh ra từ các quy tắc tất định, có mối
liên hệ với nhau ( tương quan ) được xác định bởi chính các công thức toán học
có trong thuật toán. Các số như vậy chỉ có vẻ là ngẫu nhiên, “trông” giống như
hay có nhiều thuộc tính của dãy ngẫu nhiên.
Ngoài ra cũng phải nói thêm rằng nhiều khi chính những dãy số ngẫu
nhiên thực sự lại không đáp ứng những yêu cầu của ứng dụng – ví dụ nó không
Thang Long University Libraty
30
thể đồng bộ, hoặc khôi phục lại để tái sử dụng với một mục đích nào đó ( bởi
vì nó là ngẫu nhiên ).
Vậy thì giải pháp trong các tình huống như vậy ( mà thường xảy ra trong
thực tế ) là hãy tạo ra các dãy số có nhiều thuộc tính giống với các thuộc tính
của một dãy ngẫu nhiên, và thỏa mãn các yêu cầu của thực tế ứng dụng.
Các dãy ngẫu nhiên như vậy được gọi là các dãy giả ngẫu nhiên (tựa
ngẫu nhiên). Định nghĩa một cách hình thức về dãy số giả ngẫu nhiên như sau:
Định nghĩa 1: Dãy giả ngẫu nhiên (tựa ngẫu nhiên) là các dãy số được
sinh ra từ các qui tắc tất định mà có các tính chất cơ bản gần giống với các tính
chất của một dãy số ngẫu nhiên, đó là:
1- Mỗi số được tạo ra phải có phân phối xác suất gần như nhau;
2- Nếu có hai số Rk và Rt nào đó “hơi khác nhau” thì với mọi i = 1, 2,
hai số rk+i và rt+i phải khác nhau rõ rệt, tức là giữa các số của dãy
phải có mối tương quan yếu.
Cũng không có một định nghĩa toán học chặt chẽ và chung cho dãy giả ngẫu
nhiên, bởi lẽ nó phụ thuộc vào chính các phương pháp, ( thuật toán ) sinh ra nó
và loại số được sinh ra ( Ví dụ: số nhị phân, số thập phân,).
Với các số giả ngẫu nhiên được sinh ra bởi các thuật toán thì các thuộc tính cơ
bản về tính ngẫu nhiên cần quan tâm của dãy lại là:
1- Tính phụ thuộc yếu giữa phần tử aj bất kỳ với các phần tử khác của
dãy – hay tính tương quan yếu giữa các phần tử.
2- Độ dài của chu kỳ của dãy, tức là các giá trị của dãy sẽ lặp lại sau ít
nhất N phần tử ( dãy có chu kỳ T).
Còn yêu cầu về tính phân phối xác suất đều giữa các phần tử của dãy được xác
định bởi chính độ dài của dãy.
Dưới đây chúng ta xem xét một vài dãy giả ngẫu nhiên thường gặp với tính chất
ngẫu nhiên tốt của chúng.
31
Dãy giả ngẫu nhiên thặng dư bậc hai
III.2.1. Định nghĩa
Gọi N = {N = P.Q, với P, Q nguyên tố cùng độ dài và P ≡ Q ≡ 3 mod 4}.
Giả sử N N, gọi XN = { x2 mod N | x ZN* } là tập thặng dư bậc hai
của mod N.
Đặt X = NN XN – gọi là miền hạt giống.
Xác định các ánh xạ
T: X X, với T(x) = x2 mod N, với x XN.
B: X {0,1}, với B(x) = 0, nếu x – chẵn, và B(x) = 1, nếu
x – lẻ.
Khi đó bộ ba được gọi là bộ tạo dãy giả ngẫu nhiên x2 mod
N.
Cụ thể, cho N N, x0 x XN, thì bộ tạo x2 mod N sẽ tạo ra dãy bít như
sau:
- Thông qua ánh xạ T sẽ tạo ra dãy {xn}n: xi+1 = xi
2 mod N, i = 0, 1, 2,
- Thông qua ánh xạ B sẽ tạo dãy {bn}: bi = B(xi), i = 0, 1 ,2,
Ví dụ:
1.Cho p = 3, q = 7. Khi đó có:
Z21* = { 1, 2, 4, 5, 8, 10, 11, 13, 16, 17, 19, 20}.
# Z21*= (21) = 12.
X21 = {1, 4, 16} = { x
2 mod 21 | x Z21*}.
# Z21 = (21)/4 = 3.
Thang Long University Libraty
32
2.Cho N = 7.19 = 133, x0 = 4. Khi đó có:
{xn} = 4, 16, 123, 100, 25, 93,
{bn} = 0, 0, 1, 0, 1, 1,
Chu kỳ của {bn} là bằng 6, tức bằng λ(λ(N)). (λ: hàm Carmichael).
III.2.2. Giả thuyết thặng dư bậc hai
Giả sử N là tích hai số nguyên tố lẻ. Khi đó nếu gọi
ZN*(+1) = { x ZN*: (
𝑥
𝑁
) = +1 (Jiacôbi )},
ZN*(-1) = { x ZN*: (
𝑥
𝑁
) = -1 (Jiacôbi )},
|ZN*(+1)| = | ZN*(-1)| = (N)/2.
Ngoài ra:
XN = { x ZN*(+1): x= a
2 mod N}, và | XN| = (N)/4.
*Bài toán thặng dư bậc hai: Cho N và x ZN*(+1), hãy quyết định xem
x XN hay x ZN*(+1)\ XN.
*Giả thuyết thặng dư bậc hai (Quadratic Residuacity Assumption –
QRA):
Giả thuyết này cho rằng bất kỳ một thủ tục hiệu quả nào dùng đoán nhận
thặng dư bậc hai sẽ không chính xác đối với một bộ phận nào đó của các dữ
kiện đầu vào.
Giả sử poly(.) là một đa thức. Giả sử P[N, x] là thủ tục thời gian đa thức
(xác suất) với đầu vào là N, x có độ dài n, đầu ra là 0 hoặc 1 ( tức là P[N, x] =
0 hoặc 1). Giả sử là hằng số cố định, 0 < < 1. Giả sử t là một số nguyên
dương.
33
Khi đó với n đủ lớn và với toàn bộ hay phần của các số nguyên N độ
dài n, N là tích của hai số nguyên tố lẻ, xác suất để P[N, x] đoán sai thặng dư
bậc hai
P[N, x] = {
0 𝑛ế𝑢 x 𝑋𝑁
1 𝑛ế𝑢 x 𝑋𝑁
,
Với x chọn tùy ý đều trong ZN*(+1), và với một dãy tung đồng xu cho
trước (trong trường hợp thủ tục xác suất ), luôn vượt quá giá trị 1/nt, tức là:
(
∑ 𝑷𝒓𝒐𝒃(𝑷[𝑵, 𝒙] − đ𝒐á𝒏 𝒔𝒂𝒊)𝑥𝑍𝑁∗ (+1)
(𝑁)/2
) >
1
𝑛𝑡
Chú ý: Với N = p.q, với p, q là các số nguyên tố lẻ. Khi đó với mỗi a =
x2 XN sẽ có 4 căn bậc hai là ∓x, (N∓ x) mod N. Tuy nhiên nếu lấy p ≡ q ≡ 3
mod 4, thi căn bậc hai của a là duy nhất, tức là ánh xạ:
aXN a2 mod N XN
là 1 -1, tức là một hoán vị trên tập XN.
III.2.3. Tính chất của bộ tạo x2 mod N
Tính chất 1: Tồn tại một thuật toán tất định hiệu quả A khi cho trước N
và phân tích thừa số nguyên tố của nó, và với bất kỳ thặng dư bậc hai, x0
ZN*,sẽ tính toán một cách hiệu quả dư bậc hai duy nhất x-1 mod N, sao cho (x-
1)
2 mod N = x0, tức là:
A(p, q, x0) = x-1.
Tính chất 2:
Định nghĩa
a. Một bộ dự đoán P(.,.) là một thủ tục thời gian đa thức xác suất với đầu vào
N, b1, , bk; bi {0, 1} và k ≤ poly(|N|), đầu ra là 0 hoặc 1.
b. P gọi là ε – trội đối với N trong việc dự đoán về phía trái dãy tạo bởi x2
mod N, nếu và chỉ nếu với k nào đó, k ≤ poly(|N|), ta có:
Thang Long University Libraty
34
(
∑ 𝑷𝒓𝒐𝒃[𝑷(𝑵,𝒃𝟏(𝒙),,𝒃𝒌(𝒙))= 𝒃𝟎(𝒙)]𝑥𝑋𝑁
(𝑁)/4
) >
1
2
+ 𝜀,
ở đây bi(x) = Parity (x2 mod N).
Định lí
Dưới giả thuyết thặng dư bậc hai QRA, bộ tạo x2 mod N là bộ tạo dãy
giả ngẫu nhiên mạnh không thể dự đoán được về phía trái.
Định lí
Dưới giả thuyết thặng dư bậc hai QRA, dãy tạo bởi bộ x2 mod N qua
được mọi test thống kê thời gian đa thức xác suất. (Tức là mọi phép test thống
kê thời gian đa thức xác suất nhằm phân biệt dãy này với dãy tung đồng xu
ngẫu nhiên là vô hiệu quả).
Tính chất
Định nghĩa: Giả sử M = 2𝑒 . 𝑝1
𝑒1 . 𝑝2
𝑒2 𝑝𝑘
𝑒𝑘.
Hàm Carmichael – λ định nghĩa trên tập các số nguyên dương M như
sau:
𝜆(2𝑒) = {
2𝑒−1, 𝑛ế𝑢 𝑒 = 1, 𝑒 = 2,
2𝑒−2, 𝑛ế𝑢 𝑒 > 2
λ(M) = LCM[𝜆(2𝑒), (𝑝1 − 1)𝑝1
𝑒1−1, , (𝑝𝑘 −
1)𝑝𝑘
𝑒𝑘−1 ].
Chú ý: λ(M) ≡ 1 mod M, nếu (, M) = 1.
Định lí: Kí hiệu (x0) và b(x0) lần lượt là chu kì của dãy {xi} và {bi}.
Khi đó ta có
(x0) | λ(λ(N)),
b(x0) | (x0) | λ(λ(N)).
Phương pháp toàn đẳng tuyến tính
III.3.1. Công thức
35
Đa số các bộ sinh số ngẫu nhiên được biết đến hiện nay chỉ là các trường
hợp riêng hoặc biến dạng của một phương pháp đã được nhà toán học
H.Lechmen đề xuất từ những năm 1948 như sau:
Trước hết chọn 4 số khởi đầu:
+ X0 : giá trị gốc X0 0
+ a : hệ số nhân a 0
+ c : gia số c 0
+ m : modyl m X0, a, c
Khi đó dãy ngẫu nhiên cần tìm sẽ nhận được từ tương ứng sau:
Xn+1 = (aXn + c) mod m, n 0 (1)
Dãy nhận được theo công thức trên được gọi là dãy toàn đẳng tuyến tính.
Ví dụ: Với X0 = a = c = 7; m = 10, dãy số của chúng ta sẽ là
7,6,9,0,7,6,9,0,
Rõ ràng dãy của chúng ta không có vẻ gì là ngẫu nhiên như mong muốn.
Vậy thì dãy sinh ra là ngẫu nhiên hay chí ít là giả ngẫu nhiên các số liệu khởi
đầu phải tuân theo những nguyên tắc nào đó.
Ví dụ trên cũng cho thấy dãy sinh ra bởi (1) chắc chắn có chu kì, tức là
cuối cùng thì các số trong dãy sẽ lập nên một chu trình mà chu trình đó sẽ được
lặp đi lặp lại vô hạn lần. Chu trình lặp được gọi là chu kỳ và độ dài của chu kỳ
là điều chúng ta quan tâm. Với dãy đưa ra ở trên thì độ dài chu kỳ là 4. Một dãy
thực tế được đưa ra sử dụng đương nhiên cần có chu kỳ lớn dù mục đích có
khác nhau.
Để đơn giản cách viết sau này, người ta đưa vào tham số b = a – 1 và bây
giờ (1) có thể được tổng quát bởi
Xn+k = (a
kXn + (a
k – 1)
𝑐
𝑏
) mod m (k 0; n 0)
Công thức trên biểu diễn phần tử thứ (n+k) qua phần tử thứ n.
Thang Long University Libraty
36
Dãy tương ứng với các phần tử theo k lập nên một dãy mới với các hệ số
nhân ak và gia số (ak – 1)
𝑐
𝑏
.
a) Lựa chọn Modyl (m).
Ở đây chúng ta sẽ xem xét việc cần phải chọn số m như thế nào. Đương
nhiên số m cần phải đủ lớn, bởi lẽ chu kỳ của dãy toàn đẳng tuyến tính không
thể lớn hơn m. Thông thường người ta chọn m=𝜔±1. Trong đó 𝜔 là kích thước
một từ của máy tính (số nguyên lớn nhất chứa được trong một từ của máy). Khi
đó chu kỳ lớn nhất của dãy có thể đạt được không nhỏ hơn 109.
b) Lựa chọ hệ số nhân a.
Chu kỳ cực đại chỉ là một trong những dấu hiệu cần thiết cho tính ngẫu
nhiên của dãy bởi lẽ một dãy ngẫu nhiên tuyệt đối (về mặt chu ky) có thể coi
như một dãy có chu kỳ rất lớn, nhưng một dãy có chu kỳ cực đại thì lại chưa
chắc là ngẫu nhiên.
Ví dụ: Xn+1=(Xn+1) mod m có chu kỳ bằng đúng m nhưng lại không là
ngẫu nhiên. Ví dụ trên cũng cho thấy hoàn toàn có thể chọn được a, c để chu
kỳ đạt được tối đa bằng m. Định lý sau đây cho chúng ta các phương pháp lựa
chọn a, c sao cho chu kỳ đật cực đại m.
Định lý : Độ dài chu kỳ toàn đẳng tuyến tính bằng m khi và chỉ khi:
(i1) c và m nguyên tố cùng nhau
(i2) b=a-1 là bội số của mọi số nguyên tố p là ước của m
(i3) b là bội số của 4 nếu m là bội của 4
Chứng minh:
Ý tưởng của việc chứng minh định lý đã hình thành từ rất lâu. Ngay từ
năm 1961 M Guin beager chứng minh với trường hợp riêng m=2e. Sau đó một
năm hai nhà toán học Khal và Đôbel đã chứng minh cho trường hợp tổng quát.
37
Việc chứng minh định lý cần đến một vài kiến thức bổ trợ về lý thuyết
số. Bạn đọc nếu không quan tâm đến khía cạnh lý thuyết của vấn đề có thể bỏ
qua phần này. Tuy nhiên, các kết quả lý thuyết số dưới đây cũng có những ý
nghĩa riêng.
Bổ đề 1:Giả sử P là số nguyên tố, còn e là số nguyên dương sao cho Pe>2.
Nếu
𝑥 ≡ 1(𝑚𝑜𝑑 𝑝𝑒); 𝑥 ≠ (𝑚𝑜𝑑 𝑝𝑒+1) (1)
Thì 𝑥𝑝 ≡ 1(𝑚𝑜𝑑 𝑝𝑒+1); 𝑥𝑝 ≠ 1(𝑚𝑜𝑑 𝑝𝑒+2) (2)
Chứng minh:
Chúng ta có x=1+𝑞𝑝𝑒, trong đó q là một số nguyên nào đó mà không
phải bội của p. Theo công thức khai triển Newton ta có:
𝑥𝑝 = 1 + 𝐶𝑝
1𝑞𝑝𝑒 +⋯+ 𝐶𝑝
𝑝−1𝑞𝑝−1𝑝(𝑝−1)𝑒 + 𝑞𝑝𝑝𝑝𝑒
= 1+q𝑝𝑒+1 (1 +
1
𝑝
𝐶𝑝
2𝑞𝑝𝑒 +
1
𝑝
𝐶𝑝
3𝑞2𝑝2𝑒 +⋯+
1
𝑝
𝐶𝑝
𝑝𝑞𝑝−1𝑝(𝑝−1)𝑒)
Biểu thức trong dấu ( ) là những số nguyên, ngoài ra mỗi số hạng (trừ số
hạng đầu tiên) là bội số của p vì dẽ dàng thấy rằng 𝐶𝑝
𝑘 (1 < 𝑘 < 𝑝) chia hết
cho p. Do vậy
1
𝑝
𝐶𝑝
𝑘𝑝(𝑘−1)𝑒 chia hết cho p bởi vì (k-1)e>1 với (pe>2). Như vậy
xp=1+q’𝑝𝑒+1 với q’ là số nguyên không chia hết cho p, và do vậy bổ đề được
chứng minh.
Bổ đề 2: Giả sử số m được khai triển thành các thừa số nguyên tố
m=𝑝1
𝑒1 𝑝𝑡
𝑒𝑡. Khi đó độ dài 𝜆 chu kỳ của dãy toàn đẳng tuyến tính xác định bởi
các tham số (X0,a,c,m) bằng bội số chung nhỏ nhất của độ dài 𝜆𝑖 của các chu
kỳ của các dãy toàn đẳng tuyến tính
(𝑋0 𝑚𝑜𝑑 𝑃𝑗
𝑒𝑗 , 𝑎 𝑚𝑜𝑑 𝑃
𝑗
𝑒𝑗 , 𝐶 𝑚𝑜𝑑 𝑃
𝑗
𝑒𝑗 , 𝑃𝑗
𝑒𝑗 ) (1 ≤ 𝑗 ≤ 𝑡)
Thang Long University Libraty
38
Chứng minh:
Bằng cách quy nạp theo t, chúng ta chỉ cần chứng minh rằng, nếu r và s
là hai số nguyên tố cùng nhau thì độ dài chu kỳ 𝝀 của dãy toàn đẳng tuyến tính
xác định bởi điều kiện ban đầu (X0,a,e,r,s) sẽ bằng bội số chung nhỏ nhất của
độ dài 𝜆1, 𝜆2 của chu kỳ của các dãy toàn đẳng tuyến tính (𝑋0 𝑚𝑜𝑑 𝑟, 𝑎 𝑚𝑜𝑑 𝑟,
𝑐 𝑚𝑜𝑑 𝑟, 𝑟) và (𝑋0 𝑚𝑜𝑑 𝑠, 𝑎 𝑚𝑜𝑑 𝑠, 𝑐 𝑚𝑜𝑑 𝑠, 𝑠)
Chúng ta thấy rằng nếu ký hiệu các dãy trên lần lượt là 𝑋𝑛, 𝑌𝑛, 𝑍𝑛 thì rõ
ràng
𝑌𝑛 = 𝑋𝑛 𝑚𝑜𝑑 𝑟 và 𝑍𝑛 = 𝑋𝑛 𝑚𝑜𝑑 𝑠 với mọi n ≥ 0
Ngoài ra 𝑋𝑛 = 𝑋𝑘 khi và chỉ khi 𝑌𝑛 = 𝑌𝑘 và 𝑍𝑛 = 𝑍𝑘
Bây giờ, giả sử 𝝀’ là bội số chung nhỏ nhất của các độ dài 𝜆1, 𝜆2. Ta sẽ
chứng minh rằng 𝝀’= 𝝀. Bởi vì 𝑋𝑛 = 𝑋𝑛+𝜆 với mọi số đủ lớn ta có 𝑌𝑛 = 𝑌𝑛+𝜆
(do đó 𝝀 phải là bội số của 𝜆1) và 𝑍𝑛 = 𝑍𝑛+𝜆 (đó 𝝀 phải là bội số của 𝜆2). Và
vì vậy
𝝀 ≥ 𝝀’. Mặt khác chúng ta thấy rằng 𝑌𝑛 = 𝑌𝑛+𝜆′ và 𝑍𝑛 = 𝑍𝑛+𝜆′ với n đủ
lớn và do vậy 𝑋𝑛 = 𝑋𝑛+𝜆′ tức là ta lại có 𝝀 ≤ 𝝀’ thành thử 𝝀 =𝝀’. Bổ đề chứng
minh xong. Bây giờ ta chuẩn bị chứng minh định lý.
Chú ý rằng bổ đề nêu trên đã đủ để chứng minh định lý khi m là
lũy thừa của một số nguyên tố. Thật vậy, bất phương trình:
𝑃1
𝑒1 𝑃𝑡
𝑒𝑡 = 𝝀 = Bội số chung nhỏ nhất của
(𝝀1, 𝝀2, , 𝝀𝑡) ≤ 𝝀1. 𝝀2𝝀𝑡 ≤ 𝑃1
𝑒1 . 𝑃2
𝑒2 𝑃𝑡
𝑒𝑡
Xẩy ra khi và chỉ khi 𝝀𝑗 = 𝑃𝑗
𝑒𝑗
với mọi 1 ≤ j ≤ t
Vì vậy, chúng ta giả sử rằng m=pe trong đó p là số nguyên tố, còn e là số
nguyên dương. Rõ ràng với a=1, định lý đúng. Vì vậy có thể giả thiết rằng a>1.
Độ dài chu kỳ bằng m khi và chỉ khi mỗi số nguyên x ( 0 ≤ x ≤ m) gặp trong
dãy chỉ một lần. Như vậy chu kỳ sẽ có độ dài bằng m khi và chỉ khi độ dài của
39
chu kỳ với dãy có 𝑋0 = 0 cũng bằng m. Do vậy, ta có quyền giả thuyết rằng
𝑋0 = 0 và khi đó ta có:
𝑋𝑛 = (
𝑎𝑛−1
𝑎−1
)c mod m (b = a-1) (*)
Nếu c và m không nguyên tố cùng nhau thì 𝑋𝑛 không bao giờ có
thể bằng 1. Vì vậy điều kiện thứ nhất của định lý là rõ ràng. Ngoài ra với giả
thiết X0=0 thì số n nhỏ nhất để 𝑋𝑛 = 𝑋0 = 0 chỉ có thể là n=m. Vì vậy từ chú
ý (*) và điều kiện 1 đã nói ở trên việc chứng minh định lý của ta chỉ còn lại là
chứng minh bổ đề sau:
Bổ đề 3: Giả sử rằng 1<a<pe , trong đó p là số nguyên tố. Nếu
𝝀 là số dương nhỏ nhất sao cho
(𝑎λ − 1)
𝑎 − 1
⁄ ≡ 0 (𝑚𝑜𝑑 𝑝𝑒) thì 𝝀=𝑝𝑒 khi và
chỉ khi
{
𝑎 ≡ 1 𝑚𝑜𝑑 𝑝 với p > 2
𝑎 ≡ 1 𝑚𝑜𝑑 4 với p = 2
Chứng minh:
Giả sử rằng 𝝀=𝑝𝑒. Nếu a≠1 (mod p) thì
(𝑎𝑛−1)
𝑎−1
≡ 0 (𝑚𝑜𝑑 𝑝𝑒)
trong và chỉ trong trường hợp khi an -1 ≡ 0 ( 𝑚𝑜𝑑 𝑝𝑒). Diều kiện 𝑎𝑝
𝑒
-1 ≡
0 ( 𝑚𝑜𝑑 𝑝𝑒) khi đó dẫn đến 𝑎𝑝
𝑒
≡ 1 ( 𝑚𝑜𝑑 𝑝) nhưng từ đó lại dẫn đến 𝑎𝑝
𝑒
≡
𝑎 ( 𝑚𝑜𝑑 𝑝). Điều đó không đúng (𝑝𝑒 > 1).
Nếu P=2 và a≡ 3(𝑚𝑜𝑑4) thì
(𝑎2
𝑒−1
− 1)
𝑎 − 1
⁄ ≡ 0 (𝑚𝑜𝑑 2𝑒). Và do vậy a sẽ có dạng a=1+𝑝𝑓.q
với 𝑝𝑓 > 2, còn q không là bội của p với 𝝀= 𝑝𝑒 bất kỳ.
Còn lại chỉ cần phải chỉ ra điều kiện đủ để 𝝀= 𝑝𝑒. Sử dụng bổ đề 1, ta có:
𝑎𝑝
𝑔
≡ 1 (𝑚𝑜𝑑 𝑝𝑓+𝑔), 𝑎𝑝
𝑔
≠ 1 (mod 𝑝𝑓+𝑔+1)
Và vì vậy
(𝑎𝑝
𝑔
− 1)/(𝑎 − 1) ≡ 0 (𝑚𝑜𝑑 𝑝𝑔)
(𝑎𝑝
𝑔
− 1)/(𝑎 − 1) ≢ 0 (𝑚𝑜𝑑 𝑝𝑔+1)
} (**)
Thang Long University Libraty
40
Đặc biệt (𝑎𝑝
𝑒
− 1)/(𝑎 − 1) ≡ 0 (𝑚𝑜𝑑 𝑝𝑒). Như vậy, dãy toàn đẳng
tuyến tính với điều kiện ban đầu (0,a,1,pe) có Xn=
(𝑎n − 1)
(𝑎 − 1)⁄ 𝑚𝑜𝑑 𝑝
𝑒
và vì vậy có chu kỳ 𝝀 tức là Xn=0 khi và chỉ khi n là bội số của 𝝀. Nhưng điều
này lại chỉ có thể được thực hiện với 𝝀=pg , cùng với (**) ta có 𝝀=pe , tức là
định lý được chứng minh.
III.3.2. Tiêu chuẩn tần số
Định lý : Giả sử rằng các tham số ban đầu (X, a, c, m) được chọn sao
cho dãy toàn đẳng tuyến tính sinh ra có chu kỳ cực đại. Ngoài ra, giả sử b=a-1,
còn d là ước số chung lớn nhất của m và b.
- Khi đó, xác xuất để Xn+1 < Xn bằng
1
2
+ 𝑟
- Trong đó r = (2(c mod d) – d)/2m
- Do đó: |𝑟| < 𝑑 2𝑚⁄
Đặt S(x) = (ax + c) mod m, khi đó X=S(Xn) và để chứng minh định lý ta
chỉ cần tính các số nguyên x sao cho 0≤ 𝑥 ≤ 𝑚 và S(x)<x. Chúng ta cần chỉ ra
rằng số đó phải bằng
1
2
(𝑚 + 2(𝑐 𝑚𝑜𝑑 𝑑) − 𝑑)
Rõ ràng với a = 1 định lý đúng vì khi đó S(x) < x x + c ≥ m tức là
điều đó xảy ra đúng c lần.
Bây giờ nếu ký hiệu ⌊𝛼⌋ Là số nguyên lớn nhất nhỏ hơn hoặc bằng 𝛼 ,
và c là số nguyên nhỏ nhất lớn hơn hoặc bằng 𝛼. Khi đó thì ⌊𝛼⌋ ≤ 𝛼 ≤ ⌈𝛼⌉.
Khi đó với x là một số nguyên bất kỳ 0≤ 𝑥 < 𝑚 ta gọi
k(x)=⌊(ã + 𝑐)/𝑚⌋, khi đó S(x) = ax + c - k(x).m và k(x) ≤ (ax+c)/m. Từ đó, ta
có:
(k(x).m - c)/a ≤ x < (k(x).m – c)/b (*)
41
𝑎𝑥+𝑐
𝑚
≤ 𝑘(𝑥) ≤
𝑏𝑥+𝑐
𝑚
<
𝑎𝑥+𝑐
𝑚
+ 1 (**)
Tức là k(x) xác định duy nhất, từ đó ta có:
(i1) ⌈(𝑘𝑚 − 𝑐)/𝑎⌉ ≤ 𝑥 < ⌈(𝑘𝑚 − 𝑐)/𝑏⌉ , 0 < 𝑘 < 𝑎 do (*)
(i2) ⌈𝑚 − 𝑐/𝑎⌉ ≤ 𝑥 < 𝑚 , (do 0≤x≤m và tính chất của k(x))
Khi đó số các số nguyên x sẽ bằng
𝑚 + ∑ ⌈(𝑘𝑚 − 𝑐)/𝑏⌉ −
0<𝑘≤𝑏
∑ ⌈(𝑘𝑚 − 𝑐)/𝑎⌉
0<𝑘≤𝑎
(***)
Bây giờ định lý sẽ được chứng minh nếu ta chỉ ra được (***) bằng:
[
1
2
(𝑚 + 2(𝑐𝑚𝑜𝑑𝑑) − 𝑑)]
Để làm điều đó trước hết ta đưa vào hàm
𝜎(𝑥) = ⌊𝑍⌋ + 1 − ⌈𝑍⌉ = {
1
0
𝑁ế𝑢 𝑍 𝑛𝑔𝑢𝑦ê𝑛
𝑁ế𝑢 𝑋 𝑘ℎô𝑛𝑔 𝑛𝑔𝑢𝑦ê𝑛
((𝑍)) = 𝑍 − ⌊𝑍⌋ +
1
2
𝜎(𝑧) −
1
2
= 𝑍 − ⌈𝑍⌉ +
1
2
−
1
2
𝜎(𝑧) (Hàm đặc trưng của Z)
Thay ký hiệu trên vào (***) ta có:
(∗∗∗) =
1
2
(𝑚 − 1 + ∑ 𝜎(
𝑘𝑚 − 𝑐
𝑎
)
0<𝑘≤𝑎
− ∑ 𝜎(
𝑘𝑚 − 𝑐
𝑏
)
0<𝑘≤𝑏
+ ∑ ((
𝑘𝑚 − 𝑐
𝑎
))
0<𝑘≤𝑎
− ∑ ((
𝑘𝑚 − 𝑐
𝑏
))
0<𝑘≤𝑎
)
Bởi vì a và m là nguyên tố cùng nhau nên (km-c) mod a chỉ nhận giá trị
0,1,(a-1) và do k≤a nên
∑ 𝜎(
𝑘𝑚 − 𝑐
𝑎
) = 1;
0≤𝑘≤𝑎
∑ ((
𝑘𝑚 − 𝑐
𝑎
)) = 0
0≤𝑘≤𝑎
Thang Long University Libraty
42
Ngoài ra, nếu m và b nguyên tố cùng nhau còn c và b nguyên tố cùng
nhau thì (km-c)/b không thể nguyên. Vì vậy, thành phần thứ hai trong tổng trên
bằng 0, còn
((
𝑘𝑚 − 𝑐
𝑏
)) = ((
𝑘𝑚 − 𝑑 ⌊
𝑐
𝑑⌋ − 𝑐 𝑚𝑜𝑑 𝑑
𝑏
))
= ((
𝑘𝑚/𝑑 − ⌊𝑐/𝑑⌋
𝑏/𝑑
)) −
𝑐 𝑚𝑜𝑑 𝑑
𝑏
+
1
2
𝜎 (
𝑘𝑚/𝑑 − ⌊𝑐/𝑑⌋
𝑏/𝑑
)
Lại do 0≤(c mod d)/b<1/(b/d) và m/d, b/d nguyên tố cùng nhau nên
∑ ((
𝑘𝑚 − 𝑐
𝑏
)) =
1
2
0≤𝑘≤𝑏
𝑑 − 𝑐 𝑚𝑜𝑑 𝑑
Và định lý được chứng minh.
Việc dẫn ra cách chứng minh định lý trên chỉ nhằm mục đích chỉ ra rằng
để chứng minh các tính chất lý thuyết của các chuỗi ngẫu nhiên toàn đẳng tuyến
tính nói riêng và các chuỗi ngẫu nhiên sinh bằng các phương pháp toán học nói
chung là rất phức tạp, nhưng dù sao công việc cũng đã hoàn thành. Việc chứng
minh định lý còn chỉ ra rằng việc chọn a và c bất kỳ sẽ dẫn đến biến cố Xn+1<Xn
với tần số tương ứng, trừ trường hợp d khá lớn mà d lớn là điều không mong
muốn với phương pháp toàn đẳng tuyến tính.
III.3.3. Tiêu chuẩn tương quan
Tiêu chuẩn sau đây đưa ra mối quan hệ giữa các tham số a, b với một đắc
trưng quan trọng hơn của dãy ngẫu nhiên là hệ số tương quan của hai phần tử
trong suốt cả chu kỳ.
Biết rằng hệ số tương quan được định nghĩa bởi công thức:
𝐶 = (𝑚 ∑ 𝑥𝑆(𝑥) −
0≤𝑥<𝑚
( ∑ 𝑥
0≤𝑥<𝑚
)
2
) (𝑚 ∑ 𝑥2 − ( ∑ 𝑥
0≤𝑥<𝑚
)
2
0≤𝑥<𝑚
)⁄
43
Giả sử x’ là một phần tử sao cho S(x’)=0. Khi đó:
S(x) = 𝑚((
𝑎𝑥 + 𝑐
𝑚
) +
𝑚
2
) Nếu x ≠ x’
Ký hiệu: 𝜎(ℎ, 𝑘, 𝑐) = 12∑((
𝑗
𝑘
) (
ℎ𝑗+𝑐
𝑘
)) được gọi là hàm tổng Dedekin
Khi đó do:
∑ 𝑥
0≤𝑥<𝑚
=
𝑚(𝑚 − 1)
2
và
∑ 𝑥2
0≤𝑥<𝑚
=
𝑚(𝑚 − 1)(2𝑚 − 1)
𝜎
Nên
𝑚𝜎(𝑎,𝑚, 𝑐) − 𝑆 + 6(𝑚 − 𝑥 − 𝑐)
𝑚2 − 1
Với m khá lớn nên 𝐶 ≈ 𝜎(𝑎,𝑚, 𝑐) 𝑚⁄ với sai số tuyệt đối <
6
𝑚
.
Với hàm tổng quát Dedekin ta có công thức sau:
Bổ đề 1: ( Luật cương hổ của tổng Dedekin)
Nếu 0 ≤ 𝑐 < ℎ, 0 ≤ 𝑐 < 𝑘 và h,k là hai số nguyên tố cùng nhau thì:
𝜎(ℎ, 𝑘, 𝑐) + 𝜎(𝑘, ℎ, 𝑐) =
ℎ
𝑘
+
𝑘
ℎ
+
1
ℎ.𝑘
+
𝜎𝑐2
𝑘.ℎ
− 3
(Việc chứng minh bổ đề trên cần các kiến thức về hàm phức nên ở đây
ta sẽ bỏ qua)
Bổ đề 2: Nếu h, k nguyên tố cùng nhau và 0<c<k thì
𝜎(ℎ, 𝑘, 𝑐) = 𝜎(ℎ, 𝑘, 𝑐 𝑚𝑜𝑑 ℎ) +
6𝑟
𝑏
(𝑐 + 𝑐 𝑚𝑜𝑑 ℎ − 𝑘) + 𝑑
Trong đó 𝑟 = ⌊𝑐/𝑛⌋, 𝑑 = 0 với (c mod h) ≠ 0 và d=3 với (c mod h) = 0
Bổ đề 3: Với mọi a, m, c ta có
Thang Long University Libraty
44
𝐶 ≈
1
𝑎
(1 − 6
𝑐
𝑚
+ 6(
𝑐
𝑚
)
2
)
Xấp xỉ trên với sai số không vượt quá
𝑎
𝑚
Từ các kết quả trên ta có các định lý:
Định lý: Hệ số tương quan của một dãy toàn đẳng tuyến tính bất kỳ với
chu kỳ cực đại được xác định gần đúng bởi
𝐶 ≈
1
𝑎
(1 − 6
𝑐
𝑚
+ 6(
𝑐
𝑚
)
2
)
Với sai số nhỏ hơn
𝑎+6
𝑚
Ngoài các tiêu chuẩn trên, người ta còn đề xuất thêm tiêu chuẩn Phổ. Tuy
nhiên để áp dụng tiêu chuẩn này cần một khối lượng tính toán lớn cùng với
những kiến thức toán học hỗ trợ tương đối phức tạp – vượt qua giới hạn của
luận văn này.
III.3.4. Công suất
Một dãy toàn đẳng tuyến tính có chu kỳ cực đại được gọi là có công suất
là S nếu S là số nguyên nhỏ nhất sao cho bs ≡0 (mod m). Các tính toán chỉ ra
rằng các dãy có công suất ≤3 sẽ không là ngẫu nhiên bởi lẽ có quan hệ giữa các
phần tử cách nhau 3 vị trí, thông thường chọn S=4.
Để nâng cao chu kỳ và tính ngẫu nhiên của dãy, người ta còn đề xuất
nhiều phương pháp, ví dụ:
𝑋𝑛+1 = (𝑋𝑛 + 𝑋𝑛−𝑘) mod m
Trong đó k là số đủ lớn và các giá trị gốc sẽ là (𝑋0, 𝑋1, , 𝑋𝑘) được chọn
tùy ý.
𝑋𝑛 = (𝑎1𝑋𝑛−1 +⋯+ 𝑎𝑘𝑋𝑛−𝑘)𝑚𝑜𝑑 𝑝
45
Trong đó p là số nguyên tố lớn nhất có thể chứa trong một từ máy. Còn
các hệ số 𝑎1, 𝑎2, , 𝑎𝑘 được chọn sao cho:
𝑓(𝑥) = 𝑥𝑘 − 𝑎1𝑥
𝑘−1 −⋯− 𝑎𝑘 là đa thức nguyên thủy theo mod p.
Tổ hợp hai hay nhiều dãy toàn đẳng tuyến tính có chu kỳ
nguyên tố cùng nhau: 〈𝑋𝑛〉 và 〈𝑌𝑛〉
〈𝑍𝑛〉 = 〈𝑋𝑛〉 + 〈𝑌𝑛〉
III.3.5. Ví dụ
a. Dùng phương pháp toàn đẳng tuyến tính để sinh một dãy ngẫu nhiên
Với xm+1 = 5xm +3 mod 16; cho x1 = 1; x2 = 8; x3 = 11, Ta được dãy gồm
100 số dưới đây:
1; 8; 11; 10; 5; 12; 15; 14; 9; 0; 3; 2; 13; 4; 7; 6; 1; 8; 11; 10; 5; 12; 15;
14; 9; 0; 3; 2; 13; 4; 7; 6; 1; 8; 11; 10; 5; 12; 15; 14; 9; 0; 3; 2; 13; 4; 7; 6; 1; 8;
11; 10; 5; 12; 15; 14; 9; 0; 3; 2; 13; 4; 7; 6; 1; 8; 11; 10; 5; 12; 15; 14; 9; 0; 3;
2; 13; 4; 7; 6; 1; 8; 11; 10; 5; 12; 15; 14; 9; 0; 3; 2; 13; 4; 7; 6; 1; 8; 11; 10; 5;
12; 15; 14; 9; 0.
b. Dùng tiêu chuẩn kiểm tra tính đều để kiểm tra dãy số trên.
Yi ni Npi(𝑝𝑖 =
1
16
) (ni – npi)
(𝑛𝑖 − 𝑛𝑝𝑖)
2
𝑛𝑝𝑖
0 6 6,25 -0,25 0,01
1 7 6,25 0,75 0,09
2 6 6,25 -0,25 0,01
3 6 6,25 -0,25 0,01
4 6 6,25 -0,25 0,01
5 6 6,25 -0,25 0,01
6 6 6,25 -0,25 0,01
7 6 6,25 -0,25 0,01
Thang Long University Libraty
46
8 7 6,25 0,75 0,09
9 6 6,25 -0,25 0,01
10 7 6,25 0,75 0,09
11 7 6,25 0,75 0,09
12 6 6,25 -0,25 0,01
13 6 6,25 -0,25 0,01
14 6 6,25 -0,25 0,01
15 6 6,25 -0,25 0,01
100 V= 0,48
Với α =0,05, ν = k – 1 = 16 – 1 = 15
→
0,05
2 = 25,0;
0,95
2 = 7,25; V = 0,48
→ V = 0,48 (7,25; 25,0)
→ dãy trên không là dãy ngẫu nhiên theo tiêu chuẩn 2
c. Dùng tiêu chuẩn kiểm tra Xeri (cặp) để kiểm tra tính ngẫu nhiên của dãy
số trên
(q, r) ni pi npi (ni – npi)
(𝑛𝑖 − 𝑛𝑝𝑖)
2
𝑛𝑝𝑖
(1, 8) 7 1/8 6,25 0,75 0,09
(11, 10) 7 1/8 6,25 0,75 0,09
(5, 12) 6 1/8 6,25 -0,25 0,01
(15, 14) 6 1/8 6,25 -0,25 0,01
(9, 10) 6 1/8 6,25 -0,25 0,01
(3, 2) 6 1/8 6,25 -0,25 0,01
47
(13, 14) 6 1/8 6,25 -0,25 0,01
(7, 6) 6 1/8 6,25 -0,25 0,01
n = 50 0,24
Với α =0,05, ν = k – 1 = 8 – 1 = 7
→
0,05
2 = 14,1;
0,95
2 = 2,17; V = 0,24
→ V = 0,24 (2,17; 14,1)
→ dãy trên không là dãy ngẫu nhiên theo tiêu chuẩn 2
Dãy ghi dịch – Dãy ghi dịch tuyến tính
III.4.1. Thanh ghi dịch phản hồi tuyến tính bậc n
Định nghĩa: Thanh ghi dịch phản hồi bậc n là một bộ gồm n ô nhớ
A0,,An1 và một phản hồi 𝑓(𝑥0, 𝑥1, , 𝑥𝑥−1) hoạt động theo nguyên tắc sau:
Giả sử tại thời điểm k nội dung của ô Ai là ai(k), i=𝑖 = 1, 𝑛 − 1̅̅ ̅̅ ̅̅ ̅̅ ̅̅ với ai(k)
∈ GF(2) thì tại thời điểm kề ngay sau đó (thứ K+1) nội dung của ô Ai sẽ là:
{
𝑎𝑖(𝑘 + 1) = 𝑎𝑖+1(𝑘)
𝑎𝑛−1(𝑘 + 1) = 𝑓[(𝑎𝑛−1(𝑘), 𝑎𝑛−2(𝑘), , 𝑎0(𝑘))]
Thang Long University Libraty
48
Điều đó có nghĩa là thời điểm thứ k+1, các nội dung của ô đứng sau được
chuyển ngay sang ô đứng ngay trước đó, còn nội dung của ô cuối cùng khi đó
sẽ nhận giá trị của hàm 𝑓𝑘 = 𝑓(𝑎0(𝑘), 𝑎1(𝑘), , 𝑎𝑛−1(𝑘))
Cũng vậy, hàm 𝑓𝑘 được gọi là hàm phản hồi. Nếu 𝑓 có dạng tuyến tính
tức là phụ thuộc tuyến tính và các giá trị 𝑎𝑖(𝑘), (i=0,1,,n-1) thì thanh ghi dịch
được gọi là thanh ghi dịch tuyến tính.
III.4.2. Dãy ghi dịch, dãy ghi dịch tuyến tính
Định nghĩa :
Dãy {𝑎𝑘 = 𝑎0(𝑘)} k=0,1,2, (Các giá trị của ô A0 tại thời điểm thứ k)
được gọi là dãy ghi dịch bậc n với hàm số phản hồi 𝑓. Tổng quát hơn ta còn có
định nghĩa sau:
Định nghĩa :
Dãy {𝑎𝑘}, k=0,1,2, với ai ∈ GF(2) được gọi là dãy ghi dịch bậc n nếu
tồn tại một hàm 𝑓:𝑓: [𝐺𝐹(2)]𝑛 → 𝐺𝐹(2) sao cho 𝑎𝑛+𝑘 =
𝑓(𝑎𝑛−1+𝑘 , 𝑎𝑛−2+𝑘 , , 𝑎𝑘) ∀ k = 0, 1, 2
𝑎𝑛−2(𝑘)
𝑎0(𝑘)
𝑎1(𝑘)
𝑎2(𝑘)
𝑎𝑛−1(𝑘)
𝐶 = 𝑓(𝑎0(𝑘), 𝑎1(𝑘), , 𝑎𝑛−1(𝑘))
a0(k+1) .
.
an-2(k+1) an-1(k+1) 𝑎1(𝑘 + 1)
.
A0 An-2
Thời điểm
k+1
A1
Thời điểm
k
A
0
A
2
A
n-2
A
1
A
n-1
49
Dãy ghi dịch được gọi là tuyến tính (hay phi tuyến) nếu hàm f là tuyến
tính (phi tuyến)
Ví dụ: c = (1 1 1 0 1 0 0)
Ta thấy dãy này có chu kỳ bằng 7, ngoài ra có thể kiểm trứng thấy rằng:
𝑎3+𝑘 = 𝑎2+𝑘 ⨁ 𝑎𝑘 ∀ k = 0, 1, 2
Tức là 𝑓(𝑎2+𝑘 , 𝑎1+𝑘 , 𝑎𝑘) = 𝑎2+𝑘 ⨁ 𝑎𝑘
ở đây ⨁ được định nghĩa theo bảng trên. Vậy {𝑎𝑘} là dãy ghi dịch tuyến
tính bậc 3.
a b a ⨁ b
0 1 1
0 0 0
1 1 0
1 0 1
III.4.3. Tính chất của dãy ghi dịch.
- Mọi dãy ghi dịch tuyến tính đều có chu kỳ (vì nó thỏa mãn điều kiện của
nguyên lý chu trình);
- Dãy ghi dịch bậc n sẽ có chu kỳ P<2n-1 bởi lẽ với ai∈ GF(2) thì dãy sẽ có
tất cả 2n khả năng khác nhau và chu kỳ sẽ lặp lại khi có một khả năng bị
gặp lại: Và cũng do vậy ta có:
- Nếu gọi (𝑎0, 𝑎1, , 𝑎𝑛), ai∈ GF(2) là một n-tupel của dãy thì khi đó
với dãy ghi dịch bậc n mỗi n-typel chỉ xuất hiện nhiều nhất là một lần
trong một chu kỳ.
- Hàm tương tự qua bậc 𝜏
Thang Long University Libraty
50
Nếu {𝑎𝑘}, k=0,1 Gọi 𝐶(𝜏)=
1
𝑝
∑𝑏𝑖𝑏𝑖+𝜏 trong đó 𝑏𝑖 = 1 − 2𝑎𝑖, 𝑏𝑖 ∈ 𝑍,
P là chu kỳ của dãy.
Khi đó +𝐶(𝜏) =
𝐴(𝜏)−𝐷(𝜏)
𝑃
với 𝐴(𝜏) là số các cặp trùng nhau, 𝐷(𝜏) là số
các cặp khác nhau của hai pha {𝑎0, 𝑎1, , 𝑎𝑝−1} và {𝑎0+𝜏, 𝑎1+𝜏, , 𝑎𝑝−1+𝜏}
Trong đó p là chu kỳ của dãy.
Từ đó ta có {
+ 𝐶(𝜏) = 𝐶(𝜏 + 𝑘𝑝) ∀𝑘 ∈ 𝑁
+| 𝐶(𝜏)| ≤ 1
- Độ phức tạp tuyến tính của dãy ghi dịch và M-dãy
Định nghĩa : Số bậc n nhỏ nhất của thanh ghi dịch sinh ra dãy {𝑎𝑘} được
gọi là độ phức tạp tuyến tính của dãy.
Thấy rằng dãy có chu kỳ P có độ phức tạp tuyến tính là P vì đa thức phản
hồi tuyến tính khi đó là 1+Xp tạo ra dãy có chu kỳ P. Ngoài ra, độ phức tạp
tuyến tính bằng chính bậc của dãy.
Định nghĩa: Dãy ghi dịch tuyến tính bậc n được gọi là M-dãy nếu chu
kỳ của dãy là cực đại tức là bằng đúng 2n-1
- Định nghĩa về tính ngẫu nhiên của dãy (Định nghĩa của BLOM)
Xét một dãy {𝑎𝑖}, i ≥ 0, 𝑎𝑖𝜖 GF(2) với chu kỳ P. Khi đó dãy được gọi là
ngẫu nhiên nếu nó thỏa mãn 3 tính chất sau.
+ Tính chất 1: (Tiên đề 1) (Về tính đều của tần số đơn)
Số bít 0 và số bít 1 trong một chu kỳ của dãy khác nhau nhiều nhất là 1
đơn vị.
+ Tính chất 2: (Tiên đề 2 - Tính đều của các khoảng (GAP))
Trong một chu kỳ của dãy số, các GAP có độ dài k bằng
1
2𝑘
. Ngoài ra,
trong mỗi GAP độ dài k thì số GAP(0) bằng số GAP(1).
Ví dụ: (1 0 0 0 0 0 1), (0 1 1 1 1 1 0): GAP(0) và GAP(1) cùng
độ dài 5.
51
+ Tính chất 3: (Tiên đề về tính tương quan)
𝐶(𝜏) = {
1 1 𝜏 = 𝑘𝑝
𝑞 𝜏 ≠ 𝑘𝑝
k ∈ Z, p: chu kỳ của dãy
Trong đó đương nhiên |𝑞| < 1
III.4.4. Tính chất của các M-dãy
Giả sử {𝑎𝑘} là một dãy nhị phân sinh ra bởi thanh ghi dịch có độ dài n
(bậc n). khi đó:
Định lý 1: M-dãy thỏa mãn tiên đề 1 – về tính đều.
Thật vậy, do {𝑎𝑘} có chu kỳ 2
n -1 tức là các thanh ghi dịch sinh ra nó
phải trải qua đúng 2n -1 trạng thái (trừ trạng thái 0 0 0).
Mỗi trạng thái coi như biểu diễn nhị phân của 1 số nguyên dạng
𝑎𝑖
∗ = 𝑏0
𝑖𝑥𝑛−1 + 𝑏1
𝑖𝑥𝑛−1 +⋯+ 𝑏𝑛−1
𝑖 với 𝑏𝑗 ∈ 𝐺𝐹(2), 𝑥 ∈ 𝐺𝐹(2),
j=0,1,..,n-1
Trong đó:
𝑏𝑛−1
𝑖 = 𝑎𝑖; 𝑖 = 0,1,2, , 2
𝑛−1
Rõ ràng 𝑎𝑖 = {
0 ai
∗ chẵn
1 ai
∗ lẻ
Do tập các số nguyên {1,2, 2𝑛−1} có 2𝑛−1 số lẻ và 2𝑛−1 − 1 số chẵn
nên tiên đề 1 thỏa mãn.
Định lý 2: M-dãy thỏa mãn tiên đề 2 (Tính đều của GAP)
Trước hết chú ý rằng với M-dãy bậc n, trong một chu kỳ của dãy mỗi n-
typel chỉ xuất hiện đúng một lần (trừ ra n-tupel toàn 0). Do vậy, GAP toàn 0,
hay toàn 1 chỉ tồn tại trong một chu kỳ của dãy khi độ dài k của GAP thỏa mãn:
k≤ n
+ Với k=n đương nhiên chỉ có một n-tupel toàn số 1;
+ Với k=n-1 chỉ và chỉ có một GAP(n-1) số 0 dạng (1 0 00 1).
Và một GAP(n-1) số 1 dạng (0 1 11 0)
Thang Long University Libraty
52
+ Với 1 ≤ 𝑘 ≤ 2. Giả sử ta có một n-tupel có dạng (0 11⏟
𝑘
𝑎𝑖𝑘 𝑎𝑛⏟
𝑛−𝑘−2
Vậy đương nhiên do n-k-2 số sau là tùy ý nên sẽ có 2n-k-2 số loại như vậy.
Điều đó cũng đúng với loạt độ dài k cùng kiểu nhưng bao gồm k số 0. Từ đó,
ta có tổng số loạt trong một chu kỳ sẽ là:
𝐿 = 2(∑2𝑛−𝑘−2
𝑛−2
𝑘=1
) + 2 = 2𝑛−1 =
𝑃 + 1
2
Trong đó P là chu kỳ của dãy.
Định lý 3: M-dãy thỏa mãn tiên đề 3 (tiên đề về tính không tương
quan).
Thật vậy, gọi {𝐴𝑖(𝑖 = 1, 𝑝)} là một dãy có độ dài P nhị phân nào đó với
P là chu kỳ của dãy ghi dịch, trong đó:
𝐴1 = {𝑎1, 𝑎2, , 𝑎𝑝}
𝐴2 = {𝑎2, 𝑎3, , 𝑎𝑝,𝑎1}
.
𝐴𝑃 = {𝑎𝑝, 𝑎1, , 𝑎𝑝−1,}
𝐴1 = {0,0, ,0}
Có thể chứng minh rằng 𝐺 = {𝐴0, 𝐴1, , 𝐴𝑝} là một nhóm với phép cộng
Bool.
Từ đó, nếu ta đặt
𝐺∗ = {𝐵𝑖; 𝑖 = 0,1,2, . . , 𝑝}
với 𝐵𝑖 = {𝑏𝑖 , 𝑏𝑖+1, , 𝑏𝑖−1} trong đó 𝑏𝑖 = 1 − 2𝑎𝑖 , 𝑏𝑖 ∈ 𝑍
Khi đó (𝐺∗⨂) với ⨂ là phép toán nhân số nguyên theo từng cặp vị trí
tương ứng, cũng là một nhóm Abel. Ngoài ra:
𝐵𝑖⨂𝐵𝑗 = 𝐵𝑘 ≠ 𝐵0 do 𝐴𝑖⨂𝐴𝑗 = 𝐴𝑘 ≠ 𝐴0 với i ≠ j
53
𝐵𝑖⨂𝐵𝑖 = 𝐵0 = {−1,−1, , −1}
Do 𝐵𝑖⨂𝐵𝑗 = 𝐵𝑘 nên {𝐵𝑘 = 𝑏𝑖𝑏𝑖+𝑟; 𝑏𝑖+1𝑏𝑖+𝑟+1; ; 𝑏𝑖−1+𝑟𝑏𝑖−1} trong đó
𝜏 = 𝑗 − 𝑖 (𝑚𝑜𝑑 𝑝). Theo tiên đề 1, trong một chu kỳ số số 0 và số số 1 khác
nhau chỉ 1 đơn vị nên trong 𝐵𝑘 ≠ 𝐵0 sẽ có
𝑝−1
2
số 1 và
𝑝+1
2
số (-1) nên từ
𝐵𝑖⨂𝐵𝑖+𝜏 = 𝐵𝑘, ta có:
∑ 𝑏𝑗𝑏𝑗+𝑟 = 1.
𝑝−1
2
+ (−1)
𝑝+1
2
𝑝
𝑗=1 = −1 với 𝜏 ≠ 0 (mod p)
Như vậy rõ ràng
𝐶𝑟 =
1
𝑝
∑𝑏𝑛𝑏𝑛+𝑟 = {
1 𝜏 = 0
−
1
𝑝
𝜏 ≠ 0 (𝑚𝑜𝑑 𝑝)
𝑝
𝑛−1
Từ định lý trên chúng ta thấy M-dãy tạo thành từ các thanh ghi dịch tuyến
tính phản hồi là ngẫu nhiên theo định nghĩa Blom.
III.4.5. Chu kỳ của dãy nghi dịch tuyến tính và điều kiện M – dãy
III.4.5.1. Hàm đặc trưng, đa thức đặc trưng của dãy ghi dịch
a. Hàm đặc trưng
Giả sử có thanh ghi dịch tuyến tính bậc r với hàm phản hồi tuyến tính:
𝐹 = 𝑓(𝑎0, 𝑎1, , 𝑎𝑟−1) = ∑ 𝑐𝑖𝑎𝑟−𝑖 =
𝑟
𝑖=1 ar
Với ai, ci GF(2), ci ( 1, ,n ) gọi là các hệ số phản hồi, ai là giá trị tại
ô thứ i của thanh ghi.
Khi đó:
Định nghĩa: Cho dãy ghi dịch {an} = a0, a1, a2, được sinh bởi thanh
ghi dịch F. Khi đó, đa thức:
𝐺(𝑥) = ∑ 𝑎𝑛𝑥
𝑛∞
𝑛=0 được gọi là hàm đặc trưng của dãy {𝑎𝑛}.
Chú ý rằng ở đây trạng thái đầu của thanh ghi dịch được xem như
{𝑎−1, 𝑎−2, , 𝑎−𝑟}
Thang Long University Libraty
54
b. Đa thức đặc trưng
Bây giờ giả sử dãy 𝑎𝑛 = ∑ 𝑐𝑖𝑎𝑛−𝑖
𝑟
𝑖=1 khi đó
𝐺(𝑥) = ∑(∑𝑐𝑖𝑎𝑛−𝑖
𝑟
𝑖=1
)𝑥𝑛 =∑𝑐𝑖𝑥
𝑖
𝑟
𝑖=1
(∑𝑎𝑛−𝑖𝑥
𝑛−𝑖
∞
𝑛=0
)
∞
𝑛=0
=∑𝑐𝑖𝑥
𝑖
𝑟
𝑖=1
[𝑎−𝑖𝑥
−𝑖 +⋯+ 𝑎−1𝑥
−1 +∑𝑎𝑛𝑥
𝑛
∞
𝑛=0
]
∑𝑐𝑖𝑥
𝑖(𝑎−𝑖𝑥
−𝑖 +⋯+ 𝑎−1𝑥
−1) +
𝑟
𝑖=1
∑𝑐𝑖𝑥
𝑖
𝑟
𝑖=1
𝑎(𝑥)
→
𝐺(𝑥) [1 −∑𝑐𝑖𝑥
𝑖
𝑟
𝑖=1
] = ∑𝑐𝑖𝑥
𝑖(𝑎−𝑖𝑥
−𝑖 +⋯+ 𝑎−1𝑥
−1)
𝑟
𝑖=1
Và vì vậy
𝐺(𝑥) =
∑ 𝑐𝑖𝑥
𝑖(𝑎−𝑖𝑥
−𝑖 +⋯+ 𝑎−1𝑥
−1)𝑟𝑖=1
1 − ∑ 𝑐𝑖𝑥𝑖
𝑟
𝑖=1
Định nghĩa : ký hiệu 𝑓(𝑥) = 1 − ∑ 𝑐𝑖𝑥
𝑖𝑟
𝑖=1 = 1 + ∑ 𝑐𝑖𝑥
𝑖𝑟
𝑖=1 trong
trường hợp GF(2) thì f(x) chỉ phụ thuộc vào các hệ số phản hồi ci (i=1,2,,r).
Do vậy f(x) được gọi là đa thức đặc trưng của dãy ghi dịch tuyến tính và dãy
{𝑎𝑛} có được gọi là sinh bởi đa thức đặc trưng f(x)
III.4.5.2. Chu kỳ của dãy ghi dịch tuyến tính.
Các định lý sau đây cho ta cơ sở để xác định chu kỳ của một dãy ghi dịch
tuyến tính theo hàm sinh của nó.
Định lý : Giả sử dãy ghi dịch tuyến tính bậc r, {𝑎𝑛} sinh bởi đa thức
f(x) với điều kiện ban đầu
𝑎−1 = 𝑎−2 = ⋯ = 𝑎−𝑟+1 = 0; 𝑎−𝑟 = 1
55
Khi đó chu kỳ của dãy {𝑎𝑛} sẽ là số 𝑝 ∈ 𝑁 nhỏ nhất sao cho f(x) là ước
của (1 − 𝑥𝑝) (𝑚𝑜𝑑 2)
Chứng minh:
Biết rằng từ điều kiện ban đầu trên ta có:
∑𝑐𝑖𝑥
𝑖(𝑎−𝑖𝑥
−𝑖 +⋯+ 𝑎−1𝑥
−1)
𝑟
𝑖=1
= 𝑐𝑟
Tức là
𝐺(𝑥) =
𝑐𝑟
1 + ∑ 𝑐𝑖𝑥𝑖
𝑟
𝑖=1
=
𝑐𝑟
𝑓(𝑥)
= ∑𝑎𝑛𝑥
𝑛
∞
𝑛=0
ở đây 𝑐𝑟 = 1 vì 𝑐𝑟 ∈ 𝐺𝐹(2) trước hết giả sử {𝑎𝑛} có chu kỳ p; khi đó ta có:
1
𝑓(𝑥)
= 𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1 + 𝑥𝑝(𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1)
+ 𝑥2𝑝(𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1)
= (𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1)(1 + 𝑥𝑝 + 𝑥2𝑝 +⋯)
= (𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1).
1
1 − 𝑥𝑝
⇒
1−𝑥𝑝
𝑓(𝑥)
= 𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1
Tức là f(x) là ước của 1 − 𝑥𝑝. Từ nay, ta ký hiệu 𝑓(𝑥)/( 1 − 𝑥𝑝)
Bây giờ ta giả sử ngược lại 𝑓(𝑥)/( 1 − 𝑥𝑝). Thực hiện phép chia đa thức
1 − 𝑥𝑝 cho f(x) ta có:
(1 − 𝑥𝑝) = 𝑓(𝑥). (𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1); 𝑎𝑖 ∈ 𝐺𝐹(2)
Thành thử 𝑓(𝑥) =
1−𝑥𝑝
𝑎0+𝑎1𝑥+⋯+𝑎𝑝−1𝑥𝑝−1
⇒ 𝐺(𝑥) =
1
𝑓(𝑥)
=
𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1
1 − 𝑥𝑝
= (𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1)((1 + 𝑥𝑝 + 𝑥2𝑝 +⋯)
Thang Long University Libraty
56
= 𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1 + 𝑥𝑝(𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1)
+ 𝑥2𝑝(𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1) + ⋯
⇒ 𝐺(𝑥) = (𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1)
+ (𝑎0𝑥
𝑝 + 𝑎1𝑥
𝑝+1 +⋯+ 𝑎𝑝−1𝑥
2𝑝−1) + ⋯
Tức 𝐺(𝑥) = (𝑎0 + 𝑎1𝑥 +⋯+ 𝑎𝑝−1𝑥
𝑝−1) + (𝑎𝑝𝑥
𝑝 + 𝑎𝑝+1𝑥
𝑝+1 +
⋯+ 𝑎2𝑝−1𝑥
2𝑝−1) + ⋯
Với 𝑎𝑛+𝑘𝑝 = 𝑎𝑛
Từ biểu thức trên chứng tỏ chuỗi có chu kỳ p.
Chú ý rằng:
Từ chứng minh trên ta có:
Do 𝐺(𝑥) =
𝜑(𝑥)
𝑓(𝑥)
với bậc của 𝜑(𝑥) < bậc của 𝑓(𝑥) nên (𝑓, 𝜑) = 1 (𝜑
không là ước của f) thì định lý trên vẫn đúng.
Nếu 𝑓(𝑥) = 1 + ∑ 𝑐𝑖𝑥
𝑖𝑟
𝑖=1 là bất khả quy (tức là không thể tách được
𝑓(𝑥) = 𝑆(𝑥). 𝑅(𝑥) với S(x) và R(x) là hai đa thức bậc nhỏ hơn r thì chu kỳ p
cuả f(x) không phụ thuộc điều kiện ban đầu (trừ trường hợp , 𝜑(𝑥) = 0)
Định lý : Nếu {𝑎𝑛} là M-dãy (có chu kỳ cực đại p=2
r-1 thì đa thức đặc
trưng của nó 𝑓(𝑥) = 1 + ∑ 𝑐𝑖𝑥
𝑖𝑟
𝑖=1 là bất khả quy.
Chứng minh: Giả sử {𝑎𝑛} là M-dãy bậc r, khi đó chu kỳ p=2
r-1, thành
thử trong chu kỳ của nó phải chứa tất cả các r-tupel khác 0 tức là phải chứa r-
tupel dạng 1 0 0 00⏟
r−1 bít 0
. Lấy r-tupel trên làm điều kiện ban đầu ta được kết
quả đã nói trong định lý 1, tức là chu kỳ của dãy sẽ là số tự nhiên nhỏ nhất sao
cho 𝑓(𝑥) là ước của (1-xp).
Bây giờ giả sử rằng f(x) không là bất khả quy, khi đó:
𝑓(𝑥) = 𝑆(𝑥). 𝑅(𝑥) với (S(x),R(x))=1, và do vậy:
57
1
𝑓(𝑥)
=
𝛼(𝑥)
𝑆(𝑥)
+
𝛽(𝑥)
𝑅(𝑥)
Giả sử bậc của S(x) là r1, của R(x) là r2 với r1+r2=r. Như vậy,
𝛼(𝑥)
𝑆(𝑥)
sẽ là
hàm sinh của dãy có chu kỳ 𝑃1 ≤ 2
𝑟 − 1 và
𝛽(𝑥)
𝑅(𝑥)
cũng là hàm sinh của dãy có
chu kỳ là bội số chung nhỏ nhất của hai chu kỳ trên.
Như vậy
2𝑟 − 1 ≤ (2𝑟1 − 1)(2𝑟2 − 1) = 2𝑟1+𝑟2 − 2𝑟1 − 2𝑟2 + 1 ≤ 2𝑟 − 2 − 2 + 1
= 2𝑟 + 3
Điều đó mâu thuẫn. Do vậy, f(x) phải là đa thức bất khả quy – Định lý
được chứng minh.
Chú ý:
- Điều kiện bất khả quy của f(x) chỉ là điều kiện cần tức là có những đa thức
là bất khả quy nhưng không tạo thành M - dãy.
Ví dụ: 𝑓1(𝑥) = 𝑥
4 + 𝑥3 + 𝑥2 + 𝑥 + 1 là bất khả quy và là đa thức đặc
trưnng của dãy có chu kỳ là 5 vì f(x) là ước của (1-x5). Trong khi đó chu kỳ cực
đại của dãy là 24-1=15 hoặc giả 𝑓2(𝑥) = 𝑥
6 + 𝑥3 + 1 là ước của (1-x9).
Nếu dãy có đa thức đặc trưng f(x) là bất khả quy bậc r thì chu kỳ của dãy
sẽ là ước cuả 2r-1. Do vậy nếu (2r-1) là số nguyên tố Mecxen (Mersenne) thì
mọi đa thức bất khả quy bậc r đều tạo M-dãy.
Về điều kiện của M – dãy ta có định lý tổng quát sau:
Định lý: Nếu đa thức đặc trưng f(x) trong GF(q) nguyên thủy bậc n thì
mọi dãy khác không sinh ra bởi nó có chu kỳ T = qn – 1
Chứng minh:
Do f(x) là nguyên thủy mà f(x) là ước của 𝑥𝑞
𝑛−1 – 1 do vậy chu kỳ của
dãy khác không sinh ra bởi nó phải là ước của qn – 1. Giả sử rằng chu kỳ
Thang Long University Libraty
58
T< qn–1 . Khi đó dãy phải được sinh ra bởi ( xT – 1 ) tức là f(x) phải là
ước của ( xT – 1 ) điều đó trái với giả thiết f(x) là nguyên thủy bậc n. Như vậy
chu kỳ của dãy phải là qn – 1 , tức là f(x) sinh ra M – dãy ( dãy có chu kỳ cực
đại ).
Số các đa thức nguyên thủy Primitive tạo M-dãy bậc r là:
𝜆(𝑥) =
⌈𝛷(2𝑟 − 1)⌉
𝑟
Ở đây Φ(. ) là hàm ơle mà giá trị của nó bằng số các số nguyên dương
nhỏ hơn n và nguyên tố với n.
ví dụ: Với r = 4 thì 𝛷(24 − 1)=Φ(15) = 7
Vậy
𝜆(4) =
⌈𝛷(15)⌉
𝑟4
= ⌈
7
4
⌉ = 2 tính toán cụ thể được theo bảng dưới đây
R λ(r) r λ(r)
5 6 9 48
6 8 10 60
7 18 16 2048
8 32
Rõ dàng số lượng các M – dãy khá nhỏ, vì vậy trong thực tế thường sử
dụng các dãy tạo thành bằng cách “ cộng “ một số M – dãy để được các dãy
mới có chu kì lớn và số M – dãy tăng.
Ví dụ bằng phương pháp thích hợp thì với r = 10, số các M – dãy có thể
lên tới 388 000.
Việc nghiên cứu tạo các dãy có chu kì và số lượng M – dãy lớn là mục
đích của nhiều ứng dụng khác nhau. Đặc biệt là trong các vấn để bảo vệ thông
tin nói chung và mật mã nói riêng.
59
III.4.6. Hàm tự tương quan
Để xác định tính phụ thuộc (hay độc lập) giữa các phần tử của một dãy
giả ngẫu nhiên, người ta sử dụng khái niệm tự tương quan mà vai trò và tính
chất của nó cũng không khác đáng kể so với hàm tự tương quan trong lý thuyết
các quá trình ngẫu nhiên.
a. Định nghĩa: Hàm tự tương quan của một dãy ngẫu nhiên {x0, x1,
xn} có chu kỳ T được xác định bởi:
A(j) =
1
𝑟
∑𝑥𝑖𝑥𝑖+𝑗
𝑇−1
𝑗=0
Trong đó xi là phần tử thứ I và T là chu kỳ của dãy.
Ví dụ:
Dãy 𝑥𝑖 = {
0
1
𝑣ớ𝑖 𝑖 ≠ 𝑚𝑇
𝑣ớ𝑖 𝑖 = 𝑚𝑇
m = 0, 1, 2, k
Khi đó hàm tự tương quan
A(j) = {
1
𝑇
𝑣ớ𝑖 𝑗 = 0, 𝑇, 2𝑇
0 𝑣ớ𝑖 𝑗 𝑐ò𝑛 𝑙ạ𝑖
b. Tính chất của hàm tự tương quan với dãy giả ngẫu nhiên nhị phân có
chu kỳ cực đại.
Biết rằng mỗi dãy giả ngẫu nhiên nhị phân có chu kỳ cực đại T = 2n – 1
(m – dãy) chứa đúng 2n – 1 số 0 và 2n-1 số 1. Từ đó suy ra định lý sau:
Định lý: Dãy có chu kỳ cực đại sinh bởi đa thức sinh f(n) cấp n, có hàm
tự tương quan xác định bởi:
A(j) = ∑ 𝐵(𝑥𝑖+𝑥𝑖+𝑗)
2𝑛−1
𝑖=0
Trong đó: B(0) = +1, B(1) = -1. Khi đó:
Thang Long University Libraty
60
A(j) = {
2𝑛 − 1 𝑛ế𝑢 (2𝑛 − 1)|𝑟
−1 𝑡𝑟𝑜𝑛𝑔 𝑡𝑟ườ𝑛𝑔 ℎợ𝑝 𝑛𝑔ượ𝑐 𝑙ạ𝑖
Thật vậy: nếu ta dịch chuyển dãy xi(i=0, 1, 2, , 2n-1) đi một bước độ
dài r để được dãy xi+r(i=0, 1, 2, , 2n-1) mới hoặc là cùng loại với dãy cũ, hoặc
chỉ khác một dịch chuyển vòng. Trong trường hợp đầu thì tổng giá trị của B sẽ
là -1 vì nó chứa 2n-1-1 số 0 và 2n-1 số 1. Trong trường hợp sau, tất cả đều bằng
1 thành thử giá trị của B là 2n-1-1.
Ví dụ: đa thức nguyên thủy f(x) = x3 + x + 1 sinh ra dãy số có chu kỳ T
= 23 – 1 = 7. Đó là 1010011|1010011|101..
Đa thức nguyên thủy bậc 20 trên Z2 x20 + x3 + 1 sẽ sinh ra dãy giả ngẫu
nhiên với chu kỳ 220 – 1 ≈ 106. Hàm A(j) sẽ bằng -1 với tất cả các giá trị j bằng
bội của 106 và bằng 220 – 1 trong các trường hợp ngược lại.
III.4.7. Một vài ví dụ về dãy ghi dịch chu kỳ cực đại
Ví dụ 1: Đa thức đặc trưng f(x) = x4 + x3 + 1 là đa thức nguyên thủy vì
là ước của đa thức x15 + 1 nhưng không là ước của các đa thức xk + 1 với k<15
trong Z2. Khi đó một trong các dãy nhị phân mà nó sinh ra có dạng:
10001001101011110001
Có chu kỳ T = 15 = 24 – 1. Dễ dàng thấy rằng trong chu kỳ của dãy trên,
số chữ số 1 là 8, số chữ số 0 là 7, có thể coi như có phân phối xác xuất gần đều
P(x = 0) = 7/15 ≈ P(x = 1) = 8/15.
Ví dụ 2: Các đa thức nguyên thủy bậc 5, 6, 7, 15, 23, 31 trên trường Z2
x5 + x3 + 1, x6 + x + 1, x7 + x6 + 1, x15 + x14 + 1, x23 + x15 + 1, x 31 + x25 + 1 sinh
ra các dãy có chu kỳ tương ứng là 25 – 1, 26 – 1, 27 – 1, 215 – 1, 223 – 1, 231 – 1.
61
TÀI LIỆU THAM KHẢO
1- Lý Hoàng Tú (2003). Phân tích chuỗi thời gian. NXB Thống Kê – Hà
Nội 1;
2- Nguyễn Công Sứ (1998). Quá trình ngẫu nhiên và vật lý thông tin ứng
dụng – Lưu hành nội bộ - Học viện kỹ thuật mật mã ;
3- Lều Đức Tân(2001). Khóa ngẫu nhiên và phương pháp thực nghiệm
đánh giá ngẫu nhiên của khóa – Lưu hành nội bộ học viện mật mã,
Hà nội;
4- Trần Xuân Trường (2001). Dãy ngẫu nhiên trong mật mã – Lưu hành
nội bộ - Học viện kỹ thuật mật mã, Hà Nội.
5- Cơ sở mật mã hiện đại (2004 )(Dịch từ tiếng Nga – Lưu hành nội bộ
Ban cơ yếu Chính Phủ), Hà Nội 9;
6- Xiraep (1980). Xác xuất (bản tiếng Nga) – Matxcova;
7- K.nut (1997). Nghệ thuật lập trình cho máy tính (bản tiếng Nga) –
Matxcova;
8- Mật mã học và các mật mã tốc độ cao (bản tiếng Nga)( 2002) . NXB
Khoa Học Xanh-petecbua.;
9- L.Blum, M.Blum and M. Shub - A simple unpredictable
pseudorandom number generator. SIAM Journal Comp, Vol 15,
1986, pp 364-383;
10- D. Knuth – The art of computer programming: Vol 2.
Seminumerical algorithms, 2nd editon addison-Wesley, 1981.
11- Modezn Afplied and Thomas C.Bartee ( bản tiếng Nga) (1976).
Moskow.
Thang Long University Libraty
Các file đính kèm theo tài liệu này:
- 70_8163_1719.pdf