Asst.Prof. Dr.Surasak Mungsing

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Another one of Data Structure
Advertisements

Application Development Overview Nithi Thanon Computer Science Prince of Songkla University.
รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
Stack.
: Chapter 1: Introduction 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
ออโตมาตาจำกัด FINITE AUTOMATA
สมชาย ประสิทธิ์จูตระกูล
Graph’s algorithm นำเสนอโดย นายปองสิทธิ์ โพธิคุณ ม.6/7 เลขที่ 17
Image Processing & Computer Vision
THE ANT PHILOSOPHY : ปรัชญาของมด
ตัวอย่างFUZZY. ตัวอย่าง ฐานองคความรูฟซซีสามารถแสดงไดเปน Rule 1: If feature1 is high and feature2 is low and feature3 is medium, then class is 1.
CSC201 Analysis and Design of Algorithms P and NP Problems
Asst.Prof. Dr.Surasak Mungsing
CSC201 Analysis and Design of Algorithms Greedy, Divide and Conquer
Asst.Prof. Dr.Surasak Mungsing
Asst.Prof. Dr.Surasak Mungsing
ให้ประหยัดการใช้หน่วยความจำ (space) ด้วยความรวดเร็ว (time)
วิทยาการคอมพิวเตอร์ 1 เรื่องคัดเฉพาะทาง
Process Analysis การวิเคราะห์กระบวนการ
การเลือกรองเท้าและ การปรับรองเท้า ให้เหมาะสม สำหรับผู้ป่วยเบาหวาน
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
Chapter 3 Simple Supervised learning
Chapter 1/1 Arrays. Introduction Data structures are classified as either linear or nonlinear Linear structures: elements form a sequence or a linear.
Dijkstra Shortest Path Algorithm
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
In-Class Exercises Discrete Mathematics
Shortest-Path Algorithms
Chapter 04 Flowchart ผู้สอน อ.ยืนยง กันทะเนตร
School of Information Communication Technology,
Discrete Math Lecture 10: Graphs
การกำหนดโครงการ (Project Scheduling: PERT / CPM)
กราฟเบื้องต้น.
 How do we improve the test?  Why do we have to improve the test?
ว เคมีพื้นฐาน พันธะเคมี
กราฟเบื้องต้น.
Wang991.wordpress.com Relation and function Click when ready 
WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 6 Graph 1.
Week 12: Chapter 27: Internet Routing Part I:
หน่วยที่ 6 กราฟ (Graphs)
Silberschatz, Galvin and Gagne ©2010 Operating System Concepts – 8 th Edition, Chapter 7: Deadlocks Dr. Varin Chouvatut.
Trees Hierarchical Structures. Outlines Definition of trees Modeling by trees Properties of trees Applications – Binary search trees – Prefix codes –
Eigenvalue & Eigenvector. 1. Get to know: Eigenvalue & Eigenvector 2. Estimation of Eigenvalue & Eigenvector 3. Theorem.
1 exit() and break C++ provides a way to leave a program early (before its natural finish) with the exit() function. The format of exit() is as follows:
Collections. Data structures Data Structures ( โครงสร้างข้อมูล ) เกิดจากการ นำข้อมูลขั้นพื้นฐานที่แบ่งแยกไม่ได้ (atomic data type) เช่น int, char, double.
Page : Stability and Statdy-State Error Chapter 3 Design of Discrete-Time control systems Stability and Steady-State Error.
ACM ICPC Training Nattee Niparnan.
Chapter 8: Single-Area OSPF
อาจารย์อภิพงศ์ ปิงยศ บทที่ 7 : TCP/IP และอินเทอร์เน็ต Part3 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ อาจารย์อภิพงศ์
พื้นฐานการเขียนแบบทางวิศวกรรม
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 13: การคำนวณได้และการตัดสินใจของปัญหา ที่ยากต่อการแก้ไข.
การออกแบบระบบ System Design.
บทที่ 1 ความรู้เบื้องต้น เกี่ยวกับระบบสารสนเทศ
Asst.Prof. Dr.Surasak Mungsing
Rewrite by Burin Rujjanapan Updated:
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 04: การวิเคราะห์หาความซับซ้อนด้านเวลา ในรูป.
ที่มาและหน่วยงานกาชาดต่างๆ
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
ตอนที่ 4: เคลื่อนไปกับของประทานของท่าน Part 4: Flowing In Your Gift
การวิเคราะห์และออกแบบขั้นตอนวิธี
9. GRAPH ALGORITHMS.
การวิเคราะห์และออกแบบขั้นตอนวิธี
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 12: เทคนิคการออกแบบขั้นตอนวิธีตอนวิธี Dynamic.
ใบสำเนางานนำเสนอ:

Asst.Prof. Dr.Surasak Mungsing E-mail: Surasak.mu@spu.ac.th CSC201 Analysis and Design of Algorithms Problem Solving Problem with Graphs: Shortest Path and และ Minimum Spanning Tree Asst.Prof. Dr.Surasak Mungsing E-mail: Surasak.mu@spu.ac.th Apr-17

Sparse Graphs In a sparse graph the number of edges is significantly less than |V| squared. 4/4/2017

Dense Graphs In a dense graph most of the vertices are connected by edges. 4/4/2017

Adjacency List Representation In order to run algorithms on graphs we can use one of two representations of them. The first is an adjacency list. Here each vertex has an entry in an array that contains a linked list to the adjacent vertices. 4/4/2017

Adjacency-Matrix Representation Another method of storing the information about the graph is called an adjacency-matrix. Here a V by V matrix is formed with entries 0 or 1. 4/4/2017

Directed Graphs A directed graph the edge (u,v) is distinct from the edge (v,u). Here is an example: 4/4/2017

Matrix Representation 4/4/2017

Weighted Graphs A weighted graph has a real value associated with each edge as in this graph: 4/4/2017

Matrix Representation 4/4/2017

Single Source Shortest Path กำหนด (un)weighted, directed graph G = {V, E} มาให้ซึ่งแต่ละ edge มีค่า cost (หรือ weight) เป็นจำนวนบวก Problem: จงหาค่ารวมของ cost ของเส้นทางทีสั้นที่สุดจาก vertex ต้นทางไปยัง vertex ปลายทางอื่นๆ ความยาวของเส้นทางคือคารวมของ cost ของedge ต่างๆบนเส้นทางนั้น ทำไมไม่กำหนดเส้นทางใดเส้นทางหนึ่งไปยังจุดหมายปลายทาง? Application: G คือแผนที่เส้นทางบินของสายการบินซึ่งจะต้องหาเส้นทางบินจากเมืองที่กำหนดให้ไปยังอีกเมืองอื่นๆโดยใช้เวลาเดินทางน้อยที่สุด 4/4/2017

รักษา set S ของ vertices ซึ่งรู้ค่าของเส้นทางที่สั้นทีสุดจากต้นทางแล้ว Dijkstra’s Algorithm รักษา set S ของ vertices ซึ่งรู้ค่าของเส้นทางที่สั้นทีสุดจากต้นทางแล้ว ตอนเริ่มต้น S มีเพียง vertex ต้นทาง เท่านั้น ในแต่ละ step, เราเพิ่ม vertex w ที่เหลือซึ่งมีเส้นทางจาก vertex ต้นทางสั้นทีสุดเข้าไปใน S สมมติว่าทุก edge มี cost เป็นบวก เราสามารถหาเส้นทางที่สั้นที่สุดจากต้นทางไปยัง vertex อื่นโดยผ่านเส้นทางใน S (special path) เท่านั้นได้เสมอ ในทุกๆ step เราใช้ array บันทึกค่าระยะทางที่สั้นที่สุดของ special path ไปยังแต่ละ vertex เสร็จสิ้นการคำนวณเมื่อใน S ครอบคลุมทุก vertex (all paths are special) 4/4/2017

Algorithm Directed graph G={V, E} V={1, 2, …, n}, Vertex 1 is the source Cost-adjacency matrix A[0:n][0:n] Array D[1:n]; at each step D[i] contains the length of the current shortest special path to vertex i Initially D[i] = A[s][i] Array P[1:n] of vertices, such that P[v] contains the vertex immediately before v in the shortest path Initially P[v]=1, v1 4/4/2017

Explanations How do we compute D[v]? At each step: D[v] := min(D[v], D[w]+A[w][v]) How do we update P? After computing D[v], if D[w]+A[w][v]< D[v] then P[v] :=w 4/4/2017

Dijkstra: Example G 1 2 5 3 4 Shortest path from 1 to 5? 10 100 30 2 5 10 50 60 3 4 20 Shortest path from 1 to 5? In reverse direction: 53 4 1 4/4/2017

An Example inf inf a 7 d 5 2 2 inf 4 5 b f 1 s 3 inf 1 7 4 e c 4 inf 1 7 4 e c 4 inf inf 4/4/2017

2 inf a 7 d 5 2 2 5 4 5 b f 1 s 3 inf 1 7 4 e c 4 inf 4 4/4/2017

2 9 a 7 d 2 5 2 4 4 5 b f 1 s 3 inf 1 7 4 e c 4 inf 4 4/4/2017

2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 inf 1 7 4 e c 4 7 4 4/4/2017

2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 inf 1 7 4 e c 4 7 4 4/4/2017

2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 14 1 7 4 e c 4 7 4 4/4/2017

2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 13 1 7 4 e c 4 7 4 4/4/2017

2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 13 1 7 4 e c 4 7 4 4/4/2017

Shortest Path Tree The unique simple path from s to v in the tree is a shortest path from s to v. 2 8 a d 2 5 2 4 4 b f s 3 13 4 e c 7 4 4/4/2017

Minimum Spanning Tree 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 (1) (2) Prim’s Algorithm 4/4/2017

Minimum Spanning Tree 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 (3) (4) Prim’s Algorithm 4/4/2017

Minimum Spanning Tree 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 (5) Prim’s Algorithm 4/4/2017

Prim’s Algorithm (1) (2) (3) (4) (5) (6) 4/4/2017

Kruskal’s Algorithm 4/4/2017

Kruskal’s Algorithm (2) (3) (1) (4) (6) (5) 4/4/2017

4-Apr-17