Pertimbangkan polytope rasional yang didefinisikan dengan cara oracle pemisahan. Yaitu, dapat digambarkan secara implisit sebagai , tetapi karena adalah sangat besar, kami menggunakan oracle, yang diberi titik , baik kata atau kembali setengah-ruang sehingga .P P = { x ∈ R k : A x ≤ b , A ∈ Z m × k , b ∈ Z m } m x ∈ R k x ∈ P x ∉ S
Tujuan saya adalah menemukan titik di atau menentukan bahwa kosong. Aku bertujuan untuk waktu yang berjalan polinomial dalam ukuran representasi dari dan , di mana adalah nilai absolut terbesar di . Artinya, algoritma harus membuat hanya banyak panggilan polinomial ke oracle pemisahan.P U k U A
Secara umum, mungkin terkandung dalam bidang hyper-dimensi yang lebih rendah dan dengan demikian itu bermasalah untuk menggunakan metode ellipsoid. Jadi, seperti dalam trik Khachiyan, saya alter (dan oracle pemisahan) untuk menggunakan , di mana adalah sesuatu seperti . Secara intuitif, setengah spasi yang mendefinisikan adalah sama dengan yang mendefinisikan hanya bahwa mereka diterjemahkan oleh . Polytope memiliki sifat berikut: kosong jika kosong, dan jika tidak kosong,P P ϵ ϵ 1 / U P ϵ P ϵ P ϵ P ϵ P P P ϵ adalah dimensi penuh.
Pertanyaan saya adalah sebagai berikut: Asumsikan algoritma menemukan titik . Apakah mungkin untuk menghasilkan titik dalam menggunakan ? P p
Jika tujuan Anda adalah menemukan titik di atau menentukan bahwa P kosong, mengapa Anda tidak melakukan yang berikut.P P
Biarkan menjadi seperangkat ruang setengah, awalnya kosong.H
Biarkan menjadi titik, awalnya sama dengan 0 k .x 0k
Berikan pada oracle.x
Jika oracle berkata , Anda sudah selesai.x∈P
Kalau tidak, biarkan menjadi ruang setengah yang dilanggar yang dikembalikan oleh oracle. Biarkan y menjadi proyeksi ortogonal x di S .S y x S
Kembali ke 1.
sumber