Convexity dan algoritma yang efisien.


8

[Sunting 21 Juli 2011: Saya mengedit pertanyaan untuk meminta lebih banyak contoh]

Pertanyaan ini meminta diskusi terdokumentasi atau lebih banyak contoh pengamatan heuristik.

Beberapa masalah matematika yang mengakui algoritma yang efisien tampaknya cembung di alam. Saya sedang memikirkan program linier dan semi-pasti dan berbagai masalah kombinatorial yang mengurangi ini.

Pertama, apakah ada keluarga masalah lain yang menerima algoritma yang efisien untuk kasus cembung / konjungtif? (Saya akan sangat berterima kasih atas contoh prosedur pengambilan keputusan untuk teori logis) Kedua, saya akan menghargai petunjuk untuk artikel atau bagian artikel yang membahas pendapat seperti "bersembunyi di bawah banyak algoritma yang efisien adalah struktur cembung."

[Sunting, 21 Juli 2011: Menambahkan yang berikut.]

Saya ingin menambahkan beberapa klarifikasi. Maaf saya tidak memasukkan mereka sebelumnya. Saya tertarik pada masalah keputusan logis. Tampak bagi saya bahwa prosedur pengambilan keputusan yang efisien ada untuk fragmen konjungtif dari beberapa masalah logis. Berikut ini dua contoh.

Solver yang efisien untuk teori orde pertama bebas-kuantifier (seperti solver SMT untuk persamaan, persamaan dengan fungsi yang tidak diinterpretasikan, aritmatika perbedaan, dll.) Biasanya memiliki solver yang efisien untuk fragmen konjungtif dan menggunakan berbagai teknik untuk mengatasi disjungsi dan negasi. Dalam analisis statis program, abstraksi yang umum digunakan (dan efisien) didasarkan pada interval integer, persamaan afin, oktagon atau polyhedra. Dalam abstraksi berbasis predikat dan verifikasi program, ada sesuatu yang disebut abstraksi Cartesian, yang secara intuitif memiliki konjungsi predikat daripada kombinasi Boolean yang sewenang-wenang. Semua kasus ini bagi saya adalah tentang mendapatkan efisiensi dengan mengeksploitasi fragmen konjungtif masalah.

Fragmen konjungtif dari teori orde pertama linear, aritmatika nyata dapat mengekspresikan polyhedra cembung. Inilah sebabnya saya awalnya bertanya tentang pemrograman cembung.

Saya tertarik untuk mengetahui masalah atau contoh lain di mana solusi yang efisien (dalam pengertian teoretis atau praktis) didasarkan pada sub-masalah cembung atau konjungtif. Jika ada kondisi umum lain (Suresh disebutkan sub-modularitas) tolong sebutkan dan masalah yang solusinya mengeksploitasi kondisi itu.


"undangan untuk berpikir keras" biasanya ditandai sebagai CW :). Ada pemikiran tentang ini?
Suresh Venkat

2
@ Suresh, "undangan untuk berpikir keras" terdengar seperti diskusi panjang, meminta pendapat, dll., Mungkin lebih cocok untuk chatting daripada QA, saya pikir bagian itu harus ditutup sebagai argumentatif / non-konstruktif. Di sisi lain, IMHO, bagian permintaan referensi tidak perlu CW. Saya sarankan menghapus bagian "berpikir keras".
Kaveh

2
Saya telah mengedit kalimat yang bermasalah.
Vijay D

3
satu komplikasi dalam pertanyaan Anda adalah bahwa karya terbaru menunjukkan bahwa submodularity juga sesuatu yang mengarah pada algoritma yang efisien. Submodularity tentu saja berbeda dengan kecemburuan
Suresh Venkat

2
f:{0,1}nRf^:[0,1]nR

Jawaban:


10

Mengenai Pertanyaan 1.

Contoh yang Anda berikan, program linier dan SDP (keduanya merupakan program linear di atas kerucut cembung), dapat digeneralisasi ke program cembung: minimalisasi fungsi cembung pada set yang layak dan cembung. Karena Anda mencari 'keluarga masalah lain' yang efisien berkat keberadaan cembung, hal yang wajar untuk dijatuhkan adalah bagian fungsi cembung, dan lihat saja set cembung. Ini adalah bidang geometri cembung, dan di sini ada banyak algoritma.

Salah satu favorit standar adalah:

Martin Dyer, Alan Frieze, Ravi Kannan. Algoritma Waktu Polinomial Acak Untuk Mendekati Volume Benda Cembung .

Kesulitannya di sini adalah bahwa dimensinya adalah (seharusnya) bagian dari input; di sisi lain, suatu contoh algoritma naif menunjuk pada grid, yang menempelkan dimensi dalam eksponen dari waktu yang berjalan. Alasan mengapa cembung membantu adalah intuitif: cembung memberikan hasil pemisahan, hal-hal seperti lemma Farkas yang mengatakan bahwa suatu titik berada dalam kerucut cembung tertutup, atau Anda dapat memisahkannya dengan hyperplane. Relevansi di sini adalah mengatakan bahwa Anda tahu suatu titik ada di badan cembung, sedangkan beberapa rasi titik di sekitarnya tidak ada di badan: dari sini Anda dapat memotong sebagian besar input dan tidak pernah repot mengambil sampel darinya. Mungkin saya harus mengklarifikasi bahwa makalah di atas melakukan estimasi dengan menghasilkan algoritma sampling yang bagus di dalam tubuh (keduanya berguna). Terakhir saya periksa, masih belum ada analog deterministik dengan ini; Saya baru saja mencari di Google untuk melihat apakah statusnya telah berubah (tampaknya tidak), dan diberi makan catatan ini yang memiliki beberapa referensi yang mungkin menarik bagi Anda:http://www.cs.berkeley.edu/~sinclair/cs294/n16.pdf . Saya tidak pernah mengikuti kelas ini dan hanya melihat sebentar, jadi saya minta maaf jika ada beberapa masalah, tetapi referensi di sana tampaknya memiliki nilai untuk Anda.

Untuk lebih banyak contoh algoritma yang mengeksploitasi geometri cembung, satu tempat untuk melihat adalah subbab 'Bibliografi dan Keterangan' menyimpulkan setiap bagian (dari setiap bab!) Dari buku Jiri Matousek "Lectures on Discrete Geometry".

Hal lain yang banyak dikutip, dan yang tampaknya memiliki topik untuk Anda (tapi saya sendiri belum pernah melihat di luar daftar isi; Matousek di sisi lain adalah .. di sisi lain), adalah "Algoritma geometris dan kombinatorial optimasi "oleh Grotschel, Lovasz, dan Schrijver. (Ya, itu Lovasz.)

Saya pikir referensi ini punya banyak untuk Anda jadi saya akan pindah ke pertanyaan berikutnya.

Mengenai Pertanyaan 2.

Meskipun memang benar bahwa kecemburuan itu kuat, saya belum melihat komentar seperti yang Anda cari, dan saya pikir orang sangat berhati-hati untuk mengomunikasikan sentimen semacam itu.

Saya punya anekdot tentang ini. Salah satu cara orang 'menyuntikkan' cembung ke dalam masalah adalah dengan hanya .. memperkirakan / memodelkan mereka dengan sesuatu yang cembung. (Misalnya: mengganti batasan peringkat dengan norma-norma pada matriks, mengganti bilangan bulat (nonconvex dan bahkan tidak terhubung) dengan set real cembung.) Teks masuk untuk hal ini adalah Boyd & Vandenberghe's "Convex Optimization". Tapi begitu saya menonton video Boyd, dan seseorang memberinya pertanyaan "is convex = efisien", dan dia langsung mengatakan SVD. Perhatikan bahwa SVD dapat ditulis sebagai masalah minimalisasi peringkat yang dibatasi. Pokoknya, maksud saya adalah bahwa bahkan Boyd sangat cepat untuk memperbaiki komentar seperti ini.

Yang mengatakan, saya memiliki keinginan untuk berbagi dua tempat di mana saya secara pribadi terkejut oleh struktur cembung (para ahli dapat memutar mata dan tertidur di sini). Yang pertama disebut masalah 'jumlah kuadrat', yang merupakan masalah minimisasi atas polinomial bukan- konveks . Berkat properti interpolasi polinomial, Anda dapat menulis ulang ini sebagai SDP. Ada beberapa catatan kursus yang indah tentang topik ini oleh Pablo Parrilo; Anda dapat menemukan itu dan lebih banyak info di halaman web-nya dan beberapa info lain dalam posting MO ini oleh Noah Stein: /mathpro/32533/is-all-non-convex-optimization-heuristic/32634#32634 .

Tempat lain yang indah adalah di keluarga eksponensial. Sekarang, ini semua "jelas" setelah Anda menyadari ini adalah solusi untuk max entropy (masalah optimisasi cembung), tetapi sungguh menakjubkan betapa banyak struktur cembung yang menginformasikan perilaku keluarga eksponensial (referensi yang saya suka di sini adalah buku Wainwright dan Jordan tentang grafis model). Ini pada gilirannya memberikan satu pembenaran untuk beberapa hal yang dilakukan orang dengan pemodelan semacam ini.


Matus yang terhormat, Terima kasih atas contoh dan jawaban bijaksana Anda. Saya bertanya-tanya tentang masalah yang benar-benar berbeda dari pemrograman cembung, yang lebih disukai diskrit, di mana beberapa analog dari kecembungan muncul.
Vijay D

(mengikuti suntingan Anda) Oh tidak! Sepertinya saya benar-benar merindukan apa yang sebenarnya Anda inginkan !! Sayangnya saya tidak memiliki sesuatu yang spesifik untuk pertanyaan Anda, tetapi Anda mungkin tertarik pada pertanyaan MO berikut: mathoverflow.net/questions/45558/the-logic-of-convex-sets .
matus
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.