bồi dưỡng học sinh giỏi môn tin học thpt chuyên đề QUI HOẠCH ĐỘNG TRÊN đồ THỊ có HƯỚNG, KHÔNG CHU TRÌNH

10 574 7
bồi dưỡng học sinh giỏi môn tin học thpt chuyên đề QUI HOẠCH ĐỘNG TRÊN đồ THỊ có HƯỚNG, KHÔNG CHU TRÌNH

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

Thông tin tài liệu

QUI HOẠCH ĐỘNG TRÊN ĐỒ THỊ HƯỚNG, KHÔNG CHU TRÌNH Giải toán nội dung đồ thị phần quan trọng chương trình tin học khuôn khổ chuyên đề này, xin trao đổi với bạn đồng nghiệp nội dung nhỏ lý thuyết đồ thị "Các toán qui hoạch động đồ thị hướng, chu trình" Chuyên đề trình bày số kinh nghiệm dạy đồ thị hướng không chu trình Một điều lý thú hai nội dung chương trình tin học Qui hoạch động lý thuyết đồ thị kết hợp Chính điều cho phép xây dựng cho học sinh cách nhìn tổng quan tiếp cận hai dạng toán Phần lớn ví dụ minh họa chuyên đề lấy từ kỳ thi học sinh giỏi khác Mục đích làm muốn trao đổi với bạn đồng nghiệp cách xây dựng đề toán đồ thị cho vừa ôn tập kiến thức học sinh, vừa bám sát chương trình thi kỳ thi học sinh giỏi tin học I-MỘT SỐ KHÁI NIÊM VÀ BÀI TOÁN BẢN Như biết, đồ thị hình dung cặp (V, E) V tập hợp đỉnh (trong toán tin học V tập hợp hữu hạn đỉnh đánh số 1, 2, , N) E tập hợp cung đồ thị Một đồ thị hướng chu trình đồ thị không tồn đường khép kín Cũng hình dung đồ thị mà số lượng đỉnh tất thành phần liên thông mạnh Một đồ thị hướng chu trình tồn xếp topo Chính xác hơn, xếp topo cách xếp đỉnh đồ thị thành dãy x1 , x2 ,L , xn Sao cho cung ( xi , x j ) ∈ E kéo theo i < j Việc xếp topo đồ thị hướng chu trình điều kiện tiên để làm toán qui hoạch động loại đồ thị Lý đơn giản coi đỉnh đồ thị trạng thái với việc xếp topo thứ tự trạng thái cách tiếp cận vấn đề theo quan điểm qui hoạch động hai cách đề xây dựng xếp topo đồ thị hướng chu trình: Cách thứ nhất: Dựa vào tiêu chí tự nhiên mà xếp tăng/giảm theo tiêu đương nhiên ta xếp topo r , r , r Ví dụ (VOI 2008): Cho n hình tròn bán kính 2, n Ta nói từ đường tròn bán kính a nhảy tới hình tròn bán kính b tồn hình tròn bán kính c cho a+c=b (*) Hãy tìm đường qua nhiều hình tròn Dễ nhận thấy điều kiện (*) chứng tỏ từ hình tròn nhảy đến hình tròn bán kính lớn nên hiển nhiên ta xếp lại hình tròn cho bán kính chúng tăng dần ta xếp topo Thông thường tiêu chí tự nhiên thường dễ thấy việc xếp topo qui việc xếp tăng/giảm tiêu chí Do đó, hiển nhiên tiêu chí xếp phải dựa liệu mối quan hệ xếp hoàn toàn (thông thường số) Cách thứ hai: Dựa vào thuật toán Tarjan tìm thành phần liên thông mạnh Chú ý đồ thị chu trình thành phần liên thông mạnh số lượng đỉnh Do trường hợp ta cần liệt kê đỉnh theo thứ tự sau phép duyệt đồ thị ưu tiên chiều sâu Mã giả viết PROCEDURE visit(u) Đánh dấu u thăm For v ∈ Ke(u) if (v chưa thăm) then visit(v) Đưa u vào danh sách topo (Có thể tham khảo mã Pascal sách giáo khoa chuyên tin Tập 1) Cách thứ hai dùng tìm tiêu chí tự nhiên việc xếp topo Tuy cách tổng quát áp dụng cho trường hợp theo kinh nghiệm thông thường xếp topo ta hay sử dụng cách thứ Giả sử đồ thị hướng chu trình G=(V,E) ta xếp topo x1 , x2 , , xn Khi ta hai toán sau: Bài toán 1: Cho cung đồ thị trọng số Hãy tìm đường dài từ đỉnh s đến đỉnh t Đặt f [ xi ] lần độ dài đường dài từ s đến xi Khi f [ xi ] = max{f [ xk ] + d ( xk , xi ) : ( xk , xi ) ∈ E} Một điều lý thú thay tính toán cung ngược (các cung tới xi ) đồ thị theo cách tư truyền thống qui hoạch động, sửa (update) theo cung xuôi (đây đặc điểm thực qui hoạch động DAG nói chung xây dựng cung ngược vấn đề phức tạp): PROCEDURE DuongDiMax For i ∈ {1, ,n} f[i]=-∞ For i ∈ {1, ,n} u=x[i] if (u=s) f[u]=0 if (f[u]-∞) For v ∈ Ke(u) if f[v]

Ngày đăng: 29/04/2017, 19:47

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan