Xích cộng

Từ testwiki
Bước tới điều hướng Bước tới tìm kiếm

Trong toán học, xích cộng cho số nguyên dương Bản mẫu:Mvardãy số các số tự nhiên bắt đầu bằng 1 và kết thúc với Bản mẫu:Mvar, sao cho mỗi số trong dãy là tổng của hai số trước đó trong dãy. Hai số trước đó không nhất thiết phải phân biệt. Độ dài của xích cộng là số tổng cần tính để ra số Bản mẫu:Mvar, nhỏ hơn một so với số lực lượng của dãy.[1]

Các ví dụ

Để lấy ví dụ: (1,2,3,6,12,24,30,31) là xích cộng cho 31 có độ dài bằng 7 bởi

2 = 1 + 1
3 = 2 + 1
6 = 3 + 3
12 = 6 + 6
24 = 12 + 12
30 = 24 + 6
31 = 30 + 1

xích cộng có thể dùng để tính lũy thừa xích cộng. Phương pháp này cho phép tính lũy thừa với số mũ nguyên với số phép nhân bằng độ dài của chuỗi. Lấy ví dụ trên, sử dụng xích cộng trên ta chỉ cần sử dụng 7 phép nhân để lũy thừa bậc 31 của số Bản mẫu:Mvar tùy ý, thay vì 30 nếu phải nhân liên tiếp hoặc 8 nếu tính lũy thừa bằng chia nhị phân:

Bản mẫu:Mvar2 = Bản mẫu:Mvar × Bản mẫu:Mvar
Bản mẫu:Mvar3 = Bản mẫu:Mvar2 × Bản mẫu:Mvar
Bản mẫu:Mvar6 = Bản mẫu:Mvar3 × Bản mẫu:Mvar3
Bản mẫu:Mvar12 = Bản mẫu:Mvar6 × Bản mẫu:Mvar6
Bản mẫu:Mvar24 = Bản mẫu:Mvar12 × Bản mẫu:Mvar12
Bản mẫu:Mvar30 = Bản mẫu:Mvar24 × Bản mẫu:Mvar6
Bản mẫu:Mvar31 = Bản mẫu:Mvar30 × Bản mẫu:Mvar

Các phương pháp tính xích cộng

Tính xích cộng có độ dài tối thiểu cho số n không phải là dễ; dạng tổng quát của bài toán tính chuỗi có thể tính giá trị cho mỗi phần tử trong một dãy số cho trước là NP-đầy đủ.[2] Chưa có thuật toán nào được biết để có thể tính xích cộng có độ dài tổi thiểu cho số n mà đảm bảo thời gian hoặc bộ nhớ hợp lý. Tuy nhiên, các kỹ thuật tính xích cộng với độ dài ngắn thì vẫn có nhưng sẽ không tối ưu.[3]

Một trong những phương pháp phổ biến để tính là phương pháp nhị phân, tương tự với tính lũy thừa bằng bình phương.Trong phương pháp này, xích cộng cho n được tính đệ quy từ xích cộng cho n=n/2. Nếu n chẵn thì nó có thể tính bằng tổng : n=n+n. Nếu n lẻ, phương pháp sử dụng hai tổng, tổng n1=n+n rồi tổng của tổng đó với 1[3]

Độ dài chuỗi

Ký hiệu l(n) là số tự nhiên s nhỏ nhất sao cho tồn tại xích cộng độ dài s tính ra n. Ta chứng minh được rằng

log2(n)+log2(ν(n))2.13l(n)log2(n)+log2(n)(1+o(1))/log2(log2(n)),

với ν(n)trọng số Hamming (số các bit 1) trong biểu diễn nhị phân của n.[4]

Chuỗi Brauer

Chuỗi Brauer hoặc xích cộng sao là xích cộng mà mỗi phần tử có tổng sử dụng số ngay trước nó. Số Brauer là số sao cho chuỗi Brauer tối ưu.[5]

Brauer chứng minh rằng

Bản mẫu:Math

với Bản mẫu:Tmath là độ dài chuỗi Brauer ngắn nhất. Với một số giá giá trị n, đặc biệt là Bản mẫu:Math thì bất đẳng thức trên thành đẳng thức:[6] Bản mẫu:Math. Tuy nhiên, Hansen chứng minh rằng có một số giá trị n sao cho Bản mẫu:Math, ví dụ như Bản mẫu:MathBản mẫu:Math. Số n nhỏ nhất có tính chất như vậy là 12509.

Giả thuyết Scholz

Bản mẫu:Main Giả thuyết Scholz ((đôi khi còn được gọi là Scholz–Brauer hoặc Brauer–Scholz), đặt tên theo Arnold Scholz và Alfred T. Brauer) là giả thuyết từ năm 1937 phát biểu rằng

l(2n1)n1+l(n).

Bất đẳng thức này thỏa mãn với mọi số Hansen, dạng tổng quát của số Brauer; Neill Clift đã kiểm tra bằng máy tính cho mọi n5784688 là số Hansen (số 5784689 thì không phải số Hansen).[7] Hơn nữa Clift còn kiểm chứng được thêm rằng l(2n1)=n1+l(n) với mọi n64.[5]

Xem thêm

Tham khảo

Bản mẫu:Reflist

Liên kết ngoài

  1. D. E. Knuth, The Art of Computer Programming, Vol 2, "Seminumerical Algorithms", Section 4.6.3, 3rd edition, 1997
  2. Bản mẫu:Citation. A number of other papers state that finding a shortest addition chain for a single number is NP-complete, citing this paper, but it does not claim or prove such a result.
  3. 3,0 3,1 Bản mẫu:Citation.
  4. Bản mẫu:Citation
  5. 5,0 5,1 Guy (2004) p.169
  6. Achim Flammenkamp , Shortest Addition Chains
  7. Bản mẫu:Cite journal