Bir çokyüzlüyü eşit şekilde parçalayan bir kesme düzlemi bulma


10

Standart formda bir polihedronumuz olduğunu varsayalım:

Ax=bx0

Çokyüzlüyü, hiper düzlemin her iki tarafındaki köşe sayısı yaklaşık olarak aynı olacak şekilde bölen bir hiperdüzlem bulmak için bilinen herhangi bir yöntem var mı? (yani bölünmenin iki tarafındaki köşe kardinalitelerinin mutlak farkını en aza indiren bir algoritma).dx+d0=0

Ayrıca, bu sorunun karmaşıklığına ilişkin bilinen herhangi bir sonuç var mı?

Zeyilname: Kesim türlerinin sınırlandırılması:

İşte orijinal sorunun çözülmesinin orijinal olandan daha kolay olduğu umuduyla bir varyasyonu:

D i x i + d 0 = 0 formunun bir hiper düzlemini hangi koordinat bölünmenin her iki tarafındaki köşe kardinalitelerinin en düşük mutlak farkını vereceğini etkili bir şekilde hesaplamanın veya tahmin etmenin bir yolu var mı ? Verimli olarak, tüm olası bölünmeler için köşe kardinalitelerinin kapsamlı numaralandırılmasından daha verimli bir şey kastediyorum.idixi+d0=0

Not: Birkaç gün az ilerledikten sonra bu soruyu MathOverflow'a da gönderdim .


Bunun NP zor bir problem olduğunu kanıtlayabilmeli mi?
Peter Shor

Teşekkürler @Peter. Bir kanıt harika olurdu. Bununla birlikte, sorunun zor olduğunu düşünüyorum ve sezgisel tarama veya yaklaşım algoritmalarıyla daha fazla ilgilendiğimi düşünüyorum. Kesim türlerini kısıtlama fikrinin ardındaki motivasyon, kısmen bir çözüm veya bir yaklaşım algoritması bildiğimiz genel sorunun daha kolay varyasyonları olup olmadığını görmekti.
Amelio Vazquez-Reina

Bu çizgilerdeki bir şeye ne dersiniz (işe yarayıp yaramadığından emin değilim) - Maksimum iki taraflı eşleşme sayısını saymanın # P-hard olduğunu biliyoruz. Maksimum bipartit eşleşmesini bulmak için doğrusal bir programın tamamen unimodüler olduğunu ve böylece herhangi bir köşe noktası / temel uygulanabilir çözümün ayrılmaz olduğunu biliyoruz. Maksimum iki taraflı eşleme sorunu için, eşleşmenin değerini bulun. Herhangi bir çözümün en uygun değere sahip olması gerektiği kısıtlamasıyla doğrusal bir program oluşturun. Sonra her köşe noktası eşleşir. Eşit aralıklarla eşit olarak bölmek, eşleşme sayısını sayabileceğiniz anlamına gelir.
Opt

Boşver. Ayrıca, kesme düzlemi tarafından eklenen köşelerin sayısını da hesaplamak gerekir.
Opt

Yanıtlar:


-2

Bunu yapmanın analitik yolunu hatırlayamıyorum!

Ama bu Genetik Programlama için klasik bir problem! Buna aşina iseniz, kesme düzlemini tanımlayan çokyüzlünün merkezinde normalleştirilmiş vektörler kullanabilirsiniz.

Yani popülasyonunuz bir dizi [x, y, z, ...] normalize edilmiş vektördür ve montaj fonksiyonu olarak 2 bölünmüş hacim arasındaki farkı kullanırsınız!

Yani, eğer fark sıfıra meyillerse, daha fazla "fit" vektör / düzlemdir!


Maalesef, bunu genetik programlama dili kullanmadan tekrar söyleyebilir misiniz? "Nüfus" nedir? "Montaj fonksiyonu" nedir?
Jeffε
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.