Đồ thị (lý thuyết đồ thị)
Bài viết này cần thêm chú thích nguồn gốc để kiểm chứng thông tin. |
- Bài này chỉ viết về các định nghĩa cơ bản. Để hiểu rộng hơn, xin xem lý thuyết đồ thị. Về ý nghĩa biểu diễn hàm số trên hệ tọa độ, xem đồ thị hàm số.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/6n-graf.svg/333px-6n-graf.svg.png)
Trong toán học và tin học, đồ thị là đối tượng nghiên cứu cơ bản của lý thuyết đồ thị. Một cách không chính thức, đồ thị là một tập các đối tượng gọi là đỉnh nối với nhau bởi các cạnh. Thông thường, đồ thị được vẽ dưới dạng một tập các điểm (đỉnh, nút) nối với nhau bởi các đoạn thẳng (cạnh). Tùy theo ứng dụng mà một số cạnh có thể có hướng.
Các định nghĩa
[sửa | sửa mã nguồn]Trong các tài liệu, các định nghĩa trong lý thuyết đồ thị được phát biểu theo nhiều kiểu. Dưới đây là kiểu truyền thống của cuốn từ điển bách khoa này.
Đồ thị vô hướng
[sửa | sửa mã nguồn]![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Undirected.svg/100px-Undirected.svg.png)
Đồ thị vô hướng hoặc đồ thị G là một cặp không có thứ tự (unordered pair) G:=(V, E), trong đó
- V, tập các đỉnh hoặc nút,
- E, tập các cặp không thứ tự chứa các đỉnh phân biệt, được gọi là cạnh. Hai đỉnh thuộc một cạnh được gọi là các đỉnh đầu cuối của cạnh đó.
Trong nhiều tài liệu, tập các cạnh bao gồm cả các cặp đỉnh không phân biệt, các cạnh này được gọi là các khuyên. V (và E) thường là các tập hữu hạn, phần lớn các kết quả nghiên cứu đã biết không đúng (hoặc khác) khi áp dụng cho đồ thị vô hạn (infinite graph) vì nhiều luận cứ không dùng được trong trường hợp vô hạn.
Đồ thị có hướng
[sửa | sửa mã nguồn]![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Directed.svg/250px-Directed.svg.png)
Đồ thị có hướng G là một cặp có thứ tự G:=(V, A), trong đó
- V, tập các đỉnh hoặc nút,
- A, tập các cặp có thứ tự chứa các đỉnh, được gọi là các cạnh có hướng hoặc cung. Một cạnh e = (x, y) được coi là có hướng từ x tới y; x được gọi là điểm đầu/gốc và y được gọi là điểm cuối/ngọn của cạnh.
Đơn đồ thị và Đa đồ thị
[sửa | sửa mã nguồn]Đơn đồ thị là đồ thị mà không có khuyên và không có cạnh song song.
Đa đồ thị là đồ thị mà không thỏa mãn đơn đồ thị.
Đa đồ thị có hướng là một đồ thị có hướng, trong đó, nếu x và y là hai đỉnh thì đồ thị được phép có cả hai cung (x, y) và (y, x).
Đơn đồ thị có hướng (hoặc Đa đồ thị có hướng) là một đồ thị có hướng, trong đó, nếu x và y là hai đỉnh thì đồ thị chỉ được phép có tối đa một trong hai cung (x, y) hoặc (y, x).
Quiver thường được coi là một đồ thị có hướng. Nhưng trong thực hành, nó là một đồ thị có hướng với các không gian vector (vector space) gắn với các đỉnh và các biến đổi tuyến tính gắn với các cung.
Đồ thị hỗn hợp
[sửa | sửa mã nguồn]Đồ thị hỗn hợp G là một bộ ba có thứ tự G:= (V,E,A) với V, E và A được định nghĩa như trên.
Các định nghĩa khác
[sửa | sửa mã nguồn]Như đã được định nghĩa ở trên, các cạnh của đồ thị vô hướng có hai đầu là hai đỉnh phân biệt; E và A là các tập hợp (với các phần tử phân biệt). Nhiều ứng dụng cần các khái niệm rộng hơn, và các thuật ngữ cũng khác nhau.
Một khuyên (loop) là một cạnh (vô hướng hoặc có hướng) nối từ một đỉnh về chính nó; Kiểu cạnh này có được chấp nhận hay không là tùy ở ứng dụng. Trong ngữ cảnh này, một cạnh nối hai đỉnh phân biệt được gọi là một liên kết (link).
Đôi khi, E và A được phép là các đa tập hợp (multiset), khi đó giữa hai đỉnh có thể có nhiều hơn một cạnh. Có thể cho phép giữa hai đỉnh có nhiều cạnh bằng cách cho E là một tập hợp độc lập với V, và xác định các điểm đầu của mỗi cạnh bằng một quan hệ liên thuộc (incidence relation) giữa V và E. Đối với đồ thị có hướng, ta áp dụng tương tự cho tập hợp cạnh có hướng A, tuy nhiên, phải có hai quan hệ liên thuộc, một cho đỉnh đầu và một cho đỉnh cuối của mỗi cung.
Trong các sách, tùy theo ý của tác giả hoặc theo yêu cầu của chủ đề cụ thể mà từ "đồ thị" có thể hàm ý cho phép hoặc không cho phép khuyên hay đa cạnh. Nếu đồ thị không cho phép đa cạnh (và không cho phép khuyên nếu là đồ thị có hướng), đồ thị được gọi là đơn đồ thị. Mặt khác, nếu cho phép đa cạnh (và đôi khi cả khuyên), đồ thị được gọi là đa đồ thị. Đôi khi, từ giả đồ thị (pseudograph) còn được dùng để hàm ý cả đa cạnh và khuyên đều được phép. Trong các trường hợp đặc biệt, thậm chí còn cần đến các cạnh chỉ có một đỉnh, được gọi là nửa cạnh (halfedge), hoặc không có đỉnh nào, (cạnh rời). Xem ví dụ tại signed graph.
Các định nghĩa khác
[sửa | sửa mã nguồn]- Xem thêm thuật ngữ lý thuyết đồ thị.
Hai cạnh của một đồ thị được coi là kề nhau nếu chúng có chung một đỉnh. Tương tự, hai đỉnh được coi là kề nhau nếu chúng được nối với nhau bởi một cạnh. Một cạnh và đỉnh nằm trên cạnh đó được coi là liên thuộc với nhau.
Đồ thị chỉ có một đỉnh và không có cạnh nào được gọi là đồ thị tầm thường. Đồ thị không có cả đỉnh lẫn cạnh được gọi là đồ thị rỗng
Trong một đồ thị có trọng số, mỗi cạnh được gắn với một giá trị nào đó, được gọi là trọng số, độ dài, chi phí, hoặc các tên khác tùy theo ứng dụng; các đồ thị như vậy được dùng trong nhiều ngữ cảnh, chẳng hạn trong các bài toán tối ưu hóa đường đi như bài toán người bán hàng.
Ví dụ
[sửa | sửa mã nguồn]
Hình bên là một biểu diễn đồ họa của đồ thị sau
- V:={1,2,3,4,5,6}
- E:=Bản mẫu:1,2,{1,5},{2,3},{2,5},{3,4},{4,5},Bản mẫu:4,6
Đôi khi, thông tin "đỉnh 1 được nối với đỉnh 2" được ký hiệu là 1 ~ 2.
- Trong lý thuyết phạm trù (category theory) một phạm trù có thể được coi là một đa đồ thị có hướng với các đối tượng là các đỉnh và các morphism là các cạnh có hướng. Khi đó, các hàm tử (functor) giữa các phạm trù là một số (nhưng không nhất thiết tất cả) digraph morphism.
- Trong Khoa học máy tính đồ thị có hướng được dùng để biểu diễn các ô-tô-mát hữu hạn (finite state machine) và nhiều cấu trúc rời rạc khác.
- Một quan hệ đôi (binary relation) R trên tập X là một đơn đồ thị có hướng. Hai đỉnh x,y của X được nối với nhau bởi một cung nếu xRy.
Các dạng đồ thị quan trọng
[sửa | sửa mã nguồn]- Trong một đồ thị đầy đủ mỗi cặp đỉnh đều được nối với nhau bằng một cạnh, nghĩa là đồ thị chứa tất cả các cạnh có thể.
- Một đồ thị phẳng có thể được vẽ trên mặt phẳng sao cho không có hai cạnh nào cắt nhau.
- Cây là một đồ thị liên thông không có chu trình.
- Đồ thị hai phía (Bipartite graph)
- Đồ thị hoàn hảo (Perfect graph)
- Cograph
- Đồ thị Cayley
- Đồ thị Petersen và các suy rộng của nó
Các thao tác trên đồ thị
[sửa | sửa mã nguồn]Có một số phép toán tạo đồ thị mới từ các đồ thị cũ.
Các phép toán một ngôi
[sửa | sửa mã nguồn]- Đồ thị đường (Line graph) (tạo đồ thị mới bằng cách chuyển cạnh thành đỉnh và tạo các cạnh tương ứng)
- Đồ thị đối ngẫu (Dual graph) (tạo đồ thị mới từ một đồ thị phẳng bằng cách tạo một đỉnh cho mỗi miền mặt phẳng và các cạnh được nối giữa hai đỉnh tương ứng với hai miền kề nhau)
- Đồ thị bù (Complement graph)
Các phép toán hai ngôi
[sửa | sửa mã nguồn]- Tích Đề-các của đồ thị (Cartesian product of graphs)
- Tích Ten-xơ của đồ thị (Tensor product of graphs)
Các suy rộng
[sửa | sửa mã nguồn]Trong siêu đồ thị (hypergraph), một cạnh có thể nối nhiều hơn hai đỉnh.
Một đồ thị vô hướng có thể được coi là một phức đơn hình (simplicial complex) bao gồm các đơn hình 1 chiều (các cạnh) và các đơn hình 0 chiều (các đỉnh). Như vậy, đa hình là suy rộng của đồ thị do chúng cho phép các đơn hình nhiều chiều hơn.
Mỗi đồ thị đều cho một matroid, nhưng nói chung, không thể tạo lại đồ thị từ matroid của nó, do đó, matroid không phải là suy rộng của đồ thị.
Trong lý thuyết mô hình (model theory), một đồ thị chỉ là một cấu trúc. Nhưng khi đó, không có giới hạn về số cạnh: nó có thể là một số đếm bất kỳ.
Xem thêm
[sửa | sửa mã nguồn]- Đa giác
- Bài toán lát gạch (Tiling)
- Thuật ngữ lý thuyết đồ thị
- Danh sách các chủ đề lý thuyết đồ thị
- Đồ thị (cấu trúc dữ liệu)
- Các ấn phẩm lý thuyết đồ thị quan trọng
![]() |
Wikimedia Commons có thêm hình ảnh và phương tiện truyền tải về Đồ thị (lý thuyết đồ thị). |