Expliquer le SAT aux professeurs de sciences du secondaire

9

Je suis un étudiant en deuxième année du secondaire qui s'intéresse à l'informatique. J'ai développé un algorithme sympa pour #SAT, et j'implémente et fais un projet d'expo-science sur celui-ci. Ma conseillère, qui est la meilleure enseignante en sciences de mon école et également enseignante AP Comp Sci, m'a dit qu'elle n'avait absolument aucune idée de l'objet de mon projet et que je devais être en mesure de lui expliquer brièvement pourquoi #SAT est important en moins de 5 minutes. Je lui ai dit que SAT se réduisait à #SAT et j'ai essayé d'expliquer pourquoi SAT est important: je lui ai donné quelques exemples de problèmes NP, lui ai expliqué comment les problèmes de NP se réduisaient à SAT et lui expliquais comment avec la recherche binaire vous pouvez réduire certains problèmes d'optimisation à SAT , qui vous permet de replier des protéines et de créer de puissants modèles d'IA. Malheureusement, elle ne m'a pas du tout compris. Pourriez-vous me donner quelques conseils?

PS Mon conseiller m'a demandé quels problèmes utiles réduisent à #SAT et non à SAT (en supposant que certains problèmes dans #P sont plus difficiles que leurs versions NP correspondantes). Tout ce que j'ai pu trouver, c'est de trouver combien de modèles pour un ensemble de données donné sont meilleurs qu'un modèle donné (en supposant que chaque paramètre du modèle est plus petit qu'un nombre donné de bits). J'en ai cherché d'autres sur le web mais je n'ai rien trouvé que je puisse comprendre. Y a-t-il d'autres bonnes applications?

Elliot Gorokhovsky
la source
2
Le permanent (même pour les matrices dont les entrées sont contraintes d'être 0 ou 1) est # P-complet, donc toutes les applications du permanent sont également des applications de votre algorithme, tant que ces applications nécessitent que vous calculiez (ou approximiez) le permanent d'une matrice "en pratique" (plutôt que sur papier).
Yuval Filmus
vous avez choisi un excellent projet théorique mais peu avancé / abstrait pour le lycée. une question évidente, comment avez-vous appris l'importance de #SAT vous-même? il peut y avoir des liens avec, par exemple, le programme AP CS via l'exhaustivité NP, etc., avez-vous déjà suivi ce cours? quel manuel utilise-t-il? s'il est bon, il y aura des liens avec le mien là-bas. suggérer de passer par Computer Science Chat pour plus de conseils, plusieurs étudiants diplômés / doctorants traînent là-bas. & vous invite également au salon cstheory pour en discuter davantage.
vzn
Si je devais l'expliquer à un public non CS / non mathématique, je: (1) expliquerais ce qu'est un problème (vous attendez un certain type d'entrée et vous voulez produire une sortie basée sur cette entrée), ( 2) expliquer ce que signifie qu'un problème est difficile, (3) expliquer les problèmes SAT et #SAT, (4) déclarer que ces problèmes sont difficiles, et (5) déclarer que trouver des algorithmes plus rapides pour les problèmes en général est très apprécié assez qu'il y a un prix d'un million de dollars si vous pouvez résoudre SAT rapidement. J'espère que cela aide un peu, même si cela ne répond pas totalement à vos questions. Bonne journée!
Michael Wehar
Il y a quelques problèmes répertoriés sur wikipedia (bien que vous l'ayez probablement déjà vu). Voici le lien: en.wikipedia.org/wiki/Sharp-P
Michael Wehar
1
@MichaelWehar Bien que si vous pouviez résoudre SAT rapidement, ce million de dollars ne vaudrait pas grand chose pour vous!
Elliot Gorokhovsky

Réponses:

6

Le permanent est # P-complet, même lorsqu'il est limité aux matrices évaluées par . Le permanent peut être utilisé pour calculer certains paramètres en mécanique statistique, voir par exemple cet article sur le problème de couverture des dimères. Comme je ne suis pas physicien, je ne peux pas dire si ces problèmes théoriques de mécanique statistique sont vraiment utiles; Je soupçonne qu'ils ne sont pas directement utiles, mais la zone elle-même pourrait conduire à des informations utiles. Il peut également arriver que certains de ces paramètres soient utiles seuls, mais vous devrez consulter un expert.{0,1}

Votre présentation de 5 minutes pourrait ressembler à ceci:

La mécanique statistique est une partie belle et profonde de la physique et de la chimie qui étudie comment le comportement émergent des grands systèmes résulte de lois physiques microscopiques opérant sur des éléments individuels. Il explique des phénomènes tels que les lois des gaz, la magnétisation et les transitions entre les différentes phases de la matière. La mécanique statistique est intimement liée à la théorie des probabilités, à l'informatique, à la recherche opérationnelle et à la science des données.

De nombreuses quantités importantes en mécanique statistique peuvent être formulées comme des instances de #SAT. Un algorithme de résolution exacte ou approximative de #SAT peut ainsi être utilisé pour prédire les phénomènes physiques et chimiques.

Cela pourrait exagérer quelque peu le cas, mais c'est ainsi que les arguments de vente se déroulent.

Yuval Filmus
la source
1

Cette question semble mélanger un peu SAT et #SAT dans sa formulation. Oui, les deux sont étroitement liés. #SAT est simplement défini comme la classe de complexité associée au comptage du nombre de solutions à un problème SAT et largement conjecturée comme étant beaucoup plus difficile, mais peut-être surprenant, cela n'a pas été prouvé . #SAT n'est même pas beaucoup étudié en théorie de la complexité au niveau collégial, il s'agit plutôt d'un sujet de recherche théorique avancé.

Une façon de motiver l'importance de #SAT est via le théorème de Toda qui a remporté un prix Gödel en 1998 pour sa signification profonde. De Wikipédia:

Ainsi, le théorème de Toda implique que pour tout problème dans la hiérarchie polynomiale, il existe une réduction déterministe de Turing en temps polynomial à un problème de comptage. [1]

De plus, comme SAT et #SAT ne sont même pas prouvés comme ayant une complexité différente, un argument raisonnable peut être avancé que la compréhension de la complexité #SAT pourrait conduire à une certaine compréhension du problème P vs NP , qui regorge d'informations et de motivation .

vzn
la source
re P vs NP voir aussi le livre récent de Fortnow Golden ticket, P / NP et la recherche de l'impossible
vzn
Toute application de SAT est une application de #SAT, je recherche des applications des deux.
Elliot Gorokhovsky
lol alors votre question est très différente. Les problèmes NP complets ont des applications extrêmement larges et cela est largement documenté. voir le livre de Fortnows ou par exemple la théorie de Garey / Johnson de l'exhaustivité de NP . et btw si le professeur AP CS ne sait pas ce qu'est la complétude NP, alors il / elle doit être renvoyé.
vzn
Eh bien, les enfants qui suivent le cours ne comprennent même pas des concepts simples comme la recherche binaire, donc si elle le savait, cela serait de toute façon gâché pour les élèves.
Elliot Gorokhovsky
Pouvez-vous également expliquer pourquoi il est difficile de prouver le théorème de Toda? Parce que depuis chaque problème dans NP se réduit à SAT qui se réduit trivialement à #SAT. Quels sont les problèmes en PH qui ne sont pas en NP? Désolé, je me suis tout appris de Wikipedia, donc j'ai une tonne de trous dans ma connaissance.
Elliot Gorokhovsky