Lý thuyết đồ thị là nhánh toán học mạnh mẽ giúp giải quyết các bài toán về kết nối và mối quan hệ phức tạp. Blog này giới thiệu khái niệm, phân loại đồ thị (vô hướng, có hướng, trọng số), các thuật toán như Dijkstra, Prim, và ứng dụng từ giao thông đến mạng xã hội.
Cho 4 thành phố A,B,C,D nối bởi các con đường có trạm thu phí với giá (triệu đồng) như sau
Hỏi đường đi từ A qua các thành phố còn lại đúng một lần rồi về A có số chi phí nhỏ nhất là bao nhiêu?
Và
(Trích Đề Minh Hoạ Toán Lớp 10 2025 SGD TPHCM)
Hai bài toán này có thể được xem là một bài toán thuộc lý thuyết đồ thị (graph theory) vì ta có thể mô hình hóa các trụ ( A ), ( B ), ( C ), ( D ) như các đỉnh của một đồ thị, và các đường nối giữa các trụ (với số thử thách tương ứng) như các cạnh có trọng số.
Phân tích bài toán:
Các đỉnh và cạnh:
Các trụ ( A ), ( B ), ( C ), ( D ) là các đỉnh của đồ thị.
Các cạnh có trọng số tương ứng với số lượng thử thách trên các đường đi giữa các trụ.
Yêu cầu bài toán:
Người chơi cần xuất phát từ một trụ bất kỳ, đi qua tất cả các trụ và trở về trụ ban đầu sao cho tổng số thử thách là nhỏ nhất.
Đây là dạng bài toán tìm đường đi có trọng số nhỏ nhất đi qua tất cả các đỉnh trong đồ thị, có thể coi là dạng của bài toán chu trình Hamilton với đồ thị có trọng số.
Lời giải: Ta sẽ sử dụng lý thuyết đồ thị để tìm đường đi ngắn nhất qua tất cả các đỉnh. Dưới đây là cách tiếp cận để giải bài toán:
Xác định tổng trọng số của các cạnh trong đồ thị.
Thử các đường đi và tính tổng số thử thách, giữ lại đường đi có tổng trọng số nhỏ nhất.
Để giải chi tiết, ta cần tính toán các đường đi và thử các trường hợp nhằm tìm ra đường đi ngắn nhất.
Xem video hướng dẫn giải
https://www.youtube.com/shorts/5_Q4WVzdUmo
1. Giới thiệu về Lý thuyết Đồ thị
Lý thuyết đồ thị là một nhánh của toán học chuyên nghiên cứu các cấu trúc gọi là đồ thị.
Đồ thị mô hình hóa các mối quan hệ và kết nối, thường được dùng để biểu diễn mạng xã hội, mạng máy tính, đường đi trong giao thông, hoặc các mối quan hệ phức tạp khác.
Một đồ thị (graph) được tạo thành từ:
Đỉnh (Vertex/Nút): Đại diện cho một đối tượng hoặc điểm, như người trong mạng xã hội hoặc thành phố trong hệ thống giao thông.
Cạnh (Edge/Link): Đại diện cho mối quan hệ hoặc kết nối giữa các đỉnh.
Ví dụ bài toán mở đầu là một đô thị có 4 đỉnh và 6 cạnh
Hình đồ thị Graph biểu diễn
Ký hiệu đồ thị
Đồ thị thường được ký hiệu là ( G = (V, E) ):
( V ) là tập hợp các đỉnh.
( E ) là tập hợp các cạnh nối giữa các đỉnh
2. Phân loại Đồ thị
2.1 Đồ thị vô hướng (Undirected Graph)
Đây là loại đồ thị mà các cạnh không có hướng, nghĩa là nếu có cạnh nối giữa đỉnh ( A ) và ( B ), bạn có thể đi từ ( A ) đến ( B ) và ngược lại.
Ví dụ: Trong mạng xã hội, quan hệ "bạn bè" là hai chiều, vì nếu ( A ) là bạn của ( B ) thì ( B ) cũng là bạn của ( A ).
Source: a16z
2.2 Đồ thị có hướng (Directed Graph)
Đồ thị có hướng có các cạnh mang hướng, nghĩa là mỗi cạnh chỉ đi từ đỉnh đầu đến đỉnh cuối. Một cạnh ( (A, B) ) chỉ có thể đi từ ( A ) đến ( B ) chứ không ngược lại.
Ví dụ: Mạng xã hội Twitter/X, nơi một người có thể "theo dõi" người khác mà không cần người kia theo dõi lại.
2.3 Đồ thị có trọng số (Weighted Graph)
Trong đồ thị có trọng số, mỗi cạnh được gán một giá trị (trọng số), đại diện cho "chi phí" hoặc "khoảng cách" giữa hai đỉnh.
Ví dụ: Bản đồ giao thông, nơi trọng số có thể là khoảng cách hoặc thời gian giữa hai địa điểm.
2.4 Đồ thị liên thông và không liên thông
Đồ thị liên thông (Connected Graph): Mọi cặp đỉnh đều có đường đi nối chúng lại.
Đồ thị không liên thông (Disconnected Graph): Có ít nhất một cặp đỉnh không có đường đi nối chúng lại.
3. Một số khái niệm quan trọng
3.1 Bậc của đỉnh (Degree of a Vertex)
Trong đồ thị vô hướng, bậc của đỉnh là số cạnh nối với đỉnh đó.
Trong đồ thị có hướng, ta có bậc vào (in-degree) và bậc ra (out-degree) tương ứng với số cạnh đi vào và đi ra từ đỉnh.
3.2 Chu trình (Cycle)
Chu trình là đường đi bắt đầu và kết thúc tại cùng một đỉnh, không đi qua bất kỳ đỉnh nào hai lần (trừ đỉnh bắt đầu và kết thúc).
3.3 Đường đi Euler và Chu trình Euler
Đường đi Euler: Đường đi qua mỗi cạnh đúng một lần.
Chu trình Euler: Chu trình đi qua mỗi cạnh đúng một lần và quay lại điểm xuất phát. Để tồn tại chu trình Euler, đồ thị vô hướng phải liên thông và tất cả các đỉnh có bậc chẵn.
3.4 Đường đi Hamilton và Chu trình Hamilton
Đường đi Hamilton: Đường đi qua mỗi đỉnh đúng một lần.
Chu trình Hamilton: Chu trình đi qua mỗi đỉnh đúng một lần và quay lại điểm xuất phát.
4. Các thuật toán cơ bản trong Lý thuyết Đồ thị
4.1 Thuật toán Tìm đường đi ngắn nhất
Thuật toán Dijkstra: Tìm đường đi ngắn nhất từ một đỉnh đến tất cả các đỉnh khác trong đồ thị có trọng số dương.
Thuật toán Bellman-Ford: Tìm đường đi ngắn nhất từ một đỉnh đến tất cả các đỉnh khác trong đồ thị có trọng số, có thể bao gồm trọng số âm.
Thuật toán Floyd-Warshall: Tìm đường đi ngắn nhất giữa tất cả các cặp đỉnh trong đồ thị.
4.2 Thuật toán Tìm cây khung nhỏ nhất (Minimum Spanning Tree)
Thuật toán Kruskal: Chọn cạnh có trọng số nhỏ nhất, liên tục thêm vào cây nếu không tạo ra chu trình.
Thuật toán Prim: Bắt đầu từ một đỉnh và mở rộng cây bằng cách thêm các cạnh nhỏ nhất nối với các đỉnh ngoài cây.
4.3 Thuật toán Tìm kiếm Đồ thị
Tìm kiếm theo chiều rộng (Breadth-First Search - BFS): Tìm kiếm trong đồ thị bằng cách duyệt các đỉnh theo từng tầng, thích hợp cho tìm kiếm đường đi ngắn nhất trong đồ thị vô hướng không trọng số.
Tìm kiếm theo chiều sâu (Depth-First Search - DFS): Tìm kiếm bằng cách đi sâu vào từng nhánh, có thể dùng để tìm các thành phần liên thông trong đồ thị.
5. Ứng dụng của Lý thuyết Đồ thị
Lý thuyết đồ thị có nhiều ứng dụng trong thực tế:
Mạng xã hội: Mô hình hóa các mối quan hệ giữa người dùng, phân tích cộng đồng và truyền bá thông tin.
Giao thông và Logistics: Tìm đường đi ngắn nhất, tối ưu hóa tuyến đường, lập kế hoạch vận chuyển.
Mạng máy tính: Thiết kế và tối ưu hóa mạng, tìm đường đi nhanh nhất để truyền tải dữ liệu.
Khoa học và kỹ thuật: Mô hình hóa cấu trúc phân tử, tối ưu hóa dây chuyền sản xuất, lập kế hoạch dự án.
Tóm lại
Lý thuyết đồ thị là một công cụ mạnh mẽ để mô hình hóa và giải quyết các vấn đề phức tạp liên quan đến mối quan hệ và kết nối. Việc nắm vững các khái niệm cơ bản sẽ giúp bạn hiểu và ứng dụng lý thuyết đồ thị trong nhiều lĩnh vực khác nhau.
Phương trình bậc hai một ẩn là phần kiến thức quan trọng trong chương trình toán học, giúp giải quyết nhiều bài toán thực tế và lý thuyết. Bài viết này cung cấp hướng dẫn chi tiết cách giải phương trình bậc hai, từ xác định hệ số, tính biệt thức đến phân loại nghiệm. Đọc ngay để nắm vững phương pháp giải bài tập liên quan đến phương trình bậc hai.
Bài viết trình bày phương pháp sử dụng các đẳng thức quen thuộc trong chứng minh bất đẳng thức, kèm theo ví dụ minh họa chi tiết và bài tập vận dụng. Đây là phần 1 trong chuỗi chuyên đề dành cho học sinh yêu thích toán học, đặc biệt là các bạn đang ôn thi vào lớp chuyên