Bạn đang tìm kiếm một thuật toán phễu.
Đây là một đơn giản
http://digestingduck.blogspot.com.es/2010/03/simple-stool-funnel-alerskym.html
Về cơ bản, thuật toán xác định các cạnh là các cổng và xây dựng một phễu được kiểm tra dựa vào đỉnh của các cạnh để kiểm tra xem chúng có nằm trong phễu hay không.
Ở bước A, kênh được xây dựng với vị trí bắt đầu và cổng được cắt ngang bởi đường màu vàng.
Trong bước B, cổng tiếp theo được kiểm tra, đỉnh trên nằm trong kênh, do đó, đường trên phễu bây giờ đi qua mặc dù nó. Nhưng đỉnh dưới cùng nằm ngoài kênh vì đường màu đỏ nằm dưới đường màu xanh lục, vì vậy đường dưới sẽ không vượt qua mặc dù nó sẽ tiếp tục đi qua đỉnh dưới cùng của cổng trước.
Vì bạn có thể kiểm tra phễu sẽ nhỏ hơn và nhỏ hơn, cho đến bước F, nơi không thể xây dựng phễu, vì đường màu đỏ tạo ra một phễu xấu, vì vậy đỉnh trên được chọn làm điểm bắt đầu mới và một phễu mới sẽ được xây dựng nếu điểm cuối không nằm trong lưới đó.
Nhận ra rằng loại thuật toán này cũng cho phép một giải pháp đơn giản cho vấn đề kích thước mô hình, bởi vì bạn có thể xem xét rằng các cổng nhỏ hơn bằng 2 lần so với mô hình của bạn.