2015-05-21 22 views
6

Tôi hiện đang cố gắng hiểu các mũi tên và FRP, và tôi đã đưa ra một câu hỏi mà tôi dường như không thể lập bản đồ cho FRP, cụ thể là cách lập mô hình mạng lưới đường.Sử dụng FRP để mô hình mạng lưới đường có mứt

Tôi nghĩ tôi có thể lập mô hình mạng lưới đường làm Mũi tên, trong đó mỗi mũi tên đại diện cho đoạn đường. Nó chấp nhận các dòng xe tại các địa điểm và thời gian và sản xuất cùng loại, mặc dù với các địa điểm và thời gian khác nhau.

Cho đến nay rất tốt. Nhưng mô hình này không tính đến, các phân đoạn đó có thể bị kẹt. Mặc dù mỗi phân đoạn có thể phản ứng tốt với lưu lượng lớn và trì hoãn ô tô ngày càng nhiều, nhưng tắc nghẽn càng nhiều, sẽ không có hiệu ứng nước ngược, tức là mứt sẽ không lan truyền ngược sang các đoạn đường khác.

Tôi nghi ngờ tôi đang áp dụng quá nhiều suy nghĩ OO ở đây, thay vì tập trung vào những gì cần phải được tính toán, nhưng tôi không thể có được nó ngay trong đầu của tôi.

  • Làm cách nào để tạo mô hình mạng lưới đường với Mũi tên sao cho hiệu ứng backwater được tính đến?
+0

chính xác hiệu ứng backwater * là gì? - như là một lưu ý phụ: trong khi câu hỏi thú vị này rất có thể sẽ mở rộng cho loại trang web FAQ này - có bất kỳ điều gì để hiển thị và một vấn đề cụ thể (ví dụ: làm thế nào bạn mô hình hóa đường của bạn - trong mã;)) – Carsten

+0

Có , hiệu ứng nước ngược là như bạn mô tả. Không, tôi không có bất kỳ mã nào để hiển thị, bởi vì tôi tin rằng tôi phải giải quyết vấn đề khái niệm này trước tiên. –

+2

Bạn đã làm được bao nhiêu mô hình hệ thống rời rạc? Bạn đã từng sử dụng phần mềm như [Arena] (https://en.wikipedia.org/wiki/Arena_%28software%29) trước đây chưa (đó là phần mềm tôi đã tiếp xúc với uni, nhưng chắc chắn có phần mềm khác)? Để mã hóa một cái gì đó như thế này thành mũi tên hoặc FRP, bạn sẽ cần phải dành nhiều thời gian suy nghĩ về mô hình bạn muốn sử dụng và thử nghiệm với cách làm cho nó được mô hình hóa theo một trong những mô hình này.Bạn cũng có thể xem xét một cái gì đó như 'Pipe', vì nó có truyền thông hai chiều cho mỗi kênh. – bheklilr

Trả lời

2

Vấn đề là ở mũi tên và trong FRP luồng thông tin nói chung là một chiều. Hãy suy nghĩ về một mũi tên FRP giống như một phần của mạch kỹ thuật số. Đầu ra của một phần tử mạch không phụ thuộc vào những gì được kết nối với nó - nó chỉ "cung cấp" đầu ra cho bất kỳ ai quan tâm. Đây cũng được mô tả trực quan trong các chức năng tín hiệu nguyên thủy trong Yampa overview:

Yampa - signal functions

tình hình của bạn là khác nhau. Trạng thái của một đoạn đường phụ thuộc vào cả đoạn đường tiếp theo và trước đó - ô tô đang đi từ đoạn trước, nhưng nếu xe không thể rời khỏi đoạn đường tiếp theo, xe sẽ phải ở lại. Nó giống như một ống nước chảy. Nếu bạn đóng ống ở phần cuối của nó, nước sẽ dừng lại và thông tin về nó sẽ truyền ngược qua ống ở tốc độ âm thanh trong nước.

Vì vậy, mỗi đoạn đường sẽ cần có 2 yếu tố đầu vào: Giả sử có bao nhiêu ô tô có thể phân khúc sau chấp nhận và số lượng xe đến từ phân khúc trước đó (nên luôn nhỏ hơn hoặc bằng số lượng ô tô phân khúc có thể chấp nhận tại thời điểm này). Điều này có nghĩa là dòng tín hiệu FRP sẽ thực sự tròn. Đối với điều này, bạn sẽ cần vòng, được hiển thị trong hình ảnh cuối cùng trong sơ đồ trên, được chụp bởi loại ArrowLoop loại. Nhiều khả năng bạn sẽ có chức năng ràng buộc tùy chỉnh cho các đoạn đường sẽ tạo nội bộ các vòng bắt buộc. Lưu ý rằng phải có thời gian trễ trong một vòng lặp, để ngăn không cho nó phân kỳ, điều này có ý nghĩa vì phải mất một thời gian để xe ô tô đi từ phân đoạn này sang phân đoạn khác.

(Tôi có thể mở rộng câu trả lời bằng ví dụ, nếu tôi có thêm thời gian.)

+0

Petr, bạn dường như hoàn toàn hiểu được vấn đề của tôi. Tôi có suy nghĩ tương tự: Một phân đoạn cần hai đầu vào! Những gì tôi yêu cầu bản thân mình là sau đây: ai nói rằng tính toán cần phải trả lại xe ô tô? Tính toán không nhất thiết phải tuân theo dòng xe, nhưng có thể tính toán "cái gì đó" từ phía thượng lưu và hạ lưu của một đoạn. Nhưng tôi không thể hoàn thành chuyến tàu này. –

Các vấn đề liên quan