Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Giáo trình phân tích quy trình điều khiển luồng theo tiến trình Poisson với tham số p5 pps
MIỄN PHÍ
Số trang
14
Kích thước
2.6 MB
Định dạng
PDF
Lượt xem
1307

Giáo trình phân tích quy trình điều khiển luồng theo tiến trình Poisson với tham số p5 pps

Nội dung xem thử

Mô tả chi tiết

63

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 4.5, đó 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:

min( )

ik kj

k

ij d  d  d

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

4.2. 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 4.5. 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

dij =   i  j

sau đó thiết lập

dij  lij  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, dij+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:

Tải ngay đi em, còn do dự, trời tối mất!
Giáo trình phân tích quy trình điều khiển luồng theo tiến trình Poisson với tham số p5 pps | Siêu Thị PDF