Xây dựng chương trình cài đặt một số thuật toán tìm đường đi trên mạng

71 440 0
Xây dựng chương trình cài đặt một số thuật toán tìm đường đi trên mạng

Đ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

MỤC LỤC LỜI NÓI ĐẦU………………………………………………………………………… CHƯƠNG …………………………………………………………………………….6 GIỚI THIỆU VỀ NGÔN NGỮ VISUAL BASIC 6.0 …….………………………….6 1.1 Tìm hiểu ngôn ngữ lập trình Visual Basic …………………………….………….6 1.1.1 Giới thiệu Visual Basic ……………………… …………………….……….6 1.1.2 Môi trường phát triển Visual Basic 6.0 …………………………………6 1.1.3 Form công cụ điều khiển Control ………………………………….…… 1.1.4 Lập trình Visual basic …………………………………………… … 10 1.1.4.2 Khai báo biến VB ………………………… ………………… 11 1.1.4.3 Các cấu trúc lặp Visual Basic ………………………………… 12 1.1.4.4 Thủ tục hàm Visual Basic ………………………………… 14 CHƯƠNG ………………………………………………… ………………………16 LÝ THUYẾT ĐỒ THỊ …………………………………………………………… 16 2.1 Các định nghĩa đồ thị ………………………………………………….……… 16 2.1.1 Định nghĩa đồ thị …………………………………….…………….………16 2.1.2 Đồ thị đơn ……………………….……………………………….……… 17 2.1.3 Đa đồ thị ………… ……………………………………………………….17 2.1.4 Giả đồ thị ………………………………………………………………… 17 2.2 Các loại đồ thị ………………………………………………………………… 18 2.2.1 Đồ thị vô hướng ……………………………………………………………18 2.2.2 Đồ thị có hướng ……………………………………………………………18 2.2.3 Đồ thị hỗn hợp …………………………………………………………… 18 2.3 Một số khái niệm tính chất đồ thị ……………………………….18 2.3.1 Bậc đồ thị …………………………… ………………………………… 18 2.3.1.1 Bậc đồ thị vô hướng ………………………………………… ………18 2.3.1.2 Bậc đồ thị có hướng …………………………………….…………… 19 2.3.2 Đường chu trình ………………………………………….………… 20 2.3.3 Đồ thị liên thông ……………………………………………….………… 21 2.3.4 Đồ thị đồ thị phận ……………………………………….………23 CHƯƠNG …………………………………………………… ……………………24 MỘT SỐ BÀI TOÁN THIẾT KẾ MẠNG VIỄN THÔNG VÀ CÁC VẤN ĐỀ LIÊN QUAN ……………………………………………………………………….………24 3.1 Các tiêu chất lượng mạng ………………………………………………… 24 3.1.1 Chất lượng mạng ……………………………………………………… …24 3.1.2 Các tham số đặc trưng chất lượng mạng ………………………………26 3.1.2.1 Các tham số chất lượng chuyển mạch ……………………………… 26 3.1.2.2 Các tham số chất lượng truyền dẫn ………………………………… 26 3.1.2.3 Các tham số ổn định ……………………………………….… 27 3.1.3 Tiêu chuẩn đánh giá chất lượng mạng ……………………………….…….27 3.2 Một số toán tối ưu quy hoạch thiết kế mạng ………………… …28 3.2.1 Bài toán dự báo …………………………………………………………….28 3.2.1.1 Giới thiệu chung ………………………………………………………28 3.2.1.2 Dự báo nhu cầu ……………………………………………………… 28 3.2.1.3 Dự báo lưu lượng …………………… ……………………….………29 3.2.2 Bài toán thiết kế mạng tập trung kết nối đa điểm ………………………….29 3.2.2.1 Bài toán kết nối đa điểm đơn giản…………………………………… 29 3.2.2.2 Bài toán kết nối đa điểm mở rộng…………………………………… 31 3.3 Một số toán tối ưu quản lý khai thác tài nguyên mạng ……………32 3.3.1 Định tuyến tối ưu ………………………………………………………… 32 3.3.1.1 Đặt vấn đề …………………………………………………………… 32 3.3.2 Cực tiểu hóa thời gian trễ trung bình mạng ……………….………… 33 3.3.2.1 Đặt vấn đề ………………………………………………….………….33 3.3.2.2 Mạng hàng đợi đóng ……………………………………….………….33 3.3.3 Thiết kế tối ưu mạng riêng ảo …………………………………… ……….35 3.3.3.1 Đặt vấn đề …………………………………………………….……….35 CHƯƠNG ………………………………………………….…………… … ……37 CÁC THUẬT TOÁN TÌM ĐƯỜNG ………………………………….…… …… 37 4.1 Mô hình hệ thống định tuyến tĩnh ………………………………… ………….37 4.1.1 Giới thiệu …………………………………………………………… ……37 4.1.2 Các thông số hệ thống …………………………… ………………… 37 4.1.3 Kĩ thuật tìm đường tập trung phân tán ……………………………….40 4.1.4 Bài toán tìm đường ngắn ………………………………………… 41 4.2 Lập trình song song ………………………… ……………………………… 42 4.2.1 Mục đích ………… ………………………………………………………42 4.2.2 Đánh giá hiệu giải thuật song song ……………………………….42 4.2.3 Các vấn đề cần ý tìm đường ………………………………………43 4.3 Phân tích thuật toán tìm đường ………………………………… ……… 45 4.3.1 Giải thuật tìm đường tĩnh ………………………………………………….45 4.3.1.1 Giải thuật Dijkstra …………………… …………………………… 45 4.3.1.2 Giải thuật Bellman Ford ………………………………………………48 4.3.1.3 Giải thuật Floyd ……………………………………………………….51 4.3.2 Giải thuật tìm đường động …………………………………………………53 4.3.3 Các phương pháp tìm đường ngắn khác ………………………… 57 4.3.3.1 Giải thuật Depth First Search (Tìm kiếm theo độ sâu) ……………… 57 4.3.3.2 Giải thuật Breadth First Search (Tìm kiếm ưu tiên bề rộng)………… 58 KẾT LUẬN ……………………………………………………………………………61 1.KẾT QUẢ ĐẠT ĐƯỢC …………………………………………………….…….61 2.HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI ………………………….………61 TÀI LIỆU THAM KHẢO ……………………………………………………….……62 PHỤ LỤC …………………………………………… ………………………………63 CHƯƠNG TRÌNH CÀI ĐẶT MỘT SỐ THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN MẠNG ……………………………………………………………… 63 // Modul thuật toán ………………………………………………… ……….63 …… o0o…… LỜI NÓI ĐẦU Trong thực tế ta thường sử dụng đến mạng lưới điện thoại, giao thông (đặc biệt đường hàng không), mạng máy tính… Chúng giữ vị trí quan trọng sống Việc nghiên cứu phát triển kỹ thuật trọng, nhằm giải công việc lĩnh vực cách linh hoạt, ví dụ giảm chi phí tốn thời gian nhiều hiệu Để giải tổn hao đó, việc nghiên cứu phải dựa sở toán học lý thuyết đồ thị hay nói cách chung lý thuyết đồ thị công cụ toán học xây dựng mô hình cho vấn đề Như ta biết mạng điện thoại, mạng máy tính hay mạng thông tin nói chung thường có cấu trúc chung điểm liên hệ với Để mô hình liên hệ này, toán học lý thuyết đồ thị biểu diễn đồ thị, đỉnh đồ thị điểm thông tin, cạnh đồ thị liên hệ điểm thông tin, số gán cạnh đồ thị biểu diễn khoảng cách hay chi phí nút thông tin Để hiểu quy tắc giảm thời gian chi phí ứng dụng thực tế lý thuyết đề tài “ Xây dựng chương trình cài đặt số thuật toán tìm đường mạng ” thực nhằm giải vấn đề Bố cục đồ án gồm bốn chương: Chương Giới thiệu ngôn ngữ Visual Basic 6.0 Chương Lý thuyết đồ thị Một số vấn đề lý thuyết đồ thị Chương Một số toán thiết kế mạng viễn thông vấn đề liên quan - Các tiêu để có mạng viễn thông tốt - Vấn đề tối ưu quy hoạch thiết kế mạng Bài toán dự báo số người truy cập vào mạng viễn thông thời điểm quan sát hay số lượng thuê bao tương lai Hay vấn đề thiết kế mạng tập trung kết nối đa điểm với M nút sở cần kết nối trung tâm qua N nút giang - Vấn đề tối ưu quản lý khai thác tài nguyên mạng Định tuyến quan trọng điều hành quản lý mạng, việc định tuyến tối dựa tiêu chuẩn chi phí nhỏ Hay vấn đề cần thiết phải xây dựng mạng riêng ảo Chương Các thuật toán tìm đường Kỹ thuật tìm đường tập trung, phân tán, tìm đường tĩnh, đường động Các giải pháp tuần tự, song song, giải pháp động Cài đặt số thuật toán tìm đường ngắn mạng: Thuật toán Dijkstra, Bellman_Ford, Floyd, Depth_First_Search, Breadth_First_Search Đồ án hoàn thành khoa Công nghệ thông tin - Đại học Thái Nguyên với hướng dẫn thầy giáo ThS Nguyễn Đình Dũng CHƯƠNG GIỚI THIỆU VỀ NGÔN NGỮ VISUAL BASIC 6.0 1.1 Tìm hiểu ngôn ngữ lập trình Visual Basic 1.1.1 Giới thiệu Visual Basic Microsoft Visual Basic (viết tắt VB) cách dễ dàng nhanh để xây dựng chương trình ứng dụng chạy Microsoft Window.VB cung cấp sẵn tập đầy đủ công cụ để làm nhanh, đơn giản trình phát triển ứng dụng “Visual” cách tạo giao diện người dùng đồ hoạ cách trực quan Thay phải viết rát nhiều dòng mã lệnh để mô tả hình dáng vị trí phần tử tạo nên giao diện, ta cần đặt đối tượng xây dựng sẵn lên hình “Basic” tới ngôn ngữ lập trình BASIC (Beginners All-Purpose Symbolic Intruction Code ), ngôn ngữ lập trình tiếng  Visual Basic sản phẩm Micsoft chương trình 32 bit chạy Windows 95 trở lên  Visual Basic ngôn ngữ lập trình theo kiểu hướng đối tượng  Có thể thấy thao tác thiết kế  Cho phép chỉnh sửa dễ dàng  Là ngôn ngữ lập trình sở liệu mạnh, hỗ trợ nhiều tính cho phép xử lý liệu cách dễ dàng, hiệu 1.1.2 Môi trường phát triển Visual Basic 6.0 Microsoft Visual Basic cung cấp cho người lập trình xây dựng nhanh ứng dụng Windows Khác với ngôn ngữ hướng thủ tục trước VB 6.0 trợ thủ đắc lực cho thiết kế giao diện viết chương trình quản lý Ngôn ngữ lập trình Visual Basic có ấn bản: - Learning: ấn dùng - Prossional: ấn người lập trình sử dụng phổ biến Nó cung cấp đầy đủ cần thiết để xây dựng ứng dụng - Enterprise Prossional cộng thêm công cụ Back Office 1.1.3 Form công cụ điều khiển Control  Thuộc tính, kiện, phương thức  Form  Control: Label, Text box, Check box, Option Group, List/Combo box …  Focus  Dialog box (hộp hội thoại) a Thuộc tính, kiện, phương thức Form Control (điều khiển) Visual Basic đối tượng với thuộc tính (Property), phương thức (Method) kiện (Event) Thuộc tính đặc điểm qui định đối tượng, phương thức hành động kiện đáp ứng tác động gắn với đối tượng b Form Đối tượng Form thành phần sở chương trình viết Visual Basic, cửa sổ giao diện với người dùng Form có thuộc tính, kiện phương thức c Command button Command button (nút lệnh) cho phép người sử dụng nhấn vào để thực hành động Khi người dùng nhấn vào nút lệnh, thủ tục kiện Click gọi Lập trình viên viết lệnh vào thủ tục kiện Click để thực hành động mong muốn d Label Label (nhãn) hiển thị văn mà người dùng trực tiếp thay đổi ta định danh Control thuộc tính Caption Text box Scroll bar Văn hiển thị Label điều khiển thuộc tính Caption, thuộc tính đặt thiết kế cửa sổ Properties hay chạy cách gán giá trị cho mã chương trình f Text box Text box (hộp soạn thảo) dùng để nhập liệu từ người dùng hay hiển thị liệu Tuy nhiên, không nên dùng Text box để hiển thị liệu không thay đổi người dùng không đặt thuộc tính Locked True g Check box Check box (hộp đánh dấu) dùng để đưa lựa chọn /sai, có/không cho người sử dụng Hình 1.1: Ví dụ Check box h Option Button nhốm Option Button Option (nút tuỳ chọn) dùng theo nhóm cho phép người dùng chọn số nhiều lựa chọn Tạo nhóm Option Button Tất Option Button đặt trực tiếp lên Form tạo thành nhóm Nếu muốn tạo thêm nhóm Option Button thuộc nhóm phải đặt Frame box hay Picture box i List box Combo box List box (hộp danh sách) Combo box (hộp kéo dài) sử dụng để liệt kê lựa chọn cho người dùng Hình 1.2: Lựa chọn cho người dùng chọn Node j Các Control khác Picture Box Control: Hiển thị kết chương trình, hiển thị hình ảnh qua thuộc tính Picture chứa tên tệp ảnh đường dẫn Lightweight Graphic control: Các Control image, shape line gọi Lightweight Controls Chúng hỗ trợ tập properties, Method event Picture box k Focus Focus khả nhận Input người dùng từ chuột bàn phím Các kiện GotFocus LostFocus xảy đối tượng nhận hay Focus Form hầu hết Control hỗ trợ kiện Sự kiện Mô tả GotFocus Xảy đối tượng nhận Focus Xảy đối tượng Focus Một thủ tục cho kiện LostFocus LostFocus thường dùng để thẩm định kiểm định cập nhật để đảo/đổi điều kiện ta đặt thủ tục GotFocus đối tượng Đặt Tab Order Tab order (thứ tự Tab) thứ tự mà người dùng di chuyển từ Control sang Control khác cách nhấn phím Tab Mỗi Form có Tab order riêng Thông thường, Tab order thứ tự Control Để thay đổi Tab order cho Control, đặt thuộc tính TabIndex Mặc định, Control vẽ có TabIndex 0, thứ hai có TabIndex 1, … Bỏ Control khỏi tab order: Ta bỏ Control khỏi Tab order cách đặt thuộc tính TabStop False (0) l Dialog box Dialog box dùng để hỏi người dùng liệu cần thiết dùng để thông tin cho người dùng Dialog box kiểu đối tượng Form đặc biệt mà tạo theo cách sau: Predefined dialog box tạo từ mã chương trình sử dụng hàm MsgBox, InputBox Customized dialog box tạo từ Form chuẩn sửa dialog box có sẵn Standard dialog box, chẳng hạn Print File Open, tạo từ Common dialog Control Hình 1.3: Thông báo cho người sử dụng 1.1.4 Lập trình Visual basic 1.1.4.1 Các kiểu liệu có sẵn Jet Database Engine VB bao gồm nhiều kiểu liệu khác nhau, cho phép người lập trình khai thác biến theo kiểu liệu để lưu trữ kiểu liệu khác Các kiểu liệu: Kiểu Mô tả Kích thước Text Xâu ký tự Tối đa 255 ký tự Memo Xâu ký tự dài Tối đa 1.2GB Byte Số nguyên đến 255 Integer Số nguyên -32768 đến 32767 Long Số nguyên -2147483648 đến 2147483647 Counter Số nguyên kiểu Long, tăng tự động Single Số thực -3.402823E38 đến -1.401298E-45 với giá trị âm 1.401298E-45 đến 3.402823E38 với giá trị dương 10 4.3.3 Các phương pháp tìm đường ngắn khác 4.3.3.1 Giải thuật Depth First Search (Tìm kiếm theo độ sâu) Duyệt tất đỉnh cạnh đồ thị theo chiều sâu xác định Giả sử cho đồ thị trên, thứ tự duyệt sau: 1-2-4-8-5-3-6-7 * Giải thuật : Giải thuật duyệt đỉnh kiểm tra cạnh cách có hệ thống Duyệt tất đỉnh cạnh theo chiều sâu, thứ tự xác định Tại đỉnh v đồ thị, ta duyệt đỉnh v sau duyệt tất đỉnh đến Khi xét đỉnh w thuộc tập đỉnh này, ta lại áp dụng cách duyệt đỉnh cho đỉnh w Theo cách duyệt ta phải đến đỉnh cuối tận đỉnh trái Trường hợp gặp đỉnh cuối, ta cần lùi lại mức sang phải sau duyệt sang trái gặp lại đỉnh cuối đỉnh đích Quá trình lặp lại tìm thấy đích hay gặp đỉnh cuối không gian tìm kiếm * Ưu điểm: Phương pháp tìm kiếm theo chiều sâu bảo đảm tìm thấy đích trường hợp xấu chuyển sang kiểu tìm vét cạn đồ thị * Nhược điểm: Phương pháp tìm kiếm theo chiều sâu để có lời giải tối ưu phải duyệt qua hầu hết tất đỉnh đồ thị, điều dẫn đến thời gian tìm kiếm lâu 57 ( không tối ưu để áp dụng với việc giải toán thực tế mạng lưới giao thông ) * Một số kết chương trình 4.3.3.2 Giải thuật Breadth First Search (Tìm kiếm ưu tiên bề rộng) Phương pháp tìm kiếm theo chiều rộng đối lập với phương pháp tìm kiếm theo chiều sâu Nó kiểm tra đỉnh mức chuyển sang đỉnh mức sâu Tại đỉnh v đồ thị, ta duyệt đỉnh v sau duyệt tất đỉnh đến từ đỉnh v Sau ta xét tất đỉnh w thuộc tập áp dụng cách duyệt cho đỉnh w 58 Ví dụ cho đồ thị cách duyệt đồ thị theo ưu tiên mức sau: 1-2-3-4-5-67-8 * Giải thuật Giải thuật tìm kiếm theo chiều rộng dựa vào giải thuật duyệt theo mức, từ đỉnh xuất phát đưa tất đỉnh nối vào hàng đợi, hàng đợi danh sách liên kết, đỉnh vào trước trước Khi lấy đỉnh hàng đợi xét, đỉnh có đỉnh nối thực tương tự để đưa đỉnh vào hàng đợi, lúc mức duyệt tăng lên * Ưu điểm: Phương pháp tìm kiếm theo chiều rộng hoạt động tốt tìm lời giải mà lùi Khi quay lại chương trình cho ta lời giải tối ưu * Nhược điểm: - Thứ tự duyệt đỉnh bị ảnh hưởng việc thay đổi cấu trúc liệu Các đỉnh đồ thị giải thuật tìm kiếm ưu tiên bề rộng chia làm nhóm:  Các đỉnh duyệt đỉnh lấy khỏi hàng  Những đỉnh xét đỉnh hàng  Các đỉnh chưa xét đến đỉnh chưa duyệt hàng - Khi đích cần tìm phân bố rải rác tất mức, trường hợp phải huy động hết khả tìm tới đích 59 * Một số kết chương trình 60 KẾT LUẬN 1.KẾT QUẢ ĐẠT ĐƯỢC - Nghiên cứu số mô hình toán thiết kế mạng viễn thông, toán dự báo, toán thiết kế mạng tập trung kết nối đa điểm, định tuyến tối ưu, cần thiết phải thiết kế mạng riêng ảo - Tìm hiểu vấn đề đồ thị, xây dựng chương trình cài đặt số thuật toán tìm đường tối ưu mạng Qua giúp em có nhìn bao quát toán thiết kế mạng viễn thông thuật toán tìm đường ngắn mạng, chúng có vai trò quan trọng mô hình mạng điện thoại, viễn thông, giao thông mạng máy tính… 2.HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI Trong tương lai đề tài hoàn thiện hơn, nghiên cứu sâu toán kết nối đơn điểm, đa điểm điều kiện cho phép đưa vào ứng dụng thực tế, điều quan trọng chương trình tin học phải áp dụng thực tế Vậy mong thầy cô bạn đóng góp ý kiến để đề tài hoàn thiện Một lần em xin chân thành cảm ơn giúp đỡ thầy cô giáo đặc biệt thầy giáo ThS Nguyễn Đình Dũng tận tình hướng dẫn em hoàn thành tốt đề tài Em xin chân thành cảm ơn ! 61 TÀI LIỆU THAM KHẢO [1] Nguyễn Cam - Chu Đức Khánh (1999), “ Lý thuyết đồ thị ”, NXB Tp Hồ Chí Minh [2] Hoàng Chúng (1997), “ Đại cương toán học hữu hạn “, NXB Giáo dục [3] Phan Đình Diệu (1977), “ Lý thuyết ôtômát hữu hạn thuật toán ”, NXB ĐHTHCN, Hà Nội [3] Đỗ Đức Giáo (1999), “ Toán rời rạc “, NXB Đại Học Quốc gia Hà nội, (1998) Cơ sở toán lập trình, NXB Khoa học Kỹ thuật, Hà Nội [5] Đỗ Xuân Lôi (1999), “ Cấu trúc liệu giải thuật “, NXB thống kê [6] Nguyễn Đức Nghĩa - Nguyễn Tô Thành (1999), “ Toán rời rạc ”, NXB Giáo Dục [7] Vũ Ngọc Phàn (2005), Tối ưu hoá “ Cơ sở lý thuyết ứng dụng công nghệ bưu viễn thông ”, NXB Bưu Điện, Hà Nội [8] Đinh Mạnh Tường (2002), “ Trí tuệ nhân tạo “, NXB Khoa học kĩ thuật [9] Hoàng Tụy (1964), “ Đồ thị hữu hạn ứng dụng vận trù học ”, NXB Khoa học, Hà Nội [10] Kenneth H.Rosen, “ Discrete Mathematics And Its Applications ”, (1998) Toán học rời rạc ứng dụng Tin học, NXB Khoa Học Kỹ Thuật, Hà Nội Người dịch: Phạm Văn Thiều - Đặng Hữu Thịnh 62 PHỤ LỤC CHƯƠNG TRÌNH CÀI ĐẶT MỘT SỐ THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN MẠNG // Modul thuật toán Option Explicit Public FileName As String Public Const Max = 500 Public Const maxInt = 10000 Public n As Integer Public nodes As Integer Public s As Integer Public t As Integer Public truoc(Max) As Byte Public d(Max) As Double Public a(Max, Max) As Double Public Final(Max) As Boolean Public Toadox(Max) As Integer Public Toadoy(Max) As Integer Public dd(Max, Max) As Double Public p(Max, Max) As Integer Public ChuaXet(Max) As Integer Public Solt As Integer // Thuật toán Dijktra // Public Sub Dijktra(s As Integer, t As Integer) Dim v As Integer Dim u As Integer Dim minP As Integer u=s For v = To n d(v) = a(s, v) 63 truoc(v) = s Final(v) = False Next v truoc(s) = s d(s) = Final(s) = True nodes = Do While Not Final(t) minP = maxInt For v = To n If (Not Final(v)) And (minP > d(v)) Then u=v minP = d(v) End If Next v Final(u) = True nodes = nodes + If Not Final(t) Then For v = To n If (Not Final(v)) And (d(u) + a(u, v) < d(v)) Then d(v) = d(u) + a(u, v) truoc(v) = u End If Next v End If If (nodes > n + 1) Then Exit Sub End If Loop 'MsgBox Str(td) End Sub 64 Public Sub viettrongso(x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, ts As Double, Form1 As Form) If x1 > x2 Then Form1.CurrentX = x2 + (x1 - x2) / Else Form1.CurrentX = x1 + (x2 - x1) / End If If y1 > y2 Then Form1.CurrentY = y2 + (y1 - y2) / Else Form1.CurrentY = y1 + (y2 - y1) / End If Form1.Print (Str(ts)) End Sub Public Sub veduongtron(X As Integer, Y As Integer, st As String, Form1 As Form) Form1.Circle (X, Y), 200 Form1.CurrentX = X - 120 Form1.CurrentY = Y - 100 Form1.Print (st) End Sub Public Sub VeDuongThang(x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, r As Integer, Form1 As Form) Dim X As Integer, Y As Integer Dim lon As Integer, be As Integer Dim x11 As Integer Dim x22 As Integer Dim y11 As Integer Dim y22 As Integer If x1 x2 Or y1 y2 Then X = Abs(x1 - x2) / (Sqr((x1 - x2) ^ + (y1 - y2) ^ 2)) * r Y = Abs(y1 - y2) / (Sqr((x1 - x2) ^ + (y1 - y2) ^ 2)) * r 65 'xac dinh toa x11,x22 If x1 < x2 Then lon = x2 be = x1 Else lon = x1 be = x2 End If If (x1 - X) < lon And (x1 - X) > be Then x11 = x1 - X Else x11 = x1 + X End If If (x2 - X) < lon And (x2 - X) > be Then x22 = x2 - X Else x22 = x2 + X End If 'Xac dinh toa y11,y22 If y1 < y2 Then lon = y2 be = y1 Else lon = y1 be = y2 End If If (y1 - Y) < lon And (y1 - Y) > be Then y11 = y1 - Y Else y11 = y1 + Y End If If (y2 - Y) < lon And (y2 - Y) > be Then y22 = y2 - Y 66 Else y22 = y2 + Y End If Form1.Line (x11, y11)-(x22, y22) End If Exit Sub kt: MsgBox ("Chuong trinh co loi") End Sub Sub VeMuiTen(x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, Form1 As Form) On Error GoTo hand If x1 = x2 And y1 = y2 Then Exit Sub End If Dim X As Single, Y As Single Dim x3 As Single, y3 As Single Dim x31 As Single, y31 As Single Dim x32 As Single, y32 As Single 'Xac dinh toa trung diem x,y: X = (x1 + x2) / Y = (y1 + y2) / 'Xac dinh tao diem trung gian x3,y3: Dim lon As Single, be As Single Dim tamx As Single, tamy As Single, a0 As Single If x1 x2 Or y1 y2 Then tamx = Abs(x1 - x2) / (Sqr((x1 - x2) ^ + (y1 - y2) ^ 2)) * 200 tamy = Abs(y1 - y2) / (Sqr((x1 - x2) ^ + (y1 - y2) ^ 2)) * 200 If x1 < X Then lon = X be = x1 Else 67 lon = x1 be = X End If If (X - tamx) < lon And (X - tamx) > be Then x3 = X - tamx Else x3 = X + tamx End If If y1 < Y Then lon = Y be = y1 Else lon = y1 be = Y End If If (Y - tamy) < lon And (Y - tamy) > be Then y3 = Y - tamy Else y3 = Y + tamy End If 'xac dinh tao diem dau mut cua mui ten (x31,y31) va (x32,y32): a0 = Abs(y1 - y2) / (Sqr((x1 - x2) ^ + (y1 - y2) ^ 2)) * 50 x31 = x3 + a0 x32 = x3 - a0 y31 = -(x1 - x2) / (y1 - y2) * x31 + y3 + (x1 - x2) / (y1 - y2) * x3 y32 = -(x1 - x2) / (y1 - y2) * x32 + y3 + (x1 - x2) / (y1 - y2) * x3 End If Form1.Line (X, Y)-(x31, y31) Form1.Line (X, Y)-(x32, y32) hand: End Sub // Thuật toán Ford_Bellman // 68 Public Sub Ford_Bellman(s As Integer) Dim u As Integer Dim v As Integer Dim k As Integer For v = To n d(v) = a(s, v) truoc(v) = s Next v d(s) = For k = To n - For v = To n If v s Then For u = To n If d(v) > d(u) + a(u, v) Then d(v) = d(u) + a(u, v) truoc(v) = u End If Next u End If Next v Next k End Sub // Thuật toán Floyd // Public Sub Floyd() Dim i As Integer Dim j As Integer Dim k As Integer 'Khoi tao For i = To n For j = To n dd(i, j) = a(i, j) p(i, j) = i 69 Next j Next i 'Buoc lap For k = To n For i = To n For j = To n If dd(i, j) > dd(i, k) + dd(k, j) Then dd(i, j) = dd(i, k) + dd(k, j) p(i, j) = p(k, j) End If Next j Next i Next k End Sub // Thuật toán tìm kiếm theo chiều rộng // Public Sub BFS(i As Integer) Dim u As Integer Dim j As Integer Dim dauQ As Integer Dim cuoiQ As Integer Dim Queue(Max) As Integer For j = To n ChuaXet(j) = Next j Solt = dauQ = cuoiQ = Queue(cuoiQ) = i ChuaXet(i) = Solt Do While dauQ [...]... gọi là một chu trình Như vậy chu trình là một đường đi có đỉnh xuất phát và đỉnh kết thúc trùng nhau * Chú ý rằng đường đi trong đồ thị có hướng không được đi ngược chiều mũi tên - Đường đi (chu trình) được gọi là đơn nếu nó đi qua mỗi cạnh không quá một lần - Đường đi (chu trình) được gọi là sơ cấp nếu nó đi qua mỗi đỉnh đúng một lần A B E C D Hình 3.1 20 Ví dụ như ở hình 3.1 ADBE là một đường đi sơ... gọi là 1 đường đi, kí hiệu xixi1xi2 xj ≡ xiuixi1u i1xi2ui2 ujxj Trong đó các cạnh, các đỉnh trong đường đi có thể lặp lại Độ dài của đường đi bằng số các cạnh (hoặc cung) trong đường đi đó * Chú ý rằng trong đồ thị có hướng, trên một cung uv chẳng hạn thì đường đi chỉ có thể đi từ gốc (u) đến ngọn (v) không thể đi ngược lại b) Chu trình Xét một đường đi từ xi - xj Nếu xi ≡ xj thì đường đi này được... G tồn tại ít nhất một chu trình Chứng minh: Xét tất cả các đường đi đơn Vì đồ thị là hữu hạn cho nên số các đường đi đơn là hữu hạn Chọn một đường đi là dài nhất nào đó ví dụ từ xi1 đến xij +1 (xem hình vẽ dưới đây) Theo giả thiết m(x) ³ 2 nên tồn tại ít nhất một đỉnh xi0 và một cạnh nối đỉnh xi1 và xi0 Đỉnh xi0 thuộc một trong các đỉnh trên đường đi đã chọn chẳng hạn xij vì đường đi là dài nhất, nên... vụ ở một thực thể phục vụ này, yêu cầu sẽ đi tiếp đến một thực thể phục vụ khác, chờ ở đó và đợi đến lượt được tiếp tục phục vụ Mạng hàng đợi đóng là một mạng hàng đợi trong đó tổng số các khách hàng trong mạng là không đổi Nghĩa là, tại thời đi m quan sát, không có khách hàng nào đi vào mạng hay đi ra khỏi mạng Ký hiệu K là tổng số khách hàng trong mạng, xi là số khách hàng của hàng đợi tại nút mạng. .. A xB 19 Ta có: Do vế trái chẵn nên tổng vế phải cũng là số chẵn Mà tổng bậc của các đỉnh bậc chẵn (x thuộc A) là số chẵn nên tổng bậc của các đỉnh bậc lẻ (x thuộc B) phải là số chẵn, do tất cả các số hạng của nó là số lẻ, nên tổng này phải gồm một số chẵn các số hạng Vì vậy số đỉnh bậc lẻ phải là số chẵn 2.3.2 Đường đi và chu trình a) Đường đi Xét đồ thị G = với - Tập đỉnh X = {x1,x2, ,xn} -... chương 1 Ta sẽ xét một số thuật toán để minh họa cho định tuyến tối ưu ở chương sau 3.3.2 Cực tiểu hóa thời gian trễ trung bình trên mạng 3.3.2.1 Đặt vấn đề Trên mạng viễn thông, thời gian trễ của một tế bào, một gói tin hay một cuộc gọi là một trong những chỉ số chất lượng quan trọng Hiển nhiên, nếu ta muốn giảm thời gian đợi ở một nút mạng thì ta có thể thực hiện đi u đó bằng cách tăng năng lực phục... đường đi sơ cấp từ A đến E độ dài 3; ABCDBE là đường đi không sơ cấp ( qua B 2 lần) từ A đến E độ dài 5; ABDAB là một đường đi không đơn (chứa cạnh AB 2 lần) từ A đến B độ dài 4; ABDA Là 1 chu trình đơn và sơ cấp độ dài 3; CC là đường đi độ dài 0 Xét đồ thị có hướng như hình 2.1 thì ABCB là một đường đi độ dài 3; CBA không là một đường đi vì không có cung đi từ B đến A Định lý: Nếu trong đồ thị G = ... lượng mạng Tìm hiểu chỉ tiêu chất lượng mạng chính là tìm hiểu các chỉ tiêu mà sau này bài toán tối ưu sẽ hướng tới Theo định nghĩa của ITU tại khuyến nghị E.800, chất lượng mạng là năng lực của một mạng ( hoặc một phần của mạng ) thực hiện các chức năng có liên quan đến khả năng truyền thông giữa những người sử dụng Theo quan đi m công nghệ, chất lượng mạng là các tham số thể hiện năng lực của mạng, ... và U' thuộc U - Nếu trong đồ thị G ta bỏ đi một số cạnh nhưng giữ nguyên các đỉnh thì phần còn lại của đồ thị được gọi là đồ thị bộ phận của đồ thị G 23 CHƯƠNG 3 MỘT SỐ BÀI TOÁN THIẾT KẾ MẠNG VIỄN THÔNG VÀ CÁC VẤN ĐỀ LIÊN QUAN 3.1 Các chỉ tiêu chất lượng mạng Chất lượng dịch vụ của một mạng viễn thông thể hiện mức độ hài lòng của người sử dụng các dịch vụ trên mạng đó Ta không thể đo lường mức độ hài... vụ của toàn mạng, đi u không phải lúc nào cũng thực hiện được và nói chung không kinh tế Câu hỏi được đặt ra là, với một tổng năng lực phục vụ cố định, phải phân bố chúng tại các nút mạng như thế nào để thời gian trễ trung bình trên mạng nhỏ nhất Chúng ta sẽ giải quyết vấn đề này cho một mạng hàng đợi đóng 3.3.2.2 Mạng hàng đợi đóng Xét ở góc độ dịch vụ, mạng viễn thông có thể coi như một mạng hàng đợi

Ngày đăng: 03/08/2016, 09:06

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan