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?
la source
Réponses:
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
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.
la source
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:
la source
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).
la source