Tại sao đồ thị có hướng quan trọng?


18

Chúng tôi đã đọc về các thuật toán cho MST, kết nối mạnh, định tuyến, v.v. trong các biểu đồ được định hướng.

Gần đây, mọi người gần đây đã thực hiện nghiên cứu cho các thuật toán động và chịu lỗi cho các đồ thị có hướng.

Nhưng tôi đã tự hỏi nếu có bất kỳ ứng dụng thực tế nào trong đó mạng đồ thị gạch chân là "Được định hướng". Khác với các mạng xã hội, tất cả các vấn đề mà tôi có thể nghĩ đến như mạng đường sắt / đường bộ, mạng Internet, v.v. chỉ giải quyết các biểu đồ không mong muốn.

Chỉnh sửa 1: Tôi hiểu rằng chúng có thể được sử dụng để mô hình hóa một số tình huống trong đó các liên kết được định hướng nhưng tôi đã tự hỏi tần suất các kịch bản này xảy ra trong thế giới thực và tầm quan trọng của việc nghiên cứu khả năng chịu lỗi đối với các biểu đồ có hướng.


6
Hai trong số các lớp đồ thị có hướng nổi tiếng nhất trong tất cả các ngành khoa học máy tính là cây và DAG (Đồ thị theo chu kỳ có hướng). Cây được sử dụng trong nhiều thứ (ví dụ như cây gia đình, thứ bậc); DAG có thể làm những phiên bản tinh vi hơn. DAG chủ yếu được sử dụng bất cứ khi nào bạn có một tập hợp các thực thể có sự phụ thuộc lẫn nhau. Khi vấn đề của bạn có thành phần "thời gian" hoặc "từng bước", tính trực tiếp thể hiện sự tiến bộ không thể chối cãi đó. Bạn thấy các DAG trong những thứ như sơ đồ sơ đồ, phần mềm quản lý gói và các biểu mẫu SSA đại diện trung gian của trình biên dịch.
Idillotexist Idonotexist

2
OK, câu hỏi thực sự của bạn là gì? Bạn có muốn biết tại sao đồ thị có hướng là quan trọng hay tại sao khả năng chịu lỗi trong đồ thị có hướng là quan trọng? Đó là hai câu hỏi hoàn toàn riêng biệt.
David Richerby

2
Các ví dụ của bạn, trong khi thực hiện "vô hướng" về mặt thực thi, vẫn thường xuyên có các biểu đồ được định hướng hoạt động hợp lý trên chúng. Chẳng hạn, các chuyến tàu không đi hai chiều - chúng đi theo cách này hay cách khác, theo lịch trình. Giả sử người ta không lên lịch các chuyến tàu, mà chỉ lên lịch cho hành khách. Sau đó, người đó quan tâm đến một biểu đồ có hướng, mặc dù thực tế tùy ý rằng các đoàn tàu về mặt lý thuyết có thể đi trên một đường ray.
Darren Ringer

5
chyle: Mạng chắc chắn có thể hưởng lợi từ việc được biểu thị bằng đồ thị có hướng. Hầu hết các kết nối internet hộ gia đình là không đối xứng. Các liên kết ngược và xuôi dòng có thể có các thuộc tính hoàn toàn khác nhau (băng thông, độ trễ, mất gói, v.v.)
Alexander - Tái lập Monica

1
Tôi không biết về những người khác, nhưng cây gia đình của tôi là một máy vẽ. Tôi không phải là cha mẹ của mẹ tôi.

Câu trả lời:


36

Nhắc lại rằng đồ thị có hướng là một đồ thị trong đó các cạnh có hướng liên kết với chúng.

Sử dụng biểu đồ có hướng, bạn có thể biểu thị các mối quan hệ bất đối xứng giữa các nút, trong khi trong biểu đồ không có hướng, chúng ta chỉ có thể biểu thị các mối quan hệ đối xứng .

Thực tế, sử dụng biểu đồ có hướng bạn có thể biểu thị:

  • Mạng lưới đường (sử dụng biểu đồ có hướng bạn có thể biểu thị hướng của đường phố);
  • siêu liên kết kết nối các trang web ;
  • phụ thuộc trong các mô-đun phần mềm ;
  • mối quan hệ con mồi - động vật ăn thịt ;
  • tự động hữu hạn xác định .

Bên cạnh những ví dụ cổ điển này, bạn có thể mô tả nhiều kịch bản trong thế giới thực khác (thương mại tài chính, lập kế hoạch, bệnh truyền nhiễm, trích dẫn, kiểm soát dòng chảy, v.v.) cần một mối quan hệ có trật tự [1] .


4
Câu trả lời chính xác. Tôi nghĩ OP đang quên rằng khi bạn có một con phố, bạn thực sự có hai con đường (một cho mỗi hướng, thường là song song hoàn hảo). Chúng có thể được biểu diễn dưới dạng biểu đồ đơn giản, nhưng biểu đồ có hướng thêm thông tin cần thiết vào mô hình.
ecc

Tôi thích điều này và tôi nhận thấy rằng câu trả lời này rất cẩn thận khi nói các trang web được kết nối siêu liên kết - loại trừ việc sử dụng chức năng Quay lại. ;-)
SDsolar

Để đặt bình luận của @ ecc bằng tiếng bản địa, bạn có hai nút được kết nối bởi hai cạnh. Mỗi cạnh được hướng đối diện với nhau. Nó thường được nhìn thấy trong các sơ đồ trạng thái xác định. Đối với đường phố, nó sẽ giảm xuống một cạnh, cho dù được chỉ dẫn (một chiều) hoặc không bị ảnh hưởng.
SDsolar

4
@ecc cũng vậy, nơi tôi đến từ (California), chúng tôi có đường một chiều
k_g

5

Đồ thị có hướng Như đã đề cập trong các ý kiến, đặc biệt là đồ thị theo chu kỳ (DAG) có hướng rất hữu ích trong nhiều tác vụ tính toán như biên dịch mã.

Ngoài ra, cần lưu ý rằng hầu hết các thuật toán đồ thị có hướng có thể được sử dụng trong trường hợp không có hướng chỉ đơn giản bằng cách thay thế mỗi cạnh không bị chặn bằng hai cạnh được định hướng. Điều kép này, cố gắng tạo một đồ thị có hướng từ một đồ thị không có hướng, không thể được thực hiện đối với hầu hết các thuật toán.


3

Sự khởi đầu của phân loại tô pô (một hoạt động cơ bản trên đồ thị chu kỳ có hướng) nằm trong các mạng phụ thuộc trong quản lý dự án, đặc biệt là phương pháp PERT . Kahn và Lasser đều trích dẫn PERT trong các bài báo của họ và dựa trên các ví dụ của họ về nó, ví dụ

Một mạng lưới PERT gồm 30.000 hoạt động có thể được đặt hàng trong vòng chưa đầy một giờ của máy.

Lập lịch công việc trực tuyến vẫn được thực hiện với loại mạng này; ví dụ, hệ thống ETL lên lịch các công việc chỉ chạy sau khi các công việc cung cấp dữ liệu đầu vào của chúng chạy.


2

Trả lời: Từ OP tôi suy luận rằng câu hỏi thực sự liên quan đến SDGs (Biểu đồ có hướng được ký). Vì vậy, đây là câu trả lời của tôi trong đó giải quyết các biểu đồ định hướng cơ bản sau đó dẫn đến SDGs.

Đồ thị có hướng được sử dụng rộng rãi trong phân tích cây lỗi trong các hệ thống công nghiệp. Khi bạn loại bỏ nguyên nhân gây ra lỗi, bạn theo biểu đồ được chỉ dẫn để khám phá các khả năng khác.

Các biểu đồ được định hướng được sử dụng để ngăn chặn việc xem lại phản tác dụng của các nút đã được loại bỏ một cách hiệu quả. Trong chẩn đoán lỗi, thường thời gian để phục hồi dịch vụ là rất quan trọng. Trong các hệ thống công nghiệp phức tạp, luôn có một cây song song dựa trên thời gian có thể dẫn đến tắt toàn bộ hệ thống nếu lỗi không được sửa trong các giới hạn thời gian khác nhau. Quay đi quay lại sẽ có nhiều khả năng dẫn đến thất bại hoàn toàn, điều này có thể gây ra các hoạt động phục hồi tốn nhiều thời gian hơn (như xả bể và đường ống để khởi động lại nhà máy lọc dầu).

Nó giống như cắt tỉa một nhánh cây - không cần phải quay trở lại thân cây khi bạn đang cố gắng tìm một cành cây.

SDG có đặc tính bổ sung là đưa ra hướng dẫn dựa trên xác suất hoặc ngưỡng để giúp đưa ra quyết định khi cây bị vượt qua.

Đây là một liên kết đến một cuốn sách hay về chủ đề này, được gọi là Phát hiện lỗi và chẩn đoán trong các hệ thống công nghiệp (trang 224), trong đó nó mô tả các lợi ích của chẩn đoán dựa trên SDG:

https://books.google.com.vn/books?id=KFLlBwAAQBAJ&pg=PA224

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.