ระยะทางระหว่างจุดยอด
การเชื่อมต่อภายในเครือข่ายสามารถประเมินได้โดยการตรวจสอบจำนวนและความยาวของเส้นทางระหว่างจุดยอด เส้นทางคือลำดับการเชื่อมต่อระหว่างจุดยอด จำนวนเส้นเชื่อมที่คั่นกลางระหว่างจุดยอดสองจุดเรียกว่าระยะทางจีโอเดสิก (geodesic distance) จุดยอดที่เชื่อมต่อถึงกันโดยตรงมีระยะทางจีโอเดสิกเท่ากับ 1 ส่วนจุดยอดที่มีเพื่อนบ้านร่วมกันแต่ไม่ได้เชื่อมต่อโดยตรงมีระยะทางเท่ากับ 2 และเป็นเช่นนี้ต่อไป สำหรับเครือข่ายแบบมีทิศทาง สามารถนำทิศทางของเส้นเชื่อมมาพิจารณาด้วย หากไม่สามารถเดินทางถึงกันโดยทำตามทิศทางของเส้นเชื่อม ระยะทางจีโอเดสิกจะถูกกำหนดเป็นอนันต์ ในแบบฝึกหัดนี้ จะได้เรียนรู้วิธีหาเส้นทางที่ยาวที่สุดระหว่างจุดยอดในเครือข่าย และวิธีระบุจุดยอดที่อยู่ภายใน \(n\) การเชื่อมต่อจากจุดยอดที่กำหนด สำหรับเครือข่ายการแพร่กระจายโรค เช่น ชุดข้อมูลหัดเยอรมัน สิ่งนี้ช่วยให้เข้าใจว่าโรคแพร่กระจายผ่านเครือข่ายได้รวดเร็วเพียงใด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายใน R
คำแนะนำการฝึกหัด
- หาความยาวของเส้นทางที่ยาวที่สุดในเครือข่ายโดยใช้
farthest_vertices() - ระบุลำดับของเส้นทางโดยใช้
get_diameter()ซึ่งแสดงให้เห็นว่าเด็กคนใดบ้างที่ส่งต่อโรคได้ไกลที่สุดในเครือข่าย - ใช้
ego()เพื่อหาจุดยอดทั้งหมดที่เข้าถึงได้ภายใน 2 การเชื่อมต่อจากจุดยอด 42 และจุดยอดที่สามารถเข้าถึงจุดยอด 42 ได้ภายใน 2 การเชื่อมต่อ โดยอาร์กิวเมนต์แรกของego()คือออบเจกต์กราฟ อาร์กิวเมนต์ที่สองคือจำนวนการเชื่อมต่อสูงสุดระหว่างจุดยอด อาร์กิวเมนต์ที่สามคือจุดยอดที่สนใจ และอาร์กิวเมนต์ที่สี่กำหนดว่าต้องการพิจารณาการเชื่อมต่อที่ออกจากหรือเข้าสู่จุดยอดที่สนใจ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
library(igraph)
# Which two vertices are the furthest apart in the graph ?
___(g)
# Shows the path sequence between two furthest apart vertices.
___(g)
# Identify vertices that are reachable within two connections from vertex 42
___(g, ___, '42', mode = c('___'))
# Identify vertices that can reach vertex 42 within two connections
___(g, ___, '42', mode = c('___'))