CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
3.4. Tính đúng đắn của thuật toán
Trong phần này, trước tiên tôi sẽ chứng minh tính đúng đắn của thuật toán Approx(𝝉, 𝒊, 𝒌). Để thực hiện điều này, tôi quy ƣớc 𝑚𝑖𝑛𝑎, 𝑚𝑎𝑥𝑎, 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎 lần lượt là giá trị của 𝑚𝑖𝑛, 𝑚𝑎𝑥, 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒 sau lần lặp thứ a và trước lần lặp thứ a + 1 của vòng foreach trong Approx.
Bổ đề 3: Sau mỗi lần lặp của vòng foreach, nếu thuật toán chƣa kết luận (return (f)) thì:
- τ𝑖,𝑙𝑎𝑠𝑡 _𝑎𝑐𝑡𝑖𝑣𝑒𝑎 là tác vụ cuối cùng của τ𝑖 hoàn thành trong khoảng (0, 𝑡𝑎].
- ∀𝑙 ≤ 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎, 𝑅 > 𝑟𝑖,𝑙 𝑖,𝑙+1.
Tôi sẽ chứng minh 2 phát biểu trên bằng phương pháp quy nạp.
+ Bước 1: t0 = last_active0 = 0 (giá trị khởi tạo trước vòng lặp). Do không có tác vụ nào hoàn thành trước thời điểm t0, 2 phát biểu trên đúng.
+ Bước 2: giả sử 2 phát biểu trên đúng từ vòng lặp đầu tiên cho tới vòng lặp thứ 𝑎 − 1, tôi sẽ chứng minh nó đúng cho vòng lặp thứ a.
Theo bổ đề 2, ∀𝑙 ∈ 𝑁, 𝑙 > 𝐼𝑖 𝑡𝑎 𝑡ℎì 𝑊𝑖,𝑙 𝑡𝑎 > 𝑡𝑎. Tương tự, 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎−1 là chỉ số của tác vụ cuối cùng hoàn thành trong khoảng (0, 𝑡𝑎−1].
⟹ ∀𝑙 ∈ 𝑁, 𝑙 > 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎−1, ∀𝑡 ≤ 𝑡𝑎−1 thì 𝑊𝑖,𝑙 𝑡 > 𝑡. (a) Theo Approx, 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎 = 𝑚𝑎𝑥 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎−1, 𝐼𝑖 𝑡𝑎 (b) Từ (a) và (b), mặt khác 𝑊𝑖,𝑙 𝑡 lại là hàm tuyến tính không giảm
⟹ ∀𝑙 > 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎, ∀𝑡 ≤ 𝑡𝑎, 𝑊𝑖,𝑙 𝑡 > 𝑡. Điều này chứng tỏ các tác vụ sau
τ𝑖,𝑙𝑎𝑠𝑡 _𝑎𝑐𝑡𝑖𝑣𝑒𝑎không hoàn thành trước 𝑡𝑎. (1)
Trường hợp 1: 𝐼𝑖 𝑡𝑎 ≤ 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎−1 ⟹ 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎 = 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎−1
⟹ 2 phát biểu đƣợc chứng minh.
Trường hợp 2: 𝐼𝑖 𝑡𝑎 > 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎−1
⟹ 𝑚𝑖𝑛𝑎 = 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎−1+ 1; 𝑚𝑎𝑥𝑎 = 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎 = 𝐼𝑖 𝑡𝑎 . Theo giả thiết, τ𝑖,𝑙𝑎𝑠𝑡 _𝑎𝑐𝑡𝑖𝑣𝑒𝑎 −1là tác vụ cuối cùng hoàn thành tại 𝑡𝑎−1.
⟹ ∀𝑙 ∈ 𝑚𝑖𝑛𝑎, 𝑚𝑎𝑥𝑎 , ∀𝑡 ≤ 𝑡𝑎−1, 𝑊𝑖,𝑙 𝑡 > 𝑡 (c) Mặt khác, theo bổ đề 2, ∀𝑙 ∈ 𝑚𝑖𝑛𝑎, 𝑚𝑎𝑥𝑎 , 𝑊𝑖,𝑙 𝑡𝑎 ≤ 𝑡𝑎 (d) Từ (c) và (d) ⟹ ∀𝑙 ∈ 𝑚𝑖𝑛𝑎, 𝑚𝑎𝑥𝑎 , ∃! 𝑡𝑖,𝑙 ∈ 𝑡𝑎−1, 𝑡𝑎 để 𝑊𝑖,𝑙 𝑡𝑖,𝑙 = 𝑡𝑖,𝑙. Nhƣ vậy,
∀𝑙 ∈ 𝑚𝑖𝑛𝑎, 𝑚𝑎𝑥𝑎 tồn tại 𝑡𝑖,𝑙 là giao điểm đầu tiên của hàm 𝑊𝑖,𝑙 𝑡 và đường 𝑦 = 𝑡 mà tại đó 𝜏𝑖,𝑙 hoàn thành nhiệm vụ, giao điểm này chính là 𝑅 𝑖,𝑙.
⟹ ∀𝑙 ∈ 𝑚𝑖𝑛𝑎, 𝑚𝑎𝑥𝑎 ,τ𝑖,𝑙 hoàn thành trong khoảng 𝑡𝑎−1, 𝑡𝑎 . (2) Từ (1), (2), mặt khác 𝑚𝑎𝑥𝑎 = 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎 ⟹τ𝑖,𝑙𝑎𝑠𝑡 _𝑎𝑐𝑡𝑖𝑣𝑒𝑎là tác vụ cuối cùng hoàn thành trước thời điểm 𝑡𝑎 (Phát biểu 1 được chứng minh). (3)
Theo giả thiết, Approx chƣa trả về f ⟹ thuật toán chƣa trả về false. Do đó, ta có: 𝑊𝑖,𝑚𝑎𝑥𝑎 𝑟𝑖,𝑚𝑎𝑥𝑎+1 > 𝑟𝑖,𝑚𝑎𝑥𝑎+1 và (𝑟𝑖,𝑚𝑎𝑥𝑎+1 < 𝑡𝑎).
⟹ 𝑅 𝑖,𝑚𝑎𝑥𝑎 > 𝑟𝑖,𝑚𝑎𝑥𝑎+1
Theo hệ quả 1 ⟹ ∀𝑙 ∈ 𝑚𝑖𝑛𝑎, 𝑚𝑎𝑥𝑎 , 𝑅 𝑖,𝑙 > 𝑟𝑖,𝑙+1 (e)
Ngoài ra, theo giả thiết đệ quy ta có: ∀𝑙 ≤ 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎−1, 𝑅 𝑖,𝑙 > 𝑟𝑖,𝑙+1. Mà 𝑚𝑖𝑛𝑎 = 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎−1 ⟹ ∀𝑙 ≤ 𝑚𝑖𝑛𝑎, 𝑅 𝑖,𝑙 > 𝑟𝑖,𝑙+1. (f) Từ (e) và (f) ⟹∀𝑙 ≤ 𝑚𝑎𝑥𝑎, 𝑅 𝑖,𝑙 > 𝑟𝑖,𝑙+1 (Phát biểu 2 đƣợc chứng minh chứng minh).
(4)
Từ (3) và (4) ⟹Bổ đề 3 đƣợc chứng minh.
Tiếp theo, tôi sẽ chứng minh tính đúng đắn của thuật toán trong ngữ cảnh xấp xỉ thông qua định lí sau:
Định lý 3: Thuật toán Approx(𝝉, 𝒊, 𝒌) kết luận 𝜏𝑖 lập lịch đƣợc khi và chỉ khi:
∀ 𝑙 ≤ 𝑁𝑖 𝑙 > 0 , ∃𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊𝑖,𝑙(𝑡) ≤ 𝑡.
Thuật toán Approx(𝝉, 𝒊, 𝒌) kết luận 𝜏𝑖 không lập lịch đƣợc khi và chỉ khi ∃𝑙 ≤ 𝑁𝑖 𝑙 > 0 , ∀𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊𝑖,𝑙 𝑡 > 𝑡.
Chứng minh:
Chúng ta xét 2 trường hợp:
Trường hợp 1: Thuật toán return ngay trong vòng lặp foreach và chưa cần tính chỉ số h ở lệnh sau vòng foreach.
Giả sử thuật toán đƣa ra kết luận tại vòng lặp thứ a, ⟹ 𝐼𝑖 𝑡𝑎 > 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒𝑎, nghĩa là có ít nhất 1 tác vụ hoàn thành trong khoảng (𝑡𝑎−1, 𝑡𝑎]. Gọi tác vụ hoàn thành đầu tiên và tác vụ hoàn thành cuối cùng trong khoảng này lần lƣợt là 𝑚𝑖𝑛𝑎 và 𝑚𝑎𝑥𝑎. - Nếu thuật toán kết luận 𝜏𝑖 lập lịch đƣợc thì 𝑊𝑖,𝑚𝑖𝑛𝑎 𝑑𝑖,𝑚𝑖𝑛𝑎 ≤ 𝑑𝑖,𝑚𝑖𝑛𝑎và 𝑑𝑖,𝑚𝑖𝑛𝑎 >
𝑡𝑎−1 ⟹ 𝑅 𝑖,𝑚𝑖𝑛𝑎 ≤ 𝑑𝑖,𝑚𝑖𝑛𝑎.
⇔ ∀𝑙 ∈ 𝑚𝑖𝑛𝑎, 𝑚𝑎𝑥𝑎 thì 𝑅 𝑖,𝑙 ≤ 𝑑𝑖,𝑙 (Hệ quả 1).
Từ định nghĩa 𝑁𝑖, ta có 𝑚𝑖𝑛𝑎 ≤ 𝑁𝑖 ≤ 𝑚𝑎𝑥𝑎
⟹ ∀𝑙 ∈ 𝑚𝑖𝑛𝑎, 𝑁𝑖 𝑡ℎì 𝑅 𝑖,𝑙 ≤ 𝑑𝑖,𝑙
⟹ ∀𝑙 ∈ 𝑚𝑖𝑛𝑎, 𝑁𝑖 , ∃𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊𝑖,𝑙(𝑡) ≤ 𝑡 (a) Mặt khác, 𝑚𝑖𝑛𝑎 − 1 chính là chỉ số tác vụ cuối cùng hoàn thành ở thời điểm 𝑡𝑎−1, do đó theo bổ đề 2 ta có ∀𝑙 ≤ 𝑚𝑖𝑛𝑎 − 1, ∀𝑡 ≤ 𝑡𝑎−1, 𝑊𝑖,𝑙(𝑡) ≤ 𝑡 (b) Từ (a) và (b) ⟹ ∀𝑙 ≤ 𝑁𝑖, ∃𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊𝑖,𝑙(𝑡) ≤ 𝑡
- Nếu thuật toán kết luận 𝜏𝑖 không lập lịch đƣợc thì 𝑊𝑖,𝑚𝑖𝑛𝑎 𝑑𝑖,𝑚𝑖𝑛𝑎 > 𝑑𝑖,𝑚𝑖𝑛𝑎hoặc 𝑑𝑖,𝑚𝑖𝑛𝑎 ≤ 𝑡𝑎−1 . Trong cả 2 trường hợp, 𝑅 𝑖,𝑚𝑖𝑛𝑎 > 𝑑𝑖,𝑚𝑖𝑛𝑎
⟹ ∃𝑙 ≤ 𝑁𝑖 𝑙 > 0 , ∀𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊𝑖,𝑙 𝑡 > 𝑡.
Như vậy, định lý 3 đã được chứng minh trong trường hợp này. (1) Trường hợp 2: Sau vòng lặp foreach, thuật toán chưa trả về kết quả. Như vậy, 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒 chính là chỉ số tác vụ cuối cùng hoàn thành trong giai đoạn trước đó và ℎ = 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒 + 1 chính là chỉ số tác vụ đầu tiên hoàn thành trong giai đoạn 2.
Vì khoảng bận rộn chƣa kết thúc nên ta có 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒 < 𝑁𝑖 ⇔ ℎ ≤ 𝑁𝑖. - Nếu thuật toán kết luận 𝜏𝑖 lập lịch đƣợc thì 𝑊𝑖,ℎ 𝑑𝑖,ℎ ≤ 𝑑𝑖,ℎvà 𝑑𝑖,ℎ > 𝑡𝑚𝑎𝑥
⟹ 𝑅 𝑖,ℎ ≤ 𝑑𝑖,ℎ.
Vì ℎ ≤ 𝑁𝑖 nên theo định lý 2 ta có ∀𝑙 ∈ ℎ, 𝑁𝑖 𝑡ℎì 𝑅 𝑖,𝑙 ≤ 𝑑𝑖,𝑙.
⟹ ∀ 𝑙 ∈ ℎ, 𝑁𝑖 : ∃𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊𝑖,𝑙(𝑡) ≤ 𝑡. (c) Mặt khác, 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒 là chỉ số tác vụ cuối cùng hoàn thành trong giai đoạn 1, do đó theo bổ đề 2 ta có ∀𝑙 ≤ 𝑙𝑎𝑠𝑡_𝑎𝑐𝑡𝑖𝑣𝑒, ∀𝑡 ≤ 𝑡𝑚𝑎𝑥 𝑡ℎì 𝑊𝑖,𝑙(𝑡) ≤ 𝑡
⟹ ∀ 𝑙 ≤ ℎ − 1: ∃𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊𝑖,𝑙(𝑡) ≤ 𝑡 (d) Từ (c) và (d)⟹ ∀ 𝑙 ≤ 𝑁𝑖 ∶ ∃𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊𝑖,𝑙(𝑡) ≤ 𝑡 (điều phải chứng minh).
- Nếu thuật toán kết luận 𝜏𝑖 không lập lịch đƣợc thì 𝑊𝑖,ℎ 𝑑𝑖,ℎ > 𝑑𝑖,ℎ
⟹ 𝑅 𝑖,ℎ > 𝑑𝑖,ℎ, nghĩa là giao điểm 𝑅 𝑖,ℎ nằm sau kỳ hạn 𝑑𝑖,ℎ.
⟹ ∃𝑙 ≤ 𝑁𝑖 𝑙 > 0 , ∀𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊𝑖,𝑙 𝑡 > 𝑡.
Như vậy, định lý 3 đã được chứng minh trong trường hợp này. (2) Từ (1) và (2) ⟹ Định lý 3 đƣợc chứng minh.
Bổ đề 4 : ∀𝑡 ∈ 𝑁, 𝑅𝐵𝐹 τ𝑖, 𝑡 ≤ 𝑅𝐵𝐹 (τ𝑖, 𝑡) Chứng minh:
- Trường hợp 1: ∀𝑡 ∈ 𝑁, 𝑡 ≤ 𝑘 − 1 𝑇𝑖 − 𝐽𝑖 thì 𝑅𝐵𝐹 τ𝑖, 𝑡 = 𝑅𝐵𝐹 τ𝑖, 𝑡 . (1) - Trường hợp 2: ∀𝑡 ∈ 𝑁, 𝑡 > 𝑘 − 1 𝑇𝑖 − 𝐽𝑖.
Trước tiên tôi chứng minh đẳng thức sau đây: ∀𝑡 ∈ 𝑁, 𝑡+𝐽𝑖
𝑇𝑖 = 𝑡+𝑇𝑖+𝐽𝑖−1
𝑇𝑖 (2) Để chứng minh đẳng thức (2), tôi sẽ sử dụng quy tắc bất đẳng thức sau: ∀𝑥, 𝑦, 𝑧 là các số nguyên thì 𝑥 = 𝑦 khi và chỉ khi ∀𝑧, 𝑧 ≤ 𝑥 ⇔ 𝑧 ≤ 𝑦.
Gọi z là số nguyên tùy ý thỏa mãn 𝑧 ≤ 𝑡+𝐽𝑖
𝑇𝑖 . Ta có 𝑡+𝐽𝑖
𝑇𝑖 <𝑡+𝐽𝑖
𝑇𝑖 + 1
⟹ 𝑧 <𝑡+𝐽𝑇 𝑖
𝑖 + 1 ⟹ 𝑧 < 𝑡+𝑇𝑇𝑖+𝐽𝑖
𝑖 ⟹ 𝑧𝑇𝑖 < 𝑡 + 𝑇𝑖 + 𝐽𝑖.
Vì 𝑧𝑇𝑖 và 𝑡 + 𝑇𝑖 + 𝐽𝑖 là các số nguyên ⟹ 𝑧𝑇𝑖 ≤ 𝑡 + 𝑇𝑖+ 𝐽𝑖 − 1 ⟹ 𝑧 ≤𝑡+𝑇𝑖𝑇+𝐽𝑖−1
𝑖
. Vì z là số nguyên ⟹ 𝑧 ≤ 𝑡+𝑇𝑖+𝐽𝑖−1
𝑇𝑖 . (3) Xét số nguyên tùy ý 𝑧 ≤ 𝑡+𝑇𝑖+𝐽𝑖−1
𝑇𝑖 . Ta có 𝑡+𝑇𝑖+𝐽𝑖−1
𝑇𝑖 ≤ 𝑡+𝑇𝑖+𝐽𝑖−1
𝑇𝑖 <𝑡+𝑇𝑖+𝐽𝑖
𝑇𝑖
⟹ 𝑡+𝑇𝑖𝑇+𝐽𝑖−1
𝑖 <𝑡+𝑇𝑖+𝐽𝑖
𝑇𝑖 =𝑡+𝐽𝑇 𝑖
𝑖 + 1 ⟹ 𝑧 <𝑡+𝐽𝑇 𝑖
𝑖 + 1.
Vì z là số nguyên 𝑧 ≤ 𝑡+𝐽𝑇 𝑖
𝑖 ≤ 𝑡+𝐽𝑇 𝑖
𝑖 ⟹ 𝑧 ≤ 𝑡+𝐽𝑖
𝑇𝑖 . (4)
Từ (3) và (4) ⟹ Đẳng thức (2) đƣợc chứng minh.
⟹ 𝑡 + 𝐽𝑖
𝑇𝑖 𝐶𝑖 = 𝑡 + 𝑇𝑖 + 𝐽𝑖 − 1
𝑇𝑖 𝐶𝑖 ≤𝑡 + 𝑇𝑖 + 𝐽𝑖 − 1 𝑇𝑖 𝐶𝑖
⟹ 𝑅𝐵𝐹 τ𝑖, 𝑡 ≤ 𝑅𝐵𝐹 (τ𝑖, 𝑡) (5) Từ (1) và (5) ⟹ Bổ đề 4 đƣợc chứng minh.
Bổ đề 5: ∀𝑡, 𝑖, 𝑙 ∈ 𝑁, 𝑊𝑖,𝑙 𝑡 ≤ 𝑊𝑖,𝑙(𝑡) Chứng minh:
Từ Bổ đề 4, ta có ∀𝑗, 𝑙, 𝑡 ∈ 𝑁, 𝑅𝐵𝐹 τ𝑗, 𝑡 ≤ 𝑅𝐵𝐹 (τ𝑗, 𝑡)
⟹ ∀𝑖, 𝑙, 𝑡 ∈ 𝑁, 𝑅𝐵𝐹 τ𝑗, 𝑡 ≤
𝑗 <𝑖
𝑅𝐵𝐹 (τ𝑗, 𝑡)
𝑗 <𝑖
⟹ ∀𝑖, 𝑙, 𝑡 ∈ 𝑁, 𝑙𝐶𝑖 + 𝑅𝐵𝐹 τ𝑗, 𝑡 ≤
𝑗 <𝑖
𝑙𝐶𝑖 + 𝑅𝐵𝐹 (τ𝑗, 𝑡)
𝑗 <𝑖
⟹ ∀𝑖, 𝑙, 𝑡 ∈ 𝑁, 𝑊𝑖,𝑙 𝑡 ≤ 𝑊𝑖,𝑙(𝑡) (Bổ đề 5 đƣợc chứng minh).
Bổ đề 6: ∀𝑡, 𝑅𝐵𝐹 τ𝑖, 𝑡 <𝑘+1
𝑘 𝑅𝐵𝐹(τ𝑖, 𝑡) Chứng minh:
- Với 𝑡 ≤ 𝑘 − 1 𝑇𝑖 − 𝐽𝑖 thì 𝑅𝐵𝐹 τ𝑖, 𝑡 = 𝑅𝐵𝐹 τ𝑖, 𝑡 Vì 𝑘 ≝ 1
𝜀 − 1 ⟹ 𝑘 > 0. Do đó, 𝑅𝐵𝐹 τ𝑖, 𝑡 < 𝑘+1
𝑘 𝑅𝐵𝐹(τ𝑖, 𝑡) (1) - Với 𝑡 > 𝑘 − 1 𝑇𝑖 − 𝐽𝑖
Ta có 𝑅𝐵𝐹 τ𝑖, 𝑡 = 𝑡+𝐽𝑇 𝑖
𝑖 𝐶𝑖 ≥𝑡+𝐽𝑇 𝑖
𝑖 𝐶𝑖 > 𝑘−1 𝑇𝑇𝑖−𝐽𝑖+𝐽𝑖
𝑖 𝐶𝑖
⟹ 𝑅𝐵𝐹 τ𝑖, 𝑡 > 𝑘 − 1 𝑇𝑖
𝑇𝑖 𝐶𝑖 = 𝑘 − 1 𝐶𝑖
Mặt khác, RBF là hàm nhảy bậc, mỗi bước tăng 𝐶𝑖 đơn vị thời gian
⟹ 𝑅𝐵𝐹 τ𝑖, 𝑡 ≥ 𝑘𝐶𝑖 ⇔ 𝐶𝑖 ≤𝑅𝐵𝐹 τ𝑖,𝑡
𝑘 (2)
Ta có 𝑅𝐵𝐹 τ𝑖, 𝑡 − 𝑅𝐵𝐹 τ𝑖, 𝑡 = 𝑡 + 𝐽𝑖 + 𝑇𝑖− 1 𝐶𝑖
𝑇𝑖− 𝑡+𝐽𝑖
𝑇𝑖 𝐶𝑖 Vì 𝑡+𝐽𝑖
𝑇𝑖 𝐶𝑖 ≥𝑡+𝐽𝑖
𝑇𝑖 𝐶𝑖 ⟹ − 𝑡+𝐽𝑖
𝑇𝑖 𝐶𝑖 ≤ −𝑡+𝐽𝑖
𝑇𝑖 𝐶𝑖
⟹ 𝑅𝐵𝐹 τ𝑖, 𝑡 − 𝑅𝐵𝐹 τ𝑖, 𝑡 ≤ 𝑡 + 𝐽𝑖 + 𝑇𝑖 − 1
𝑇𝑖 𝐶𝑖 −𝑡 + 𝐽𝑖 𝑇𝑖 𝐶𝑖
⟹ 𝑅𝐵𝐹 τ𝑖, 𝑡 − 𝑅𝐵𝐹 τ𝑖, 𝑡 ≤ 𝑇𝑖 − 1
𝑇𝑖 𝐶𝑖 < 𝐶𝑖
⟹ 𝑅𝐵𝐹 τ𝑖, 𝑡 − 𝑅𝐵𝐹 τ𝑖, 𝑡 < 𝐶𝑖 ⇔ 𝑅𝐵𝐹 τ𝑖, 𝑡 < 𝑅𝐵𝐹 τ𝑖, 𝑡 + 𝐶𝑖 Từ (2) ⟹ 𝑅𝐵𝐹 τ𝑖, 𝑡 < 𝑅𝐵𝐹 τ𝑖, 𝑡 +𝑅𝐵𝐹 τ𝑖,𝑡
𝑘
⇔ 𝑅𝐵𝐹 τ𝑖, 𝑡 < 𝑘+1
𝑘 𝑅𝐵𝐹 τ𝑖, 𝑡 (3) Từ (1) và (3) ⟹ ∀𝑡, 𝑅𝐵𝐹 τ𝑖, 𝑡 <𝑘+1𝑘 𝑅𝐵𝐹(τ𝑖, 𝑡) (Bổ đề 6 đƣợc chứng minh).
Bổ đề 7: ∀𝑡, 𝑖, 𝑙, 𝑊𝑖,𝑙 𝑡 < 𝑘+1
𝑘 𝑊𝑖,𝑙(𝑡) Chứng minh:
Từ bổ đề 6, ta có ∀𝑡, 𝑗, 𝑙, 𝑅𝐵𝐹 τ𝑗, 𝑡 < 𝑘+1
𝑘 𝑅𝐵𝐹(τ𝑗, 𝑡)
⟹ 𝑅𝐵𝐹 (τ𝑗, 𝑡)
𝑗 <𝑖
<𝑘 + 1
𝑘 𝑅𝐵𝐹(τ𝑗, 𝑡)
𝑗 <𝑖
⟹ 𝑙𝐶𝑖 + 𝑅𝐵𝐹 (τ𝑗, 𝑡)
𝑗 <𝑖
< 𝑙𝐶𝑖 +𝑘 + 1
𝑘 𝑅𝐵𝐹(τ𝑗, 𝑡)
𝑗 <𝑖
⟹ 𝑙𝐶𝑖 + 𝑅𝐵𝐹 (τ𝑗, 𝑡)
𝑗 <𝑖
<𝑘 + 1
𝑘 𝑙𝐶𝑖 +𝑘 + 1
𝑘 𝑅𝐵𝐹(τ𝑗, 𝑡)
𝑗 <𝑖
⟹ 𝑙𝐶𝑖 + 𝑅𝐵𝐹 (τ𝑗, 𝑡)
𝑗 <𝑖
<𝑘 + 1
𝑘 𝑙𝐶𝑖 + 𝑅𝐵𝐹(τ𝑗, 𝑡)
𝑗 <𝑖
⟹ 𝑊𝑖,𝑙 𝑡 < 𝑘+1
𝑘 𝑊𝑖,𝑙(𝑡) (Bổ đề 7 đƣợc chứng minh).
Định lý 4:
1. Nếu Approx(𝝉, 𝒊, 𝒌) kết luận τ𝑖 lập lịch đƣợc thì τ𝑖 có khả năng lập lịch chính xác.
2. Ngƣợc lại, τ𝑖 không có khả năng lập lịch trên bộ xử lý có công suất 1 − 𝜀.
Chứng minh:
1. Ta có Approx(𝝉, 𝒊, 𝒌) kết luận τ𝑖 lập lịch đƣợc
⇔ ∀ 𝑙 ≤ 𝑁𝑖, ∃𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 : 𝑊𝑖,𝑙(𝑡) ≤ 𝑡 (Định lý 3) Mặt khác, ∀𝑡, 𝑊𝑖,𝑙 𝑡 ≤ 𝑊𝑖,𝑙(𝑡) (Bổ đề 5)
⟹ ∀ 𝑙 ≤ 𝑁𝑖, ∃𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 : 𝑊𝑖,𝑙(𝑡) ≤ 𝑡. (a) Ta có: 𝑅 𝑖,𝑙 ≝ 𝑚𝑖𝑛 𝑡 | 𝑊𝑖,𝑙 𝑡 = 𝑡 .
- Với 𝑅 𝑖,𝑙 ∈ 𝑁 ⟹ 𝑊𝑖,𝑙 𝑅 𝑖,𝑙 ≤ 𝑊𝑖,𝑙 𝑅 𝑖,𝑙 = 𝑡 (Bổ đề 5). Trong [6] đã chứng minh rằng ∃𝑡′ ≤ 𝑅 𝑖,𝑙, 𝑊𝑖,𝑙 𝑡′ = 𝑡′.
Theo định nghĩa của 𝑅𝑖,𝑙 ⟹ 𝑅𝑖,𝑙 ≤ 𝑡′ ⟹ 𝑅𝑖,𝑙 ≤ 𝑅 𝑖,𝑙. (*) - Với 𝑅 𝑖,𝑙 ∉ 𝑁 ⟹ 𝑅 𝑖,𝑙 không phải là 1 điểm lập lịch trong 𝑆 𝑖 ⟹tồn tại 2 điểm lập
lịch liên tiếp 𝑡1, 𝑡2 ∈ 𝑆 𝑖 mà 𝑡1 < 𝑅 𝑖,𝑙 < 𝑡2.
Ta có 𝑊𝑖,𝑙 𝑡 là hàm tuyến tính trong (𝑡1, 𝑡2], 𝑅 𝑖,𝑙 là giao điểm mà tại đó 𝑊𝑖,𝑙 𝑡 = 𝑡 ⟹ ∀𝑡 ∈ (𝑅 𝑖,𝑙, 𝑡2], 𝑊𝑖,𝑙 𝑡 < 𝑡.
Với 𝑅 𝑖,𝑙 < 𝑡2, 𝑡2 ∈ 𝑁 ⟹ 𝑅 𝑖,𝑙 < 𝑅 𝑖,𝑙 ≤ 𝑡2 . Giọi 𝑡3 = 𝑅 𝑖,𝑙 ⟹ 𝑊𝑖,𝑙 𝑡3 <
𝑡3 ⟹ 𝑊𝑖,𝑙 𝑡3 < 𝑡3 (Bổ đề 5). Trong [6] đã chứng minh rằng ∃𝑡′ <
𝑡3, 𝑊𝑖,𝑙 𝑡′ = 𝑡′.
Theo định nghĩa của 𝑅𝑖,𝑙 ⟹ 𝑅𝑖,𝑙 ≤ 𝑡′ < 𝑡3. Vì 𝑅𝑖,𝑙 và 𝑡3 là các số nguyên ⟹ 𝑅𝑖,𝑙 ≤ 𝑡3− 1= 𝑅 𝑖,𝑙 − 1 ⟹ 𝑅𝑖,𝑙 < 𝑅 𝑖,𝑙 (**) Từ (*) và (**) ⟹∀𝑙, 𝑅𝑖,𝑙 ≤ 𝑅 𝑖,𝑙.
Mặt khác, theo định nghĩa 𝑁𝑖, ta có ∀𝑙 < 𝑁𝑖, 𝑅𝑖,𝑙 > 𝑟𝑖,𝑙+1
⟹ ∀𝑙 < 𝑁𝑖, 𝑅 𝑖,𝑙 > 𝑟𝑖,𝑙+1 ⟹ 𝑁𝑖 ≥ 𝑁𝑖. (b) Từ (a) và (b) ⟹ ∀ 𝑙 ≤ 𝑁𝑖, ∃𝑡 ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 : 𝑊𝑖,𝑙(𝑡) ≤ 𝑡. Nhƣ vậy, τ𝑖có khả năng lập lịch chính xác. (Đinh lý 1) (1) 2. Ta có Approx(𝝉, 𝒊, 𝒌) kết luận 𝜏𝑖 không có khả năng lập lịch
⇔ ∃ l ≤ 𝑁𝑖, ∀t ∈ 𝑟𝑖,𝑙, 𝑑𝑖,𝑙 , 𝑊 𝑡 > 𝑡 (Định lý 3) 𝑖,𝑙 Mặt khác, ∀𝑡, 𝑖, 𝑙 𝑊𝑖,𝑙 𝑡 <𝑘+1
𝑘 𝑊𝑖,𝑙(𝑡) (Bổ đề 7)
⟹ 𝑡 <𝑘+1
𝑘 𝑊𝑖,𝑙 𝑡 ⇔ 𝑊𝑖,𝑙 𝑡 > 𝑘
𝑘+1𝑡 Theo Định lý 5 trong [10], 𝑘
𝑘+1> 1 − 𝜀 ⟹ 𝑊𝑖,𝑙 𝑡 > 1 − 𝜀 𝑡
⟹ 𝜏𝑖,𝑙 không có khả năng lập lịch trên bộ xử lý công xuất 1 − 𝜀 (định lý 1) (2) Từ (1) và (2) ⟹ Định lý 4 đƣợc chứng minh.