Où puis-je me tourner pour obtenir de l'aide en matière de recherche / publication?

11

Je développe un algorithme SAT depuis un certain temps et j'ai atteint un point où j'aimerais le partager. Je ne connais pas beaucoup de gens en informatique et je ne sais pas exactement vers qui me tourner.

Je me demande quelles ressources sont disponibles pour quelqu'un avec un algorithme qui envisage de publier. J'ai également besoin d'aide pour analyser le temps d'exécution et l'exactitude de mon algorithme.

Mon problème majeur réside dans l'analyse du runtime. J'ai besoin d'aide pour une analyse détaillée de cela. Je suis assez certain que l'algorithme est correct, mais il serait utile que quelqu'un vérifie cela également.

Y a-t-il quelqu'un qui serait disposé à analyser mon algorithme? De plus, quelles ressources sont disponibles pour une tâche comme celle-ci?

Matt Groff
la source
Parlez-vous de publier ou de vérifier votre idée? Qu'entendez-vous par «ressources»; revues ou moyens de vérification?
Raphael
12
Il me semble que si la publication est le but, alors vous devez avoir au moins une analyse d'exécution, et une idée de la «correction» de votre algorithme, en supposant que c'est une heuristique. Vous devriez également comparer ce que fait votre algorithme à un travail antérieur - sans cela, la publication est un non-non. En fait, je recommanderais de faire cela en premier.
Suresh Venkat
J'envisage de publier, mais pour l'instant je cherche vraiment de l'aide pour l'analyse. Je me rends compte que ce site peut aider avec des questions spécifiques, mais j'espère trouver des endroits où je peux rencontrer des gens qui seraient prêts à aider avec l'analyse. De plus, je n'ai pas beaucoup d'expérience sur les autres algorithmes, mais je me demande si mon approche peut être quelque peu unique.
Matt Groff
Voir aussi la question connexe cstheory.stackexchange.com/questions/7600/…
András Salamon

Réponses:

32

Si votre algorithme SAT est censé être pratique, vous devez exécuter les tests de performance SAT sur celui-ci. La communauté de résolution SAT va prendre votre travail beaucoup plus au sérieux si vous pouvez montrer que votre approche est compétitive avec les solveurs existants. Votre solveur ne doit pas être plus rapide que tous les solveurs, ni résoudre plus d'instances, mais il devrait être un concurrent sérieux. Vous n'avez pas besoin d'une machine très rapide ou puissante pour exécuter les tests de performances; vous pouvez simplement comparer le temps d'exécution à l'un des solveurs SAT gratuits comme MiniSAT ou PicoSAT . Ces solveurs vous permettront également de voir à quoi devraient ressembler les réponses.

Si vous travaillez sur un solveur pratique qui utilise de nouvelles techniques et que votre approche n'est pas encore compétitive, je vous suggère quand même d'essayer ces références. Ils vous aideraient à comprendre les types de problèmes que vous devriez viser à résoudre et le type de performance que vous devriez viser. Vous voudrez peut-être également lire certains des chapitres clés du Manuel de satisfaction , ou le récent sondage

  • Knot Pipatsrisawat et Adnan Darwiche, On Modern Clause-Learning Satisfiability Solvers , Journal of Automated Reasoning 44 277-301, 2010. ( PDF )

pour voir les types d'arguments qui soutiennent les principaux solveurs. Si vous avez de nouvelles idées qui ne sont pas encore optimisées pour fonctionner aussi bien que les meilleurs solveurs, vous devrez expliquer les avantages potentiels de votre approche à quelqu'un qui connaît la longue séquence de raisonnement théorique qui a conduit à l'ensemble actuel des "meilleurs". pratiquer "les décisions de conception.

Si votre contribution est purement théorique, vous devez être conscient des nombreux articles dans ce domaine et expliquer dans votre article pourquoi votre approche est meilleure au moins d'une certaine manière. Jetez un coup d'œil aux travaux récents, par exemple, d'Amin Coja-Oghlan ou d'Alan Frieze pour avoir une idée de l'état de l'art et des conseils utiles sur des articles importants.

András Salamon
la source
Voir aussi la discussion sur cstheory.stackexchange.com/questions/1719/…
András Salamon
Voir également la discussion sur cstheory.stackexchange.com/questions/7600/…
András Salamon
2

Puisque vous voulez maintenant partager votre algorithme, ma suggestion personnelle est la suivante: créer un site Web très simple. Le site devrait mettre à disposition ces 2 choses:

  1. Le code source de l'algorithme.
  2. Un document décrivant brièvement votre approche. Où votre approche est-elle différente? Quelle est la nouvelle idée derrière tout ça? Ce document n'a pas besoin d'être un document technique parfaitement écrit, ni de contenir de preuve formelle: une présentation PowerPoint suffirait à «transmettre» le cœur de votre idée. Expliquez-nous simplement pourquoi vous pensez que votre algorithme est différent. C'est peut-être unique, qui sait.

Giorgio Camerani
la source
Je ne pense pas que la création d'un site Web soit une très bonne idée. Parce que beaucoup de gens créent un site Web lorsqu'ils «pensent» avoir résolu de gros problèmes ou trouvé la TOE. Par exemple, dharwadker.org/tevet/isomorphism matpitka.blogspot.com Théorème: "Pour chaque problème non résolu, il y a au moins un gars qui prétend l'avoir résolu et construit un site Web." Mauvaise idée -1 :(
Pratik Deoghare
@TheMachineCharmer: Je ne voulais pas dire quelque chose comme ça. Le site Web n'était qu'un moyen de permettre aux gens de télécharger le code et de lire le document décrivant l'algorithme. Je ne parlais pas d'un site Web "célébrant". Au lieu de cela, je voulais dire un site Web pour simplement partager du matériel, sans aucune revendication "triomphante" (quelque chose de similaire à ce que vous avez dit dans votre réponse, bien que le vôtre ait une saveur un peu plus "officielle").
Giorgio Camerani
1
  1. Vous pouvez écrire vos idées dans un format papier standard.
  2. Publiez-le sur ArXiv .
  3. Partagez le code source sur github .
  4. Consacrez du temps à l'analyse de l'exécution et mettez à jour votre document lorsque vous avez terminé.

Par exemple, vous pouvez rédiger un document d'enquête et à la fin suggérer votre solution comme nouvelle approche prometteuse. Mais sans preuve d'exactitude et d'analyse du temps d'exécution, peu de gens le prendront au sérieux (mais certains le feront).

Pratik Deoghare
la source