Các thuật toán khác

Một phần của tài liệu Phân số ai cập và biểu diễn đơn vị (Trang 26 - 29)

Sau đây là một vài thuật toán khác mà cơ bản chúng ta chỉ mô tả chúng.

Chúng được liệt kê ở đây cho thấy phạm vi rộng lớn của các thuật toán là có sẵn.

1.3.1 Thuật toán giai thừa

Thuật toán này tạo ra một mở rộng có một mẫu số nhỏ nhất, nhưng nó không phải là thuật toán tốt nhất trên thế giới khi nó phải tiêu tốn nhiều thời gian để chạy nó. Nó cũng không đưa ra bất cứ kết quả tiệm cận hữu ích nào.

Cho phân số hữu tỉ p q <1. Bước 0: Cho n = 1

Bước 1: Thiết lập M =n!

Bước 2.: Nhân p và q với M

Bước 3: Liệt kê tất cả các ước của qM

Bước 4: Liệt kê tất cả các bộ các ước phân biệt có tổng là pM

Bước 5: Nếu không có bộ nào như vậy tăng n lên 1 và quay lại bước 1 Bước 6: Trong số các bộ đó chọn một bộ với ước tối thiểu lớn nhất Bước 7: Sử dụng ước vừa chọn làm tử số của phân số với mẫu số là qM Bước 8 : Rút gọn thành phân số tối giản để tạo ra một mở rộng.

Bước 9: Nếu n =q(q−1) chuyển đến bước 10, ngược lại tăng n lên 1 và quay lại bước 1.

Bước 10: Trong các mở rộng được lưu ở bước 8 chọn một mở rộng với mẫu số nhỏ nhất

Erd¨os đã chứng minh rằng trong mở rộng này tạo ra không quá 2n −2 số hạng, trong đó (n−1)!< q < n!.

1.3.2 Thuật toán Chuỗi Farey

Thuật toán Chuỗi Farey sử dụng Chuỗi Farey để tạo ra mở rộng của phân số p

q với ít nhất p số hạng và mẫu số không lớn hơn q(q−1). Chuỗi Farey bậc n, Fn, bao gồm tất cả phân số tối giản a

b với 0≤a ≤b ≤n sắp xếp theo thứ tự tăng dần. Chuỗi này còn có tính chất nếu a

b và c

d là các phân số liền kề trong Fn, và a

b < c d thì c

d − a b = 1

bd và b6=d. Cho phân số tối giản p

q <1.

Bước 1: Kí hiệu p0 =p và q0=q Bước 2: Tìm r

s,phân số liền kề với p

0

q0 trong chuỗi Farey, với r s < p0

q0. Nếu không tồn tại thì thêm p

0

q0 cho mở rộng, và chúng ta đã làm xong.

Bước 3: Chú ý p

0

q0 = 1 q0s + r

s Vì vậy đặt 1

q0s là một số hạng của khai triển.

Bước 4: Đặt p0 =r và q0 =s và quay lại bước 2.

Ví dụ 1.8.

3

7 = 1 35+ 2

5

= 1 3 + 1

15+ 1 35

Thuật toán Chuỗi Farey xuất hiện đưa ra kết quả tương tự như thuật toán Golomb.Vì trong chuỗi Farey, ta có r

s < p q

Nhưng p q − r

s = 1

qs →ps−qr = 1→ps=qr+ 1.

Kết quả này chính xác là thuật toán Golomb.

1.3.3 Thuật toán phân số tiếp diễn

Bleicher mô tả thuật toán dựa trên sử dụng phân số tiếp diễn của p

q = [0;a1, a2,ã ã ã , an] Sử dụng nó, Ông chứng minh D(N)< N(N −1) và

L(N ≤min

2(ln q)2

ln ln q ,1 +a2+a4+ã ã ã+a∗n

, trong đó a∗n = 2[n/2].

Rất tiếc thuật toán này có phần phức tạp và chứng minh gần 40 trang.

1.3.4 So sánh Thuật toán

Có 3 tiêu chuẩn cơ bản của biểu diễn một phân số thành tổng các phân số Ai-cập:

1. Số các số hạng (chiều dài) 2. Mẫu số lớn nhất.

3. Số các kí tự cần thiết để viết mở rộng. Chẳng hạn 1 2 +1

3 có thể sử dụng 3 kí tự: 2, 3(Vì ta biết tất cả tử số là 1). Đây là sự kết hợp giữa chiều dài và độ lớn của các mẫu số.

Một máy tính đã được sử dụng để so sánh bốn thuật toán :Fibonaci/Sylvester, Golomb, Bleicher/Erd¨os, và Tenenbaum/Yokota.

Các thuật toán được so sánh trên cả ba tiêu chí, trên các mẫu số nguyên tố từ 2 đến 2002 và tương ứng tất cả các tử số (tất cả các phân số thích hợp như vậy).

Các mẫu số có lẽ là quá nhỏ lấy được từ kết quả thực, nhưng một số quan sát thú vị có thể thực hiện được.

Trong các loại độ dài, thuật toán Golomb thật kinh khủng, trong khi thuật toán Fibonaci-Sylvester dường như tiệm cận tương tự hai thuật toán kia. Mặt

khác thuật toán Fibonaci-Sylvester tốt hơn hai thuật toán kia ít nhất về thời gian -trung bình ít hơn 35

Trong phạm trù mẫu số, Thuật toán Fibonaci-Sylvester như dự kiến, thực hiện khủng khiếp. Tuy nhiên so sánh với hai, Thuật toán Golomb đã làm rất tốt khi sánh với hai thuật toán kia. Điều này có lẽ là do các mẫu tương đối nhỏ. Tuy nhiên các giới hạn tiệm cận của hai thuật toán kia được biết là tốt hơn nhiều.

Trong toàn bộ loại ký tự, các thuật Bleicher/Erd¨os và Tenenbaum/Yokota rõ ràng vượt trội. Từ vẻ ngoài, có lẽ thuật toán Bleicher/Erd¨os là khá hơn chút ít. Điều này có lẽ là do các mẫu số, hoặc có lẽ chỉ đơn giản là tốt hơn. Chứng minh đi đến thuật toán Tenenbaum/Yokota là tốt hơn, nhưng điều này không có nghĩa là giới hạn thực tế.

Một phần của tài liệu Phân số ai cập và biểu diễn đơn vị (Trang 26 - 29)

Tải bản đầy đủ (PDF)

(66 trang)