cai toan to mau do thi

11 9 0
cai toan to mau do thi

Đ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

các ứng dụng thực tế toán tô màu đồ thị: I Nhắc lại thuật toán toán tô màu đồ thị Thuât toán tô mu đồ thị - Đếm số bậc đỉnh đồ thị - Tô mu cho đỉnh có bậc cao nhất, gán số bậc đỉnh - Giảm bậc đinh lại đơn vị,không tô mu đỉnh lại mu đà tô cho dỉnh có bậc cao - Lặp lại bớc bậc đỉnh - Định mu cho đỉnh no cha đợc tô II Các ứng dụng toán tô màu đồ thị Bài tốn tơ màu đồ thị tổng qt : Cho đồ thị vô hướng N đỉnh ( N ≤ 200 ), đỉnh nối với số đỉnh khác cung nối trực tiếp ( khơng có đỉnh có nhiều đường nối trực tiếp ) Bài toán đặt là: Hãy tơ màu đỉnh cho khơng có hai đỉnh có màu giống mà lại nối trực tiếp với với số màu cần tô *Giải thuật cho tốn tơ màu đồ thị: Một đồ thị tập hợp điểm gọi đỉnh đường nối đỉnh gọi cạnh Tô màu đồ thị nghĩa gán màu cho đỉnh đồ thị cho hai đỉnh thuộc cạnh phải gán màu khác Bài tốn tơ màu đồ thị nghiên cứu từ nhiều thập kỉ trước để tô màu đồ thị với số màu toán NP-complete mà giải pháp biết đến thuộc dạng “thử hết khả năng”, nghĩa cố thử gán màu cho đỉnh việc tơ màu hồn tất Vì ta thấy để đạt giải pháp tối ưu cho tốn phải chấp nhận giải thuật cấp mũ Tuy nhiên số ứng dụng mà ta cần có giải pháp tốt chấp nhận không cần giải pháp tối ưu, nghĩa hài lòng với giải pháp mà số màu gần số màu thời gian chạy nhanh Một giải pháp cho tốn tơ màu đồ thị “giải thuật tham lam” C¸c øng dơng Bài tốn tơ màu có nhiều ứng dụng thực tế Chẳng hạn: a Ứng dụng tốn tơ màu đồ thị vào việc xếp lịch thi cho sinh viên Bài toán lập lịch thi: Hãy lập lịch thi cho sinh viên trường đại học cho khơng có sinh viên phải thi môn lúc b Ứng dụng tốn tơ màu đồ thị vào việc phân lng giao th«ng: Bài tốn phân luồng giao thơng: Cho ngã năm B hình dưới, C E đường A chiều theo chiều mũi tên, đường khác hai chiều Hãy thiết kế bảng đèn hiệu điều khiển giao thông ngã năm cách hợp lý, nghĩa C là: phân chia lối ngã năm thành E nhóm, nhóm gồm lối đi đồng D thời không xảy tai nạn giao thông ( hướng khơng cắt ), số lượng nhóm c Ứng dụng tốn tô màu đồ thị vào việc phân chia tần số: Bài toán phân chia tần số: Hãy phân chia kênh truyền hình cho đài truyền hình cho khơng có hai đài cách khơng q 150 dặm lại phát kênh III Cách giải Đối với tốn xếp lịch thi: Có thể giải tốn lập lịch thi mơ hình đồ thị, với đỉnh mơn thị, có cạnh đỉnh tồn sinh viên phải thi môn biểu diễn đỉnh này(không nối hai đỉnh sinh viên thi môn lúc) Thời điểm thi môn biễu thị màu khác Như việc lập lịch thi tương ứng với việc tơ màu đồ thị §èi với toán phân luồng giao thông: Ta cú th xem đầu vào ( input ) toán tất lối ngã năm này, đầu ( output ) tốn nhóm lối đi đồng thời mà khơng xảy tai nạn giao thơng, nhóm tương ứng với pha điều khiển đèn hiệu, ta phải tìm kiếm lời giải với số nhóm để giao thơng khơng bị tắc nghẽn phải chờ đợi lâu Trước hết ta nhận thấy ngã năm có 13 lối đi: AB, AC, AD, BA, BC, BD, DA, DB, DC, EA, EB, EC, ED Tất nhiên, để giải tốn ta phải tìm cách để thể mối liên quan lối Lối với lối đồng thời, lối lối đồng thời Ví dụ cặp AB EC đồng thời, AD EB khơng, hướng giao thông cắt Ở ta dùng sơ đồ trực quan sau: tên 13 lối viết lên mặt phẳng, hai lối đồng thời xảy đụng (tức hai hướng cắt qua nhau) ta nối lại đoạn thẳng, cong, ngoằn ngoèo tuỳ thích Như vậy, hai lối có cạnh nối lại với hai lối cho đồng thời Với cách biểu diễn ta có đồ thị (Graph), tức ta mơ hình hố tốn giao thơng theo mơ hình tốn đồ thị, lối trở thành đỉnh đồ thị, hai lối đồng thời nối đoạn ta gọi cạnh đồ thị Bây ta phải xác định nhóm, với số nhóm nhất, nhóm gồm lối đi đồng thời, ứng với pha đèn hiệu điều khiển giao thông Giả sử rằng, ta dùng màu để tô lên đỉnh đồ thị cho: - Các lối cho phép đồng thời có màu: Dễ dàng nhận thấy hai đỉnh có cạnh nối khơng tơ màu - Số nhóm nhất: ta phải tính tốn cho số màu dùng - Hai đỉnh có cạnh nối với (hai cịn gọi hai đỉnh kề nhau) khơng màu - Số màu dùng Đối với tốn phân chia tần số: Có thể phân chia kênh truyền hình mơ hình tơ màu đồ thị Ta xây dựng đồ thị cách coi đài phát đỉnh Hai đỉnh nối với cạnh chúng cách không 150 dặm(hai đỉnh cách lớn 150 dặm khơng nối với nhau) Việc phân chia kênh tương ứng với việc tơ màu đồ thị, màu biểu thị thời điểm phát sóng kênh IV Ví dụ minh họa (ta chi xÐt bµi toán lập lịch thi toán phân chia tần sè) Bài tốn xếp lịch thi: Chẳng hạn, có môn cần xếp lịch thi đánh số từ đến cặp mơn sau có chung sinh viên dự thi: + 2, 3, 4, + 5, + 3, 4, 5, +5 6, + 4, 6, + Giải: Xây dựng đồ thị G = (V, E) mô tả toán: - Mỗi đỉnh vi V (i 1,7) đại diện cho môn thi thứ i - Mỗi cạnh e  E nối đỉnh vi vj có sinh viên phải thi hai môn biểu diễn đỉnh Ta có đồ thị G =(V, E) sau: G - Để lập lịch thi ta tiến hành tô màu cho G theo thuật tốn Welch-Powell sau: §Ønh: BËc: 5 5 4 Màu: M1 M3 M4 M4 M2 M2 M1 - Ta thấy G có chứa đồ thị K4 nên dùng màu để tô cho G Vậy Ø Tóm lại, ta có lịch thi sau: Buổi thi Môn thi I 2, II 1,5 III IV 4,7 Bài toán phân chia tần số: Chẳng hạn, có 10 đài truyền hình đánh số từ đến 10 cặp đài truyền hình sau cách khơng 150 dặm mà phát kênh: + 2, 4, 5, + 7, + + + + 9, 10 + 5, 7, + 10 + 6, 7, Giải: Xây dựng đồ thị G = (V, E) mơ tả tốn: - Mỗi đỉnh vi V (i 1,7) đại diện cho kênh thứ i - Mỗi cạnh e  E nối đỉnh vi vj có đài phải cách khơng q 150 dặm biểu diễn đỉnh Ta có đồ thị G =(V, E) sau: - Để phân chia kênh cho đài ta tiến hành tô màu cho G theo thuật tốn Welch-Powell sau: §Ønh: BËc: Màu: M1 M2 4 M3 M3 M2 M1 M2 2 M1 M2 10 M3 - Ta thấy G có chứa đồ thị K4 nên dùng màu để tô cho G Vậy X(G)=3 Ø Tóm lại, ta có lịch phát sóng kênh cho đài sau: Thời điểm phát Đài truyền hình I 2, 5, II 1, 3, 7, III 4, 6, 10 IV Cài đặt thuật toán Tư tưởng thuật toán(dựa tư tưởng thuật toán tham lam): - Trước hết ta định nghĩa bậc đỉnh số đỉnh đồ thị chưa tô mầu mà đỉnh nối trực tiếp với đỉnh xét cạnh nối trực tiếp Nếu đỉnh khơng nối với đỉnh bậc đỉnh - Bước 1: Tìm đỉnh có bậc cao đồ thị (gọi đỉnh u ) - Bước 2: Tăng số màu cần tô lên tơ màu cho đỉnh vừa tìm - Bước 3: Tìm đỉnh v để tơ màu giống u thỏa mãn điều kiện sau: v đến đỉnh u thông qua đỉnh w khác v có số bậc lớn Nếu khơng tìm đỉnh ta tìm đỉnh v có số bậc lớn mà khơng kề với u Nếu tìm v thỏa mãn ta tơ màu cho v màu đỉnh u Sau nhập đỉnh u v vào làm đỉnh Tức: đỉnh w kể với v coi kề với u (a[v,w] =1 → a[u,w] =1 and a[w,u] = 1) - Bước : Lặp lại bước v = - Bước : Lặp lại bước tô hết mầu đỉnh đồ thị Chơng trình: #include #include #include #include #include typedef mang1[30]; typedef mang2[30][30]; mang1 color; //Mang luu mau cua dinh thi, color [i] = nghia la dinh i chua duoc to mau mang2 a; //a[u,v] = tuc hai dinh u va v co canh noi, a[u,v] = tuc hai dinh khong co canh noi int somau,n,count,u,v,dem; //count=so dinh da to mau ,Count = N -> ngung chuong trinh char *filename; // -TIM DINH CO BAC LON NHAT -int dinh_bac_max(){ int max,dem,i,j; max=-1; //Vi co the co dinh co bac la for(i=1;i

Ngày đăng: 29/08/2021, 15:58

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

Tài liệu liên quan