TAILIEUCHUNG - Mục đích của việc mô hình hóa và đánh giá đặc tính hoạt động của hệ thống p6

Thuật toán Dijkstra Tất cả các thuật toán tìm đường đi ngắn nhất đều dựa vào các nhận xét được minh hoạ trên hình , đó là việc lồng nhau giữa các đường đi ngắn nhất nghĩa là một nút k thuộc một đường đi ngắn nhất từ i tới j thì đường đi ngắn nhất từ i tới j sẽ bằng đường đi ngắn nhất từ i tới k kết hợp với đường đi ngắn nhất từ j tới k. Vì thế, chúng ta có thể tìm đường đi ngắn nhất bằng công thức đệ quy sau:. | Thuật toán Dijkstra Tất cả các thuật toán tìm đường đi ngắn nhất đều dựa vào các nhận xét được minh hoạ trên hình đó là việc lồng nhau giữa các đường đi ngắn nhất nghĩa là một nút k thuộc một đường đi ngắn nhất từ i tới j thì đường đi ngắn nhất từ i tới j sẽ bằng đường đi ngắn nhất từ i tới k kết hợp với đường đi ngắn nhất từ j tới k. Vì thế chúng ta có thể tìm đường đi ngắn nhất bằng công thức đệ quy sau d j min d dkj k dxy là độ dài của đường đi ngắn nhất từ x tới y. Khó khăn của cách tiếp cận này là phải có một cách khởi động đệ quy nào đó vì chúng ta không thể khởi động với các giá trị bất kỳ ở vế phải của phương trình . Có một số cách để thực hiện việc này mỗi cách là cơ sở cho một thuật toán khác nhau. Hình . Các đường ngắn nhất lồng nhau Thuật toán Dijkstra phù hợp cho việc tìm đường đi ngắn nhất từ một nút i tới tất cả các nút khác. Bắt đầu bằng cách thiết lập dii 0 và dj X V i j sau đó thiết lập dij lj V j là nút kề cận của i Sau đó tìm nút j có dij là bé nhất. Tiếp đó lấy chính nút j vừa chọn để khai triển các khoảng cách các nút khác nghĩa là bằng cách thiết lập dik--min dik dj ljk Tại mỗi giai đoạn của quá trình giá trị của dik là giá trị ước lượng hiện có của đường đi ngắn nhất từ i tới k và thực ra là độ dài đường đi ngắn nhất đã được tìm cho tới thời điểm đó. Xem djk như là nhãn trên nút k. Quá trình sử dụng một nút để triển khai các nhãn cho các nút khác gọi là quá trình quét nút. Thực hiện tương tự tiếp tục tìm các nút chưa được quét có nhãn bé nhất và quét nó. Chú ý rằng vì giả thiết rằng tất cả các ljk đều dương do đó một nút không thể gán cho nút khác một nhãn bé hơn chính nhãn của nút đó. Vì vậy khi một nút được quét thì việc quét lại nó nhất thiết không bao giờ xảy ra. Vì thế mỗi nút chỉ cần được quét một lần. Nếu nhãn trên một nút thay đổi nút đó phải được quét lại. Thuật toán Dijkstra có thể được viết như sau 63 array n -Dijkstra n root dist dcl dist n n pred n sp_dist n scanned n index - FindMin d_min - INFINITY for each i n if .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.