Powiedzmy, że mamy wielościan w standardowej formie:
Czy są znane metody znalezienia hiperpłaszczyzny która dzieli wielościan w taki sposób, że liczba wierzchołków po każdej stronie hiperpłaszczyzny jest w przybliżeniu taka sama? (tj. algorytm minimalizujący absolutną różnicę liczności wierzchołków po obu stronach podziału).
Czy są też jakieś znane wyniki dotyczące złożoności tego problemu?
Dodatek: Ograniczanie rodzajów cięć:
Oto wariant pierwotnego problemu z nadzieją, że łatwiej go rozwiązać niż oryginalny:
Czy istnieje sposób na wydajne obliczenie lub oszacowanie, dla której współrzędnej hiperpłaszczyzna w postaci dałaby najniższą bezwzględną różnicę liczności wierzchołków po obu stronach podziału? Przez „efektywny” rozumiem coś bardziej wydajnego niż wyczerpujące wyliczenie liczności wierzchołków dla wszystkich możliwych takich podziałów.d i x i + d 0 = 0
Uwaga: po kilku dniach niewielkich postępów opublikowałem to pytanie również w MathOverflow .
źródło
Odpowiedzi:
Nie pamiętam analitycznego sposobu, aby to zrobić!
Ale to klasyczny problem dla programowania genetycznego! Jeśli go znasz, możesz użyć znormalizowanych wektorów w środku wielościanu, które opisują płaszczyznę cięcia.
Zatem twoja populacja jest zbiorem znormalizowanych wektorów [x, y, z, ...] i jako funkcję dopasowania używasz różnicy między 2 podzielonymi objętościami!
Tak więc, jeśli różnica zmierza do zera, więcej „dopasowania” oznacza wektor / płaszczyznę!
źródło