Khôi phục một điểm nhúng từ biểu đồ với các cạnh có trọng số theo khoảng cách điểm


10

Giả sử tôi cung cấp cho bạn một biểu đồ vô hướng với các cạnh có trọng số và cho bạn biết rằng mỗi nút tương ứng với một điểm trong không gian 3d. Bất cứ khi nào có một cạnh giữa hai nút, trọng lượng của cạnh là khoảng cách giữa các điểm.

Mục tiêu của bạn là tái cấu trúc các vị trí tương đối của các điểm, chỉ đưa ra các khoảng cách có sẵn (được biểu thị bằng các trọng số cạnh). Ví dụ: nếu tôi đưa cho bạn , sau đó bạn biết các điểm là các đỉnh của một khối tứ diện. Bạn không biết nó ở đâu so với nguồn gốc, hoặc hướng của nó, hoặc nếu nó được nhân đôi, nhưng bạn có thể nói đó là một tứ diện.d0,1=d0,2=d0,3=d1,2=d1,3=d2,3=1

Nói chung, vấn đề là dễ dàng nếu tôi cung cấp cho bạn tất cả các độ dài cạnh. Chỉ cần tùy ý chọn một điểm ở , sau đó chọn một điểm lân cận và đặt nó tại , sau đó một hàng xóm chung sẽ được tam giác lên XY mặt phẳng, sau đó một hàng xóm chung cuối cùng được tam giác hóa vào nửa không gian và phá vỡ tính đối xứng còn lại (giả sử bạn không chọn các điểm suy biến). Bạn có thể sử dụng bốn điểm đó để sắp xếp tất cả những điểm còn lại. ( 0 , 0 , 0 ) p 1 ( d 0 , 1 , 0 , 0 ) p 2 p 3 z > 0p0(0,0,0)p1(d0,1,0,0)p2p3z>0

Mặt khác, khi thiếu một số độ dài cạnh, có thể không thể phục hồi được việc nhúng. Ví dụ: nếu có một đỉnh ngắt kết nối đồ thị khi cắt, thì hai thành phần mà nó sẽ tách ra nếu bị loại bỏ có thể xoay quanh tương đối với nhau.

Điều này đặt ra câu hỏi:

  • Làm thế nào tốn kém để tìm một giải pháp?
  • Làm thế nào để bạn xác định nếu một giải pháp là duy nhất, lên đến dịch / xoay / phản chiếu? Là 3 kết nối đủ? Cần thiết?
  • Những loại điều kiện làm cho vấn đề tầm thường?
  • Nếu tôi không hứa các trọng số cạnh thực sự tương ứng với 3d sin khoảng cách, thì nó đắt đến mức nào để xác định xem có thể nhúng được không?

cảm thấy như một vấn đề máy học đối với tôi ...
vzn

Tôi không biết nên chọn câu trả lời nào. Tất cả đều tốt theo những cách không chồng chéo. Đó là bình chọn hàng đầu!
Craig Gidney

Câu trả lời:


5

Một cách tiếp cận thuật toán để giải quyết vấn đề này: coi đây là một tập hợp các nút, được kết nối bằng lò xo, sau đó để chúng ổn định / thư giãn thành hình.

Mỗi cạnh tương ứng với một lò xo; nếu khoảng cách giữa các điểm và được coi là , thì lò xo được chọn để lý tưởng muốn có độ dài (nó có thể dài hơn hoặc ngắn hơn, nhưng điều này tốn năng lượng ). Bây giờ chúng tôi muốn giải quyết một tập hợp các vị trí giảm thiểu tổng năng lượng. Giả sử mỗi đỉnh được đặt tại điểm . Sau đó, tổng năng lượng của sự sắp xếp này sẽ làv w d v , w d v , w v x vR 3(v,w)vwdv,wdv,wvxvR3

E(x)=(v,w)E(distance(xv,xw)dv,w)2.

Ở đây các được đưa ra (chúng là các trọng số trên các cạnh) và chúng tôi muốn giải quyết cho các (chúng là tọa độ của các điểm). x vdv,wxv

Chúng ta có thể giải quyết một sự sắp xếp giúp giảm thiểu tổng năng lượng này. Sự sắp xếp này sau đó cung cấp một ứng cử viên hợp lý cho các vị trí của các điểm. Đây là một vấn đề tối ưu hóa, và có các kỹ thuật tiêu chuẩn để giải quyết loại vấn đề tối ưu hóa này. Xem, ví dụ, bài viết Giải pháp mạng của Erica Klarreich.x

Tôi không nghĩ có bất kỳ đảm bảo nào sẽ cung cấp giải pháp mong muốn chính xác. Có thể vấn đề tối ưu hóa có thể giải quyết ở một mức tối ưu khác không phản ánh sự sắp xếp thực tế của các điểm bạn đang tìm kiếm. Tuy nhiên, nếu biểu đồ của bạn đủ dày đặc, tôi nghi ngờ nó có thể thường xuyên hoạt động và cung cấp cho bạn giải pháp mong muốn.


Lưu ý: Tất nhiên ngay cả trong trường hợp tốt nhất, chúng ta chỉ có thể giải quyết vấn đề này cho đến dịch thuật, xoay và phản xạ vì những biến đổi đó bảo toàn mọi khoảng cách. Do đó, bạn không thể mong đợi một giải pháp duy nhất - nhưng bạn có thể hy vọng rằng giải pháp đó là duy nhất tùy theo dịch thuật, xoay và phản chiếu.


Cuối cùng, có rất nhiều công việc về việc nhúng đồ thị vào không gian , trong khi giảm thiểu sự biến dạng của việc nhúng. Điều đó rất liên quan; về cơ bản, bạn đang yêu cầu nhúng biến dạng không vào . Do đó, các kỹ thuật được phát triển trong bối cảnh đó cũng có thể hữu ích cho vấn đề của bạn. Thông thường, công việc đó tập trung vào việc tìm kiếm sự nhúng biến dạng thấp, bởi vì công việc đó tập trung vào trường hợp không có sự nhúng hoàn hảo làm cho tất cả các khoảng cách khớp chính xác, vì vậy thay vào đó, nó tìm kiếm một giải pháp biến dạng thấp (một nơi có hầu hết các khoảng cách cạnh kết hợp khá tốt) - để công việc được tập trung vào một vấn đề hơi khác. Tuy nhiên, có thể các kỹ thuật của họ cũng có thể có hiệu quả trong tình huống của bạn. Rất đáng để thử.222


4

Vấn đề là NP-Complete . Vị trí của các điểm là một chứng chỉ tốt, vì vậy nó nằm trong NP và bạn có thể mã hóa các mạch thành "có tập hợp các điểm thỏa mãn không?" vấn đề.

Giảm từ đánh giá mạch xuống nhúng từ xa

Chúng tôi sẽ giảm việc đánh giá mạch thành vấn đề nhúng khoảng cách bằng cách tạo một hệ tọa độ, đặt các bit logic vào đó, các bit nối dây bằng nhau và tạo các widget cho cổng NOT và AND.

  1. Tọa độ . Chúng ta cần một số loại hệ tọa độ mà chúng ta có thể định vị điểm. Làm điều này bằng cách tạo một tứ diện "cơ sở" của các điểm. Thêm bốn điểm tất cả được tuyên bố là khoảng cách từ nhau. Điều này buộc hình dạng của bốn điểm đó thành một khối tứ diện. Chúng ta có thể định vị các điểm khác liên quan đến hệ tọa độ tứ diện bằng cách chỉ định khoảng cách của chúng với mỗi bốn góc của cơ sở. Tứ diện có thể được dịch và xoay và phản ánh, nhưng điều tương tự cũng sẽ xảy ra với tất cả các điểm khác.1

  2. Bit . Để tạo ra một chút, chúng ta định vị một tam giác các điểm so với tứ diện cơ sở. Bình thường của tam giác phải hướng lên trên dọc theo trục Z, sao cho tam giác song song với mặt phẳng XY (theo tọa độ tứ diện). Ngoài ra các cạnh của nó phải có chiều dài . Khi đã hoàn thành, chúng tôi thêm một điểm "giá trị" , được chỉ định là khoảng cách từ ba điểm còn lại. Chúng tôi không kết nối với hệ tọa độ cơ sở. Điều này mang lại cho nó hai vị trí có thể: căn giữa phía trên hoặc bên dưới hình tam giác, là góc cuối cùng của một khối tứ diện. Bit được BẬT nếu điểm nằm trên tam giác và TẮT nếu nó ở dưới.v 1 v 11v1v13

  3. Dây điện . Chúng ta có thể buộc hai bit bằng nhau bằng cách nói khoảng cách giữa các điểm giá trị của chúng bằng khoảng cách giữa tâm của các tam giác của chúng. Có một ngoại lệ: khi góc trên cùng hoặc dưới cùng của một trong các bit chính xác thẳng hàng với mặt phẳng trung tâm của mặt kia. Trong trường hợp đó, trước tiên chúng ta sử dụng một dây để di chuyển một trong các bit theo chiều dọc.

  4. KHÔNG . Chúng ta có thể nhận được sự phủ định của một bit bằng cách thêm một điểm giá trị thứ hai vào cùng một tam giác, nhưng yêu cầu phải là một khoảng cách từ . Đây lực lượng để có điều ngược lại vị trí của , đối với các tam giác với, đem lại cho chúng ta một chút với giá trị ngược lại.w 2ww vwv23vwv

  5. HÌNH ẢNH . Vấn đề tương đương chúng ta phải giải quyết với các dây thực sự khá hữu ích. Khi các bit xếp hàng theo cách đó, mà chúng ta có thể buộc bằng một dây thẳng đứng, thì dây cao hơn ngụ ý dây thấp hơn. Nếu cái cao hơn là đúng, chỉ có đỉnh của cái thấp hơn là khoảng cách phù hợp. Nếu cái cao hơn là sai, cả trên và dưới đều là khoảng cách phù hợp.

  6. . Để làm cho một bit bằng VÀ , chúng ta cần hai hàm ý và một vật dụng để buộc bình đẳng khi và đồng ý. Ứng dụng này chỉ và . Để tạo tiện ích, chúng ta di chuyển và theo chiều dọc để chúng ở cùng một cấp độ và khoảng cách , sau đó chúng ta di chuyển để tương đương giữa chúng. Sau đó, chúng tôi thêm một điểm và một khoảng cách từ vàA B A B CCABABCCAA B 2CBAB CSASB23CSASB MộtBSMộtSB2123ABĐiểm giá trị tương ứng và buộc khoảng cách giữa và là . Chúng tôi cũng thêm một điểm một khoảng cách từ cả và . Điều này tạo ra một chuỗi giữa các điểm giá trị của và , với ở trung tâm của chuỗi. Khi , chuỗi được kéo dài đến giới hạn và nằm ở trung tâm của tam giácKhi , các liên kết chuỗi buộc phải đi theo hướng ngược lại chính xác, đẩySASB SC2+13SC SASBABSCABSCCA=BSCCACSD12+123SASBABSCABSCCA=Bnó đến giới hạn và đặt trên điểm giá trị 's tương đương với . Để buộc điểm giá trị của , chúng tôi chèn một điểm một khoảng cách từ cả hai điểm giá trị của vàĐiều này không hạn chế điểm giá trị 's khi , nhưng lực lượng khi .SCCACSD SCCCABA=B=CA=B123SCCCABA=B=CA=B

Với các phần tử đó, bạn có thể mã hóa bất kỳ mạch nào vào khoảng cách nhúng. Các đầu vào trở thành các bit, các cổng được phân tách thành các NOT và AND giới thiệu các bit mới khi cần thiết, và đó là nó. Buộc vị trí của đầu ra là đúng và bạn sẽ có được vấn đề thỏa đáng.


3

Câu trả lời một phần về tính độc đáo : 3 kết nối là không đủ.

Ví dụ về bộ đếm tối thiểu: đồ thị khối ( của họ đồ thị Hypercube )Q3

nhập mô tả hình ảnh ở đây

Để xem cách sửa độ dài của tất cả các cạnh trong không cung cấp vị trí cho các đỉnh trong không gian 3 chiều duy nhất cho dịch / xoay / phản chiếu, hãy xem cách bạn có thể làm phẳng một hộp các tông (loại bỏ 2 mặt đối diện) .Q3

Lấy các góc của hộp các tông là các đỉnh quan tâm. Mỗi góc của một hộp các tông có khoảng cách cố định từ các góc khác mà nó chia sẻ với mặt của hộp.

Mặc dù đồ thị kết quả có nhiều cạnh hơn , nhưng nó vẫn cho phép hộp các tông được làm phẳng --- một phép biến đổi không thể được tạo ra bằng cách dịch / xoay / phản chiếu.Q3


Tôi không hoàn toàn làm theo. Tuy nhiên, tôi đã nhận ra rằng bạn có thể biến kết nối 3 thành kết nối 1 hiệu quả bằng cách đặt các điểm lên nhau. Vì vậy, kết nối 3 thô không thể đủ.
Craig Gidney

@DW Tôi mở rộng đối số theo đề xuất. Tôi không giữ bạn tranh luận vì four points laying above or below the other fourcó thể biến đổi lẫn nhau bằng cách phản chiếu.
Apiwat Chantawibul

Hoàn hảo! Điều đó giải quyết sự nhầm lẫn của tôi độc đáo. Cảm ơn bạn, Billiska. Cái nhìn sâu sắc đẹp. Một câu hỏi tiếp theo, chỉ trong trường hợp bạn có một cái nhìn sâu sắc bao quát cả câu hỏi này: Có một ví dụ cho thấy rằng "kết nối 3 cộng với sự tồn tại của ít nhất một nhóm 4 ( )" là không đủ ? K4
DW

@DW Cảm ơn bạn. Và liên quan đến , 4 góc của một mặt hộp có khoảng cách cố định với nhau, do đó đã hình thành một ràng buộc . K 4K4K4
Apiwat Chantawibul

3

đây được gọi là sự cố sau đây và xảy ra, ví dụ như với việc xây dựng lại tọa độ từ các mạng cảm biến có thể đo khoảng cách đến các nút lân cận, và bài báo này có thể đóng vai trò khảo sát nhỏ cùng với (các) thuật toán hàng đầu. một phương pháp hàng đầu được gọi là Phép chiếu giá trị đơn lẻ, một cách chia giá trị đơn lẻ khác. các thuật toán thường dựa trên đại số ma trận & giảm thứ hạng. bài báo thực hiện cả hai thuật toán và đưa ra một số phân tích thực nghiệm.

Tái tạo khoảng cách Euclide từ thông tin khoảng cách một phần Xu, Chen

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.