Tải bản đầy đủ (.pptx) (18 trang)

bài toán tìm đường đi ngắn nhất

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (725.62 KB, 18 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

Bài 3:

BÀI TỐN TÌM

ĐƯỜNG ĐI NGẮN NHẤT

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

VÍ DỤ MINH HỌA

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

• Đồ thị mà mỗi cạnh được gán thêm một số được gọi là một đồ thị có trọng số.

• Số được gán cho mỗi cạnh được gọi là trọng số của cạnh đó. Trọng số của cạnh a được kí hiệu là Wa.

• Tổng trọng số (hay tổng độ dài) của các cạnh tạo thành đường đi gọi là độ dài của đường đi đó. Độ dài của

đường đi m được kí hiệu là lm.

• Trong đồ thị có trọng số, đường đi có độ dài bé nhất trong tất cả các đường đi từ đỉnh A đến đỉnh B gọi là đường đi ngắn nhất.

• Đồ thị có trọng số & đường đi ngắn

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Chú Ý: Khi xét bài tốn tìm đường đi ngắn nhất, đường đi EA, ABCD, DCF c) EBDF có phải là đường đi ngắn nhất từ E đến F

không?

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Bảng dưới đây cho biết quãng đường di chuyển ( tính bằng km ) từ nhà

các bạn Trâm, Khoa, Đan, Ân tới trường THPT

chuyên Bảo Lộc và tới

nhà của nhau . Hãy vẽ 1

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Giải

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

( SGK/61)

<small>a) Tất cả các đường đi từ A đến T (đi qua mỗi đỉnh nhiều nhất một lần) là: ABDT, ACDT, ACET, ACDET, ACEDT, ABDET, ABDCET.</small>

<small>Ta có:</small>

<small>⦁ lABDT = wAB + wBD + wDT = 4 + 7 + 3 = 14;⦁ lACDT = wAC + wCD + wDT = 2 + 6 + 3 = 11;⦁ lACET = wAC + wCE + wET = 2 + 12 + 5 = 19;</small>

<small>⦁ lACDET = wAC + wCD + wDE + wET = 2 + 6 + 4 + </small>

<small>Nên lACDT < lABDT < lACDET < lACET < lABDET < lACEDT < lABDCET.Vậy đường đi ngắn nhất từ A đến T là ACDT (có độ dài bằng 11).</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

( SGK/61)

Bước 2.

• Tìm đình gần A thứ hai. Trước hết, xét các

đình kề với C ( là đỉnh vừa được khoanh tròn ở cuối bước trước) trong các đỉnh chưa

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

=> Giữ nguyên nhãn này.

• Trong các đỉnh chưa khoanh trịn, đỉnh D có nhãn nhỏ nhất.

=> D là đỉnh gần 4 thứ ba.

• Ta cố định nhãn và khoanh tròn đỉnh D (Hình 10).

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<small>=> Số này nhỏ hơn nhãn hiện tại của T( là ∞).=> Đổi nhãn của T thành n T = 11 - Trong các </small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

*CHÚ Ý:

• Về sau, khi giải bài tốn tìm đường đi ngắn nhất, ta chỉ cần vẽ trên một hình chung cho tất cả các bước. Chẳng hạn, trong lời giải trên, ta chỉ cần vẽ lần lượt trên cùng một hình để cuối cùng nhận được Hình 11.

• Từ lời giải trên, ta có thể mơ tả khái qt thuật tốn (thuật tốn Dijkstra) tìm đường đi ngắn nhất từ đỉnh A đến đỉnh T trên một đồ thị có trọng số như sau:

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<small>Thuật tốn (tìm đường đi ngắn nhất từ định 4 đến định T)Mở đầu (cũng gọi là Bước 0)</small>

<small>Gán nhãn của A bằng 0, các đỉnh khác bằng 0. Khoanh tròn đỉnh A.</small>

<small>Các bước lặp</small>

<small>Trong mỗi bước lặp thực hiện các thao tác dưới đây:</small>

<small>• Gọi U là đỉnh vừa được khoanh tròn ở bước trước. Trong các đỉnh chưa khoanh trịn, xét lần lượt từng đình V kề với đỉnh U, tính n U + w UV rồi so sánh số này với nhãn hiện tại n V của V. Nếu số đó nhỏ hơn thì đổi nhãn ny bằng số đó.</small>

<small>• So sánh nhãn của tất cả các đỉnh chưa khoanh trịn. Đỉnh nào có nhãn nhỏ nhất thì khoanh trịn đỉnh đó (nếu có nhiều đỉnh như vậy thì khoanh một đỉnh tùy ý trong số đó).</small>

<small>• Nếu đỉnh T chưa được khoanh trịn thì thực hiện bước lặp tiếp theo, trái lại thì kết thúc các bước lặp.</small>

<small>Kết luận</small>

<small>• Dò lại các bước lặp để viết được nhãn n T của T dưới dạng tổng độ dài các cạnh. Từ đó nhận được đường đi ngắn nhất từ A đến T cùng với độ dài của nó.</small>

<small>Dưới đây, để hình vẽ dễ nhìn, ta bỏ qua việc ghi nhãn cơ cho các đỉnh trên hình vẽ.</small>

CHÚ Ý:

</div>

×