Vấn đề: Tôi có hai hình dạng 2D chồng lên nhau, A và B, mỗi hình có cùng số pixel, nhưng khác nhau về hình dạng. Một số phần của hình dạng chồng lên nhau, và có một số phần của mỗi hình không bị trùng lặp. Mục tiêu của tôi là di chuyển tất cả các pixel không chồng lên nhau trong hình dạng A đến các pixel không chồng chéo trong hình B. Vì số lượng pixel trong mỗi hình dạng giống nhau nên tôi có thể tìm thấy ánh xạ 1 đến 1 pixel. Hạn chế là tôi muốn tìm ánh xạ giúp giảm thiểu tổng khoảng cách được di chuyển bởi tất cả các pixel di chuyển.Cần có thuật toán tốt hơn để tìm ánh xạ giữa 2 tập hợp điểm với khoảng cách tối thiểu
Lực lượng vũ phu: Cách tiếp cận bạo lực để giải quyết vấn đề này rõ ràng là không có câu hỏi, vì tôi sẽ tính tổng khoảng cách của tất cả các ánh xạ có thể mà tôi nghĩ là có n! (trong đó n là số điểm ảnh không chồng chéo trong một hình) lần tính toán khoảng cách cho mỗi cặp điểm trong ánh xạ, n, cho tổng cộng O (n * n!) hoặc một cái gì đó tương tự.
Backtracking: Giải pháp "tốt hơn" tôi có thể nghĩ là sử dụng backtracking, nơi tôi sẽ theo dõi mức tối thiểu hiện tại cho đến thời điểm này. hoặc vượt quá mức tối thiểu đó, tôi chuyển sang bản đồ tiếp theo. Ngay cả điều này sẽ không làm tốt hơn O (n!).
Có cách nào để giải quyết vấn đề này với độ phức tạp hợp lý không?
Cũng lưu ý rằng cách tiếp cận "rõ ràng" chỉ đơn giản là ánh xạ một điểm đến đối tượng lân cận gần nhất của nó không phải lúc nào cũng mang lại giải pháp tối ưu.
đơn giản hơn cách tiếp cận ?: Như một câu hỏi phụ, nếu một giải pháp khả thi không tồn tại, một khả năng có thể để phân vùng từng bộ phận không chồng chéo thành các vùng nhỏ, và bản đồ các khu vực này, làm giảm đáng kể số lượng các ánh xạ . Để tính toán khoảng cách giữa hai vùng, tôi sẽ sử dụng trung tâm khối lượng (trung bình của các vị trí pixel trong khu vực). Tuy nhiên, điều này trình bày vấn đề làm thế nào tôi nên đi về làm phân vùng để có được một câu trả lời gần tối ưu.
Bất kỳ ý tưởng nào được đánh giá cao !!
Chỉ tò mò, nhưng điều này có xuất hiện trong bất kỳ ứng dụng thực tế nào không? –
Có, tôi đang cố gắng thiết kế một thuật toán nhận dạng hình dạng mới. Đây sẽ là một phần của thuật toán xác định một "khoảng cách" giữa hai hình dạng. – MahlerFive