1. Trang chủ
  2. » Công Nghệ Thông Tin

Phân hệ xếp lịch thi

36 214 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 168,47 KB

Nội dung

PHÂN HỆ XẾP LỊCH THI GIỚI THIỆU VỀ VẤN ĐỀ XẾP LỊCH THI: Xếp lịch thi vấn đề phức tạp mà trường phải quan tâm Ta nói vấn đề phức tạp để tìm lịch thi tối ưu ta phải đối mặt với bùng nổ tổ hợp, mà tại, chưa có chế tổng quát để giải bùng nổ tổ hợp Vì vậy, ta đạt lịch thi tốt theo số đánh giá đạt lịch thi gọi tốt Xếp lịch thi, hay tổng quát vấn đề xếp thời gian biểu vấn đề chuyên gia tin học giới quan tâm ứng dụng rộng rãi như: xếp lịch làm việc cho nhân viên, xếp thời gian biểu cho phương tiện giao thông công cộng đặc biệt việc chưa có giải thuật tối ưu cho vấn đề Đây thách thức lớn cho người yêu thích tin học Độ phức tạp vấn đề xếp lịch thi tùy thuộc vào tình hình trường, đặc biệt trường đại học cao đẳng có số lượng sinh viên số môn thi lớn Ở Việt Nam ta nay, đa số trường chuyển sang hệ tín làm xuất yêu cầu mới, ràng buộc làm cho chương trình hỗ trợ xếp thời khóa biểu xếp lịch thi viết trước trở nên lỗi thời, không phù hợp Do đó, để đáp ứng nhu cầu tại, tìm hiểu kỹ vấn đề em chọn phân hệ: “Xếp lịch thi” đề tài: “Xây dựng hệ thống quản lý học vụ dùng SQL SERVER với sở liệu phân bố” Với kiến thức cố vấn Thầy, Cô hướng dẫn, em cố gắng hoàn thành đề tài cách hợp lý với số giải thuật sử dụng kết hợp với số ý tưởng thực CHƯƠNG 1: MÔ TẢ NGHIỆP VỤ I MỤC ĐÍCH: Phần xếp lịch thi (thuộc phân hệ xếp thời khóa biểu) nhằm xếp lịch thi cho tất môn học có mở học kỳ-năm học Cung cấp công cụ uyển chuyển để hỗ trợ người sử dụng việc định chiến lược xếp lịch thi hay đánh giá lịch thi tốt, chấp nhận I.1 Các yêu cầu a) Yêu cầu thời gian thi - Thời gian thi kỳ thi phải thỏa mãn thời gian cho phép tuần bắt đầu, số tuần thi - Thời gian kỳ thi phải tránh ngày lễ, ngày nghỉ Cho phép định trước - Thời gian môn thi phải tránh tiết thi không cho phép định sẵn (ví dụ: tránh bắt đầu thi từ tiết sớm nên việc chuẩn bị cho kỳ thi không tốt.) b) Yêu cầu môn thi song song - Các nhóm học môn học phải thi lúc để tiện cho việc đề thi đánh giá kết học tập sinh viên - Cho phép chọn môn thi thời điểm, môn thi phải sinh viên thi hai môn Yêu cầu để giải việc môn học thuộc hai khóa ngành khác phải thi đồng thời Ví dụ: môn Lịch sử Đảng có khóa ngành Máy tính 95 Cơ khí 95 học thi lúc - Các nhóm tổ môn thi bắt buộc thi không trùng ngày tiết Ví dụ: môn thí nghiệm có phòng nhóm tổ thi môn thi chung thiếu phòng c) Yêu cầu số tiết thi - Số tiết thi lấy từ tự điển môn học - Cho phép cập nhập số tiết thi cho môn thi Cung cấp công cụ để cập nhập số tiết thi d) Yêu cầu ngày thi tiết bắt đầu thi - Nếu ngày thi tiết bắt đầu thi hai chọn trước cho môn thi phải ưu tiên xếp lịch thi cho môn thi vào ngày thi tiết bắt đầu (ở ta sử dụng độ ưu tiên tuyệt đối - Nếu xếp vào ngày tiết bắt đầu ưu tiên thông báo cho user thay đổi ngày tiết bắt đầu thi - Cung cấp công cụ nhập ngày tiết bắt đầu ưu tiên, không xếp thông báo yêu cầu user nhập lại ngày, tiết bắt đầu e) Yêu cầu tính chất phòng - Cho phép cập nhật loại phòng thi cho nhóm thi để xếp lịch thi cho môn đặc biệt môn thực hành, môn thí nghiệm Nếu có phòng phục vụ cho môn thi nhóm môn học thi song song thời gian - Cung cấp công cụ nhập tính chất phòng môn thi, phòng đặc biệt (phòng thí nghiệm ) tùy chiến lược chọn mà ta ưu tiên xếp lịch thi trước hay sau - Cung cấp công cụ ghép phòng thi để tận dụng phòng thi hay tiện việc quản lý - Đối với phòng thi khác nhau, tính chất phòng khác có hệ số sử dụng phòng khác Ví dụ: nhóm thi môn thí nghiệm có số chỗ ngồi cố định -> hệ số sử dụng = Các nhóm thi dùng phòng bình thường có hệ số sử dụng 0.5 f) Các công cụ để quản lý thông tin phục vụ hệ thống xếp lịch thi - Cung cấp công cụ cho phép user sử dụng tùy chọn kết hợp với kinh nghiệm nhằm đạt lịch thi chấp nhận - Cung cấp công cụ đánh giá liệu để user có thông tin tổng quát nhằm sử dụng tùy chọn xác - Cung cấp công cụ đánh giá lịch thi xếp để kiểm tra, so sánh kết chọn lịch thi kết tốt kết tìm I.2 Các ràng buộc sinh viên xếp lịch thi cho môn thi - Đảm bảo cho sinh viên không thi hai môn lúc cố gắng giảm thiểu thời gian thi không hợp lý (ví dụ: ngày thi hai môn, hai môn thi liên tiếp nhau…) - Xem xét học sinh viên, tránh ngày tiết thi trùng hay học sinh viên thi môn thi Các điều kiện tối ưu: a) Ngày tiết thi hợp lý: - Tránh sinh viên thi nhiều môn ngày - Tránh cho sinh viên thi nhiều môn liên tục (ba ngày thi liên tiếp, nhiều hai môn thi ngày ) b) Phòng thi: - Các phòng thi có số lượng phù hợp với nhóm thi, tránh dùng phòng lớn cho nhóm thi có số lượng sinh viên - Các phòng thi nhóm thi môn thi nên thuộc dãy phòng để dễ quản lý - Tuy nhiên không tìm phòng ta cho phép dùng phòng có sức chứa nhỏ phòng lại để xếp lịch thi CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ I PHÂN TÍCH VẤN ĐỀ: Xếp lịch thi, nghe, ta thấy vấn đề đơn giản: Ta cần xếp cho nhóm lớp giống thời khóa biểu, nghóa nhóm lớp học phòng thời điểm ta cho thi phòng vào ngày tương tự Tuy nhiên, thực tiến hành xếp lịch thi cho môn học, ta phải giải nhiều yêu cầu làm cho việc xếp lịch thi trở nên khó giải Một yêu cầu có môn học (thường hầu hết) mà nhóm lớp học môn phải thi lúc làm cho việc lấy thời khóa biểu học chuyển thành thời khóa biểu thi trở nên thực Tuy nhiên, khó khăn mà ta gặp phải tiến hành xếp lịch thi cho môn học Khó khăn vấn đề xếp lịch thi việc đạt lịch thi tối ưu Để đạt lịch thi tối ưu, ta cần phải xem xét hết tất khả gặp xếp môn thi Điều gặp trở ngại lớn mà chưa thực có phương pháp để giải cách triệt để, bùng nổ tổ hợp ta tiến hành việc xem xét khả Mặt khác, việc đánh giá lịch thi tối ưu khó khăn người có ý kiến chủ quan khác nhau: có người cho cần xếp tốt, có người cho phải xếp lịch thi cho tất sinh viên có lịch thi hợp lý thực lịch thi tốt Do đó, ta cần xếp lịch thi thỏa mãn số yêu cầu cụ thể mà người sử dụng chương trình chấp nhận đủ II CÁC HƯỚNG TIẾP CẬN VÀ GIẢI QUYẾT VẤN ĐỀ: Theo số báo tạp chí tin học có liên quan đến việc xếp lịch thi có hướng để giải vấn đề để tìm giải pháp tối ưu phương pháp phân nhóm (Cluster method), phương pháp (Sequential method), phương pháp tìm kiếm tổng quát (generalized search) Sau em xin trình bày cách ngắn gọn phương pháp II.1 Phương pháp phân nhóm: Phương pháp chia làm hai giai đoạn Giai đoạn (cluster phase), chia nhóm thi song song kết hợp với môn thi (gọi tắt nhóm thi) thành nhóm không bị đụng độ: conflict free group (nghóa nhóm thi group thi lúc mà sinh viên phải thi hai môn thời điểm) Có nhiều cách để chia group, đơn giản cách chọn nhóm thi một, bắt đầu với nhóm thi có số sinh viên nhiều nhất, nhóm thi đưa vào group mà không bị đụng độ (không có sinh viên nhóm thi group đó, có sinh viên group sinh viên phải thi môn group đó, thêm nhóm thi tức sinh viên phải thi hai môn – đụng độ)ä Mặt khác, để tối thiểu hóa số group mới, ta chọn nhóm thi đụng độ nhiều với nhóm thi khác trước (tức chọn nhóm thi theo thứ tự giảm dần số sinh viên có tham gia nhóm thi khác Sau nhóm thi phân chia vào group, giai đoạn hai này, group gán thời gian (ngày,tiết bắt đầu) để tối thiểu hóa vài mục tiêu hay thỏa mãn ràng buộc Có nhiều cách để chọn thứ tự group, cách đơn giản dùng hàm mục tiêu để tối thiểu hóa số sinh viên có hai môn thi liên tiếp Vấn đề đưa toán TSP (Travelling Sales Man: toán tìm đường ngắn để hết thành phố) cách coi group thành phố, đoạn đường hai thành phố số sinh viên phải thi hai group Ta tìm đường đến tất thành phố (tức xếp lịch thi cho tất group) với chiều dài đoạn đường ngắn (số sinh viên phải thi hai môn liên tiếp nhất) Thứ tự viếng thăm thành phố thứ tự group gán ngày thi tiết bắt đầu (tất nhiên phải xét thêm đến việc dùng phòng cho nhóm thi) Ngoài ra, để kết thúc trình tìm đường ta phải dùng thêm thành phố (group) có số sinh viên 0, để dùng thành phố kết thúc trình tìm kiếm II.2 Phương pháp tuần tự: Trong phương pháp này, nhóm thi gán cặp giá trị (ngày thi, tiết bắt đầu), nhiên có nhiều chiến lược thứ tự chọn nhóm thi chọn thời gian cho nhóm thi Thông thường ta sử dụng hai giai đoạn: giai đoạn xây dựng (construction phase) giai đoạn tối ưu kết (improvement phase) Giai đoạn xây dựng tìm lịch thi làm trạng thái bắt đầu Giai đoạn tối ưu hóa sửa đổi tìm lịch thi tối ưu  Các chiến lược thường dùng giai đoạn xây dựng: a) Chiến lược theo số lượng lớn nhóm thi liên quan, nghóa nhóm thi có số lượng nhóm thi khác, mà sinh viên nhóm thi phải tham gia, lớn Ví dụ: nhóm 1: SV A, SV B, SV C => số nhóm liên quan: nhóm 2: SV A, SV D => số nhóm liên quan: nhóm 3: SV B, SV E => số nhóm liên quan: nhoùm 4: SV A, SV F, SV H, SV G => số nhóm liên quan: Vậy nhóm xếp trước, sau nhóm 2, nhóm 3, nhóm theo số lượng số nhóm liên quan b) Chiến lược theo số lượng lớn khoảng thời gian bị đụng độ, nghóa nhóm thi có số lượng ngày tiết thi xếp nhỏ chọn xếp trước Ví dụ: nhóm 1: có 17 khả (các cặp giá trị: ngày tiết bắt đầu) để xếp lịch thi nhóm 2: có 10 khả (các cặp giá trị: ngày tiết bắt đầu) để xếp lịch thi nhóm 3: có khả (các cặp giá trị: ngày tiết bắt đầu) để xếp lịch thi Vậy ta chọn nhóm xếp trước, sau nhóm 2, nhóm theo thứ tự số khả giảm dần c) Chiến lược theo tổng số sinh viên phải thi môn khác: nhóm thi có số lượng sinh viên phải tham gia nhóm thi khác lớn xếp trước Ví dụ: theo ví dụ câu a, ta có: nhóm 1: sv tham gia nhóm thi khác nhóm 2, nhóm 3, nhóm 4: sv tham gia nhóm thi khác Vậy ta chọn nhóm xếp trước, sau đến nhóm lại d) Chiến lược theo số lượng sinh viên nhóm thi: nhóm có số lượng sinh viên lớn xếp trước Ví dụ: theo ví dụ câu a, ta có: nhoùm 1: sv nhoùm 2: sv nhoùm 3: sv nhóm 4: sv Vậy ta chọn theo thứ tự nhóm 4, nhóm 1, nhóm 2, nhóm e) Chiến lược xếp theo độ ưu tiên định trước: nhóm thi có độ ưu tiên lớn xếp trước f) Chiến lược chọn ngẫu nhiên: chọn nhóm thi cách ngẫu nhiên hay không quan tâm thứ tự chọn chúng Tuy nhiên, chiến lược thường kết hợp, hay cho phép người dùng chọn chiến lược, hay dùng chiến lược khác để tạo lịch thi khác cho cho phép người dùng chọn kết  Giai đoạn hai: Giai đoạn hai thường tìm nhóm thi chuyển đến thời điểm tốt (ngày thi, tiết bắt đầu), sau tìm nhóm thi đổi chỗ cho để kết tốt (một lịch thi thỏa mãn nhiều tiêu chuẩn đánh giá lịch thi cũ)  Cách thực: Hầu hết giải thuật theo phương pháp dùng ma trận gọi Conflict Matrix để thể Phần tử (i,j) ma trận số sinh viên phải thi hai nhóm thi i nhóm thi j Việc thể cho phép thực luật như: “tối thiểu số sinh viên có hai môn thi y khoảng thời gian liên tiếp” Tuy nhiên, đánh giá luật như: “ tối thiểu số sinh viên có hay nhiều môn thi y khoảng thời gian (ví dụ: y ngày)” Để đánh giá luật kiểu này, ta cần lưu lại danh sách môn thi sinh viên II.3 Chiến lược tìm kiếm tổng quát (generalized search) Ta dùng thuật ngữ generalized search để mô tả lớp giải thuật sử dụng hay vài trạng thái bắt đầu, sau dùng chiến lược tìm kiếm tránh tối ưu cục (thường xuất hill clibing), tìm kiếm vùng rộng hơn, tổng quát không gian tìm kiếm (sự tổ hợp tất khả có thể) Các giải thuật phương pháp bao gồm giải thuật simulated annealing, tabu search genetic algorithm Các giải thuật có tính chất: có đủ thời gian, chúng chắn tìm kết tối ưu Tuy nhiên, cho hầu hết vấn đề, đợi thời gian thời gian gần không tưởng, số trường hợp, với thời gian kết tìm không cần thiết Do đó, chúng cần kết hợp với việc sử dụng heuristic để tránh việc đánh giá tất tổ hợp tạo Trong vài khía cạnh, chúng tương tự phương pháp tuần tự; chúng dùng phương pháp xếp đơn giản để tạo hay vài lịch thi làm trạng thái đầu, sau sử dụng thủ tục tìm kiếm kết tốt trạng thái tạo từ trạng thái đầu Trong giải thuật này, thời gian tính toán chủ yếu giai đoạn tối ưu hoá a) Simulated annealing: Ý tưởng giải thuật nhanh chóng tìm kết tương đối tốt, tức chọn lịch thi cần thoả ràng buộc như: sinh viên thi hai môn lúc, phòng thi đủ chỗ Sau đó, chọn ngẫu nhiên kết lân cận (một lịch thi khác tạo từ lịch thi ban đầu cách đổi chỗ hai nhóm thi, hay chuyển nhóm thi sang thời điểm v.v ) Nếu kết thoả mãn hàm mục tiêu (hàm đánh giá lịch thi tốt hay xấu dựa ràng buộc sinh viên, phòng thi), chấp nhận Nếu không, kết tuỳ thuộc vào giải thuật cụ thể mà chọn hay không chọn Khởi đầu, có nhiều khả cho hầu hết kết chọn để tiếp tục xem xét Nhưng trình thực giải thuật, khả giảm xuống, điều luôn dẫn tới việc chọn kết tối ưu cục (hill clibing) Tuy nhiên, giải thuật cung cấp chiến lược nhảy khỏi điểm tối ưu cục để tiếp tục tìm điểm tối ưu cục khác (chọn ngẫu nhiên hay sử dụng heuristic) Tuỳ giải thuật mà hay nhiều hay tất kết tốt trạng thái kiểm tra giữ lại Quá trình dừng lại điều kiện thoát thoả mãn (thời gian tối đa hay kết tốt sau thời gian quy định trước), lúc này, kết tốt kết tìm trả lại b) Tabu search : Giải thuật tương tự simulated annealing chỗ xem xét đánh giá kết để chọn làm trạng thái trình tối ưu hoá Tuy nhiên, thay chọn ngẫu nhiêu trạng thái để thoát khỏi điểm tối ưu cục bộ, phương pháp dùng danh sách “tabu moves”,danh sách chứa kết xem xét trước, để tìm trạng thái khác không nằm danh sách để thoát khỏi trạng thái tối ưu cục bộ, bắt đầu trình tìm trạng thái tối ưu khác Trạng thái chấp nhận dẫn đến kết xấu kết có Tuy nhiên tập hợp trạng thái lân cận lớn, có giải thuật chọn 1/(2n) số khả tạo trạng thái mới, với n số nhóm thi Sau đó, giải thuật chọn trạng thái tốt trạng thái vừa tạo làm trạng thái Cũng lý danh sách tabu list lớn chọn hết tất trạng thái trước, nên danh sách giữ lại số định trạng thái trước, thực cặp giá trị (x,i) với x nhóm thi i thời gian gán cho nhóm thi x trạng thái trước Giải thuật không cho phép di chuyển nhóm thi x trở lại thời gian i Việc kết thúc giải thuật tương tự simulated annealing III CÁCH GIẢI QUYẾT VẤN ĐỀ: Như ta biết, việc xếp lịch thi tốn nhiều thời gian ta cách để tìm lịch thi tối ưu mà ta tìm lịch thi gọi chấp nhận theo quan điểm người sử dụng Vì lý này, em chọn hướng phát triển công cụ cung cấp cho người sử dụng tuỳ chọn xếp lịch thi để họ kết hợp kinh nghiệm thân thông tin liệu tìm lịch thi mà họ chấp nhận Theo phương pháp này, người dùng công cụ chọn độ ưu tiên chiến lược xếp lịch thi cho điểm ràng buộc để đánh giá lịch thi tốt, xấu Sau đó, tìm lịch thi, đánh giá lưu lại Sau chọn độ ưu tiên khác, tìm lịch thi để so sánh với lịch thi có để chọn lịch thi tốt III.1 Các chiến lược xếp lịch thi: Công cụ cho phép chọn độ ưu tiên cho chiến lược xếp lịch thi sau: Chiến lược chọn theo số nhóm liên quan: nhóm có số nhóm liên quan lớn chọn trước Đây chiến lược chọn có ảnh hưởng lớn đến kết tìm ta xếp cho nhóm có số nhóm liên quan lớn sau xếp cho nhóm liên quan nhóm phải tránh trùng thời gian thi tất nhóm liên quan làm cho khả tìm thời điểm thi tốt cho nhóm giảm xuống nhiều Ngược lại, ta xếp cho nhóm có số liên quan lớn trước nhóm liên quan chưa xếp lịch thi, nên nhóm có nhiều khả tìm thời điểm tốt để xếp lịch thi Chiến lược chọn theo số sinh viên nhóm: nhóm có số sinh viên lớn chọn trước Chiến lược theo số phòng cần cho nhóm thi: nhóm cần nhiều phòng xếp trước Thực ra, chiến lược gần giống chiến lược trên, số trường hợp nhóm tổ có số sinh viên lớn cần dùng phòng Chiến lược theo loại phòng nhóm thi: nhóm thi cần dùng phòng có tính chất đặc biệt, ví dụ nhóm thí nghiệm có phòng thí nghiệm, xếp trước Chiến lược cho phép ta xếp trước cho tất nhóm đặc biệt sau tới môn học bình thường điều thường dẫn đến kết chung xấu, số sinh viên nhóm thường làm cho nhóm liên quan ... đánh giá lịch thi tốt, xấu Sau đó, tìm lịch thi, đánh giá lưu lại Sau chọn độ ưu tiên khác, tìm lịch thi để so sánh với lịch thi có để chọn lịch thi tốt III.1 Các chiến lược xếp lịch thi: Công... tiết thi cho môn thi Cung cấp công cụ để cập nhập số tiết thi d) Yêu cầu ngày thi tiết bắt đầu thi - Nếu ngày thi tiết bắt đầu thi hai chọn trước cho môn thi phải ưu tiên xếp lịch thi cho môn thi. .. Phần xếp lịch thi (thuộc phân hệ xếp thời khóa biểu) nhằm xếp lịch thi cho tất môn học có mở học kỳ-năm học Cung cấp công cụ uyển chuyển để hỗ trợ người sử dụng việc định chiến lược xếp lịch thi

Ngày đăng: 28/09/2013, 10:20

HÌNH ẢNH LIÊN QUAN

- Bảng lịch thi xếp được. - Phân hệ xếp lịch thi
Bảng l ịch thi xếp được (Trang 14)
Input: Lấy thông tin từ bảng NGAY_THI. - Phân hệ xếp lịch thi
nput Lấy thông tin từ bảng NGAY_THI (Trang 19)
Output: Bảng MON_THI với các thông số cần thiết để xếp lịch thi như mã môn học, số tiết thi, tính chất phòng. - Phân hệ xếp lịch thi
utput Bảng MON_THI với các thông số cần thiết để xếp lịch thi như mã môn học, số tiết thi, tính chất phòng (Trang 20)
Input: Cột số tiết thi trong bảng MON_THI. Bảng này dùng để tham khảo khi xếp lịch thi - Phân hệ xếp lịch thi
nput Cột số tiết thi trong bảng MON_THI. Bảng này dùng để tham khảo khi xếp lịch thi (Trang 21)
Input: Lấy thông tin từ bảng NHOMTO_MONTHI. - Phân hệ xếp lịch thi
nput Lấy thông tin từ bảng NHOMTO_MONTHI (Trang 23)
Input: Lấy dữ liệu của cột LOAI_PHONG trong bảng MON_THI. Output: Cập nhật cột loại phòng để xếp phòng khi xếp lịch thi. - Phân hệ xếp lịch thi
nput Lấy dữ liệu của cột LOAI_PHONG trong bảng MON_THI. Output: Cập nhật cột loại phòng để xếp phòng khi xếp lịch thi (Trang 25)
Chức năng: Cho phép ghép phòng thi chung cho các tổ trong bảng NHOMTO_MONTHI. Input: Lấy cột GHEP trong bảng NHOMTO_MONTHI - Phân hệ xếp lịch thi
h ức năng: Cho phép ghép phòng thi chung cho các tổ trong bảng NHOMTO_MONTHI. Input: Lấy cột GHEP trong bảng NHOMTO_MONTHI (Trang 26)
Output: Cập nhật bảng DOT_XEP cho các cột CL1, CL2, CL2, CL3, CL4, CL5, CL6, CL7 Ràng buộc:  - Phân hệ xếp lịch thi
utput Cập nhật bảng DOT_XEP cho các cột CL1, CL2, CL2, CL3, CL4, CL5, CL6, CL7 Ràng buộc: (Trang 27)
Output: Cập nhật bảng DOT_XEP cho các cột DP1, DP2, DP3, DP4, DP5, DP6 và DTU Ràng buộc:  - Phân hệ xếp lịch thi
utput Cập nhật bảng DOT_XEP cho các cột DP1, DP2, DP3, DP4, DP5, DP6 và DTU Ràng buộc: (Trang 29)
Output: cập nhật bảng DOT_XEP lưu lại các thông tin user đã dùng các tùy chọn nào trong lần xếp này. - Phân hệ xếp lịch thi
utput cập nhật bảng DOT_XEP lưu lại các thông tin user đã dùng các tùy chọn nào trong lần xếp này (Trang 30)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w