2.3. Tô màu tối ƣu cây truy vấn với tính chất vật lý
2.3.2. Thuật toán tách màu mở rộng
Chúng ta sẽ trình bày một mở rộng của thuật toán ColorSplit đã đƣợc giới thiệu ở mục 2.2.1. Cho cây truy vấn T với màu của các nút lá. Hãy tìm một chiến lƣợc tô màu có chi phí nhỏ nhất cũng nhƣ màu đầu vào, màu đầu ra của mỗi nút trong của cây T.
Định nghĩa 2.1
OptcStrategy(i, A) là chiến lƣợc thực hiện với chi phí cực tiểu cho
Optc(i,A) (nếu có nhiều chiến lƣợc thì chọn lấy một chiến lƣợc). OptcStrategy(i, A) không định nghĩa cho nút lá.
Định nghĩa 2.2
Strategies(i, A) là tập hợp các chiến lƣợc có thể áp dụng cho phép toán đƣợc biểu diễn bởi nút i và ràng buộc về đầu vào-đầu ra của nó cho phép A nhƣ
k j j k j j j s j s k s R recolor R c c Cost T R s st StrategyCo T Cost 1 1 , 1,..., ) ( , , ) ( ) , ( ) (
Bổ đề dƣới đây là trƣờng hợp tổng quát của Bổ đề 2.3. Giả sử nút i có các nút con l, 2,...,k và cây con có gốc tại j tạo ra kết xuất là bảng Rj, 1≤ j ≤k. Chi phí thấp nhất của cây con có gốc tại i sao cho i có màu đầu ra A có thể thu đƣợc bằng cách thử tất cả các chiến lƣợc có thể để tạo ra đầu ra có màu A. Bổ đề sẽ cho thấy rằng với chiến lƣợc s bất kỳ, chi phí thấp nhất đạt đƣợc do cực tiểu hoá chi phí của mỗi đầu vào riêng biệt.
Bổ đề 2.4[1][2]
Cho cây truy vấn T,i là một nút trên T. Chi phí tô màu tối ƣu cây con gốc
i sao cho i có màu đầu ra A, ký hiệu Optc(i, A), đƣợc xác định bởi các công thức dƣới đây.
- Trường hợp i là nút lá,
- Trường hơp i không phải là nút lá, Optc(i, A) đƣợc tính theo công thức truy hồi sau:
Optc(i, A) = minsS[StrategyCost(s, Rls, ..., Rks) +
Trong đó, S = Strategies(i, A) và OptcStrategy(i, A) là chiến lƣợc thực hiện chi phí cực tiểu Optc(i, A). C là một tập màu mà các cây con gốc tại j có thể nhận. Thuật toán dƣới đây để tính Optc và OptcStrategy.
Thuật toán ExtendedColorSplit
Input: Cây truy vấn T với màu của các nút lá, tập màu C.
Output: Chiến lƣợc tô màu có chi phí tối thiểu.
Method
1. For mỗi nút i theo thứ tự hậu tố Do bƣớc 2
2. For mỗi màu aC Do dùng bổ đề 2.4 để tính Optc(i, a) và
OptcStrategy(i, a);
3. Xem r là gốc và a là màu sao cho Optc(r, a) ≤ Optc(r, c) với mọi màu
cC;
4. Màu tối ƣu cho r 1à a và chiến lƣợc tối ƣu là OptcStrategy(r, a);
5. For mỗi nút không là nút gốc theo thứ tự tiền tố Do bƣớc 6 6. Tính màu tối ƣu và các chiến lƣợc bằng cách áp dụng bổ đề 2.4;
End.
Thuật toán này có thời gian thực hiện trong trƣờng hợp xấu nhât là nS|C|2
trong đó S là số chiến lƣợc. |C| là số màu đƣợc phép còn n là số nút của cây.
0 nếu i có màu tương thích với A Optc(i, A) = trƣờng hợp khác ))]] , , ( , , ( ) , ( [ min 1 j A s inpCol c R or recol c Optc s j k j j C c
Bởi vì n và S thƣờng bé nên thời gian thi hành của thuật toán chủ yếu phụ thuộc vào |C|. Có thể giữ cho |C| thật nhỏ bằng hai nhận xét sau:
(1) Không có chiến lƣợc nào tạo ra quan hệ kết xuất có chỉ mục. Do vậy, chỉ mục có 2 thành phần trong bộ 3 thành phần màu là cần thiết cho các nút trong.
(2) Chỉ xem xét những màu có ích cho giai đoạn sau.
2.4. Kết chƣơng
Trong chƣơng 2, tác giả nghiên cứu, trình bày về tối ƣu hóa truy vấn, mô hình chi phí tối ƣu hóa. Trọng tâm của chƣơng, tác giả tập trung nghiên cứu, trình bày các thuật toán tô màu tối ƣu cho cây truy vấn. Thuật toán tách màu (ColorSplit) tìm màu tối ƣu (màu A) cho nút gốc (nút i), sau đó tách nút i thành k nút, kết quả nhận đƣợc là k cây con gốc i đƣợc tô màu A, chi phí tô màu k cây con cũng nhƣ cây ban đầu là Optc(i, A). Nghiên cứu mở rộng thuật toán ColorSplit với cách sử dụng tập màu cho từng bài toán cụ thể. Tiếp đến trình bày Thuật toán tô màu với các tính chất vật lý của các bảng cơ sở. Việc tô màu là việc tìm chiến lƣợc tối ƣu thực hiện truy vấn và cải tạo màu đầu vào để thỏa mãn tính chất đầu ra. Chiến lƣợc đƣợc chọn phụ thuộc vào các tính chất của các quan hệ đầu vào.
Chƣơng 3 : ỨNG DỤNG THUẬT TOÁN TÔ MÀU TỐI ƢU CÂY TRUY VẤN VÀO BÀI TOÁN QUẢN LÝ PHẠM NHÂN
Với đặc thù của công tác quản lý, giam giữ phạm nhân, theo dõi giám sát quá trình cải tạo của mỗi phạm nhân, Bộ Công an phân chia phạm nhân theo các tiêu chí nhƣ địa giới hành chính, vùng miền, đặc thù về mức độ phạm tội và tội danh đảm bảo công tác giam giữ, cải tạo phù hợp, an toàn cho mỗi đối tƣợng thuận lợi cho quản lý, giáo dục đào tạo nghề tái hòa nhập cộng đồng. Dữ liệu về phạm nhân về cơ bản đã đƣợc phân lớp, phân mảnh, phân tán ở các trại giam. Cơ sở dữ liệu quản lý phạm nhân rất phù hợp để ứng dụng các thuật toán đã trình bày ở chƣơng 2 cho các câu truy vấn thƣờng dùng, truy vấn đặc thù của cơ quan quản lý phạm nhân và lãnh đạo chỉ huy các cấp trong Bộ Công an.