Куда мне обратиться за помощью в исследовании / публикации?

11

Некоторое время я разрабатывал алгоритм SAT и дошел до того, что хотел бы им поделиться. Я не знаю многих людей в области компьютерных наук, и я не уверен, куда именно обратиться.

Мне интересно, какие ресурсы доступны для человека с алгоритмом, который рассматривает возможность публикации. Мне также нужна помощь в анализе времени выполнения и правильности моего алгоритма.

Моя главная проблема заключается в анализе времени выполнения. Мне нужна помощь с подробным анализом этого. Я вполне уверен, что алгоритм верен, но было бы полезно, если бы кто-то также проверил это.

Так есть ли кто-нибудь, кто захочет проанализировать мой алгоритм? Кроме того, какие ресурсы доступны для такой задачи?

Мэтт Грофф
источник
Вы говорите о публикации или проверке вашей идеи? Что вы подразумеваете под "ресурсами"; журналы или средства проверки?
Рафаэль
12
Мне кажется, что если целью публикации является публикация, то вам необходимо провести хотя бы анализ времени выполнения и понять, насколько корректен ваш алгоритм, предполагая, что он эвристический. Вы также должны сравнить, что ваш алгоритм делает с предыдущей работой - без этого, публикация - нет-нет. На самом деле, я бы рекомендовал сделать это в первую очередь.
Суреш Венкат
Я думаю о публикации, но сейчас я действительно ищу помощь в анализе. Я понимаю, что этот сайт может помочь с конкретными вопросами, но я надеюсь найти места, где я могу встретить людей, которые захотят помочь с анализом. Кроме того, я не очень разбираюсь в других алгоритмах, но мне интересно, может ли мой подход быть несколько уникальным.
Мэтт Грофф
См. Также связанный вопрос cstheory.stackexchange.com/questions/7600/…
Андраш Саламон

Ответы:

32

Если ваш алгоритм SAT должен быть практичным, то вы должны запустить на нем тесты соревнований SAT . Сообщество решения SAT будет относиться к вашей работе гораздо серьезнее, если вы сможете доказать, что ваш подход конкурентоспособен с существующими решателями. Ваш решатель не должен быть быстрее любого решателя или решать больше задач, но он должен быть серьезным конкурентом. Вам не нужна очень быстрая или мощная машина для запуска тестов; Вы можете просто сравнить время выполнения с одним из бесплатных решателей SAT, таких как MiniSAT или PicoSAT . Эти решатели также позволят вам увидеть, как должны выглядеть ответы.

Если вы работаете над практическим решателем, который использует новые методы, а ваш подход еще не конкурентоспособен, я бы все же предложил попробовать эти тесты. Они помогут вам понять, к каким задачам вы должны стремиться, а также к производительности, к которой вы должны стремиться. Возможно, вы также захотите прочитать некоторые из ключевых глав « Руководства по удовлетворенности» или недавнего опроса.

  • Knot Pipatsrisawat и Adnan Darwiche, « О современных решениях по удовлетворению условий обучения , журнал автоматизированных рассуждений» 44 277–301, 2010. ( PDF )

чтобы увидеть виды аргументов, которые поддерживают основные решатели. Если у вас есть новые идеи, которые еще не оптимизированы для выполнения, а также лучшие решатели, вам нужно будет объяснить потенциальные преимущества вашего подхода кому-то, кто знает длинную последовательность теоретических рассуждений, которая привела к текущему набору «лучших» практиковать "дизайнерские решения"

Если ваш вклад носит чисто теоретический характер, вам нужно знать о многих статьях в этой области и объяснить в своей статье, почему ваш подход лучше хотя бы в некотором смысле. Взгляните на недавнюю работу, например, Амина Кожа-Оглан или Алан Фриз, чтобы получить представление о состоянии дел и полезные ссылки на важные документы.

Андраш Саламон
источник
См. Также обсуждение по адресу cstheory.stackexchange.com/questions/1719/…
Саламон,
См. Также обсуждение по адресу cstheory.stackexchange.com/questions/7600/…
Саламон,
2

Поскольку теперь вы хотите поделиться своим алгоритмом, я предлагаю следующее: создайте очень простой веб-сайт. Сайт должен сделать доступными эти 2 вещи:

  1. Исходный код алгоритма.
  2. Документ, кратко описывающий ваш подход. Где ваш подход отличается? Какая новая идея стоит за этим? Этот документ не должен быть идеально написанным техническим документом и не должен содержать каких-либо формальных доказательств: презентации в формате Power Point будет достаточно, чтобы «передать» суть вашей идеи. Просто объясните нам, почему вы думаете, что ваш алгоритм отличается. Может быть, это уникально, кто знает.

Джорджио Камерани
источник
Я не думаю, что создание сайта - это очень хорошая идея. Потому что многие люди создают сайт, когда «думают», что решили большие проблемы или нашли ОО. например, dharwadker.org/tevet/isomorphism matpitka.blogspot.com Теорема: «Для каждой нерешенной проблемы есть по крайней мере один парень, который утверждает, что решил ее и создает веб-сайт». Плохая идея -1 :(
Pratik Deoghare
@TheMachineCharmer: я не имел в виду что-то подобное. Сайт был просто способом, позволяющим людям загрузить код и прочитать документ с описанием алгоритма. Я не имел в виду "празднование" веб-сайта. Вместо этого я имел в виду веб-сайт, на котором просто делятся материалами, без каких-либо «триумфальных» утверждений (что-то похожее на то, что вы сказали в своем ответе, хотя у вашего несколько более «официальный» вид).
Джорджио Камерани
1
  1. Вы можете записать свои идеи в стандартном бумажном формате.
  2. Опубликуйте его на ArXiv .
  3. Поделитесь исходным кодом на github .
  4. Потратьте некоторое время на изучение анализа времени выполнения и обновите свой документ, когда вы закончите.

Например, вы можете написать обзорный документ и в конце предложить свое решение в качестве нового многообещающего подхода. Но без доказательства правильности и анализа времени выполнения не многие люди воспримут это всерьез (но некоторые будут).

Пратик Деогхаре
источник