Di mana saya meminta bantuan untuk riset / penerbitan?

11

Saya telah mengembangkan algoritma SAT untuk sementara waktu, dan telah mencapai titik di mana saya ingin membagikannya. Saya tidak tahu banyak orang di bidang ilmu komputer, dan saya tidak yakin persis ke mana harus berpaling.

Saya bertanya-tanya sumber daya apa yang tersedia untuk seseorang dengan algoritma yang sedang mempertimbangkan untuk menerbitkan. Saya juga perlu bantuan menganalisis runtime dan kebenaran algoritma saya.

Masalah utama saya adalah dalam menganalisis runtime. Saya perlu bantuan dengan analisis terperinci tentang ini. Saya cukup yakin bahwa algoritme itu benar, tetapi akan sangat membantu jika seseorang memverifikasi ini juga.

Jadi, adakah orang yang mau menganalisis algoritma saya? Selain itu, sumber daya apa yang tersedia untuk tugas seperti ini?

Matt Groff
sumber
Apakah Anda berbicara tentang menerbitkan atau memeriksa ide Anda? Apa yang Anda maksud dengan "sumber daya"; jurnal atau sarana memeriksa?
Raphael
12
Tampaknya bagi saya bahwa jika penerbitan adalah tujuannya, maka Anda harus memiliki setidaknya analisis runtime, dan rasa "bagaimana" memperbaiki algoritma Anda, dengan asumsi itu adalah heuristik. Anda juga harus membandingkan apa yang dilakukan algoritma Anda dengan pekerjaan sebelumnya - tanpa itu, publikasi tidak boleh. Bahkan, saya sarankan melakukan itu dulu.
Suresh Venkat
Saya sedang mempertimbangkan untuk menerbitkan, tetapi untuk sekarang saya benar-benar mencari bantuan dengan analisis. Saya menyadari bahwa situs ini dapat membantu dengan pertanyaan spesifik, tetapi saya berharap menemukan tempat di mana saya dapat bertemu orang-orang yang bersedia membantu dengan analisis. Juga, saya tidak memiliki banyak latar belakang mengenai algoritma lain, tapi saya ingin tahu apakah pendekatan saya mungkin agak unik.
Matt Groff
Lihat juga pertanyaan terkait cstheory.stackexchange.com/questions/7600/…
András Salamon

Jawaban:

32

Jika algoritma SAT Anda dimaksudkan untuk menjadi praktis, maka Anda harus menjalankan tolok ukur kompetisi SAT di atasnya. Komunitas pemecahan SAT akan mengambil pekerjaan Anda jauh lebih serius jika Anda dapat menunjukkan bahwa pendekatan Anda kompetitif dengan pemecah yang ada. Solver Anda tidak harus lebih cepat dari setiap solver, atau menyelesaikan lebih banyak contoh, tetapi haruslah pesaing yang serius. Anda tidak perlu mesin yang sangat cepat atau kuat untuk menjalankan benchmark; Anda cukup membandingkan runtime dengan salah satu pemecah SAT gratis seperti MiniSAT atau PicoSAT . Pemecah ini juga akan memungkinkan Anda untuk melihat seperti apa jawabannya.

Jika Anda bekerja pada pemecah praktis yang menggunakan teknik baru, dan pendekatan Anda belum kompetitif, saya masih menyarankan mencoba tolok ukur ini. Mereka akan membantu Anda memahami jenis masalah yang harus Anda selesaikan, dan jenis kinerja yang harus Anda tuju. Anda mungkin juga ingin membaca beberapa bab kunci dari Buku Pegangan Kepuasan , atau survei terbaru

  • Knot Pipatsrisawat dan Adnan Darwiche, Pemecah Kepuasan Pembelajaran Klausa Modern , Journal of Automated Reasoning 44 277-301, 2010. ( PDF )

untuk melihat jenis argumen yang mendukung pemecah utama. Jika Anda memiliki ide-ide baru yang belum dioptimalkan untuk berkinerja sebaik solver top, Anda perlu menjelaskan potensi keuntungan dari pendekatan Anda kepada seseorang yang tahu urutan panjang penalaran teoretis yang telah mengarah pada rangkaian "terbaik" saat ini. praktekkan "keputusan desain.

Jika kontribusi Anda murni teoretis, maka Anda perlu mengetahui banyak makalah di bidang ini, dan menjelaskan dalam makalah Anda mengapa pendekatan Anda lebih baik setidaknya dalam beberapa cara. Lihatlah karya-karya terbaru misalnya misalnya Amin Coja-Oghlan atau Alan Frieze untuk merasakan keadaan seni dan untuk petunjuk-petunjuk penting untuk makalah-makalah penting.

András Salamon
sumber
Lihat juga diskusi di cstheory.stackexchange.com/questions/1719/…
András Salamon
Lihat juga diskusi di cstheory.stackexchange.com/questions/7600/…
András Salamon
2

Karena sekarang Anda ingin membagikan algoritme Anda, saran pribadi saya adalah sebagai berikut: buat situs web yang sangat sederhana. Situs harus menyediakan 2 hal ini:

  1. Kode sumber algoritma.
  2. Sebuah dokumen yang menjelaskan secara singkat pendekatan Anda. Di mana pendekatan Anda berbeda? Apa ide baru di baliknya? Dokumen ini tidak perlu menjadi makalah teknis yang ditulis dengan sempurna, juga tidak perlu mengandung bukti formal: presentasi power point akan cukup untuk "mengirimkan" inti dari ide Anda. Cukup jelaskan kepada kami mengapa menurut Anda algoritme Anda berbeda. Mungkin unik, siapa tahu.

Giorgio Camerani
sumber
Saya tidak berpikir membuat situs web adalah ide yang sangat bagus. Karena banyak orang membangun situs web ketika mereka 'berpikir' mereka telah memecahkan masalah besar atau telah menemukan TOE. misalnya dharwadker.org/tevet/isomorphism matpitka.blogspot.com Teorema: "Untuk setiap masalah yang belum terpecahkan, setidaknya ada satu orang yang mengaku telah menyelesaikannya dan membangun sebuah situs web." Ide buruk -1 :(
Pratik Deoghare
@TheMachineCharmer: Saya tidak bermaksud seperti itu. Situs web itu hanya cara agar orang mengunduh kode dan membaca dokumen yang menjelaskan algoritme. Maksud saya bukan situs web "merayakan". Sebaliknya, yang saya maksud adalah situs web untuk sekadar berbagi materi, tanpa klaim "kemenangan" (sesuatu yang mirip dengan apa yang Anda katakan dalam jawaban Anda, meskipun Anda memiliki rasa yang agak lebih "resmi").
Giorgio Camerani
1
  1. Anda dapat menuliskan ide-ide Anda dalam format kertas standar.
  2. Publikasikan di ArXiv .
  3. Bagikan kode sumber di github .
  4. Luangkan waktu untuk mempelajari analisis waktu berjalan dan perbarui makalah Anda setelah selesai.

mis. Anda dapat menulis makalah survei dan pada akhirnya menyarankan solusi Anda sebagai pendekatan baru yang menjanjikan. Tetapi tanpa bukti kebenaran dan menjalankan analisis waktu, tidak banyak orang akan menganggapnya serius (tetapi beberapa akan).

Pratik Deoghare
sumber