Description de l’informatique théorique à la table?


51

On me demande souvent ce que fait un informaticien théorique. Ce serait bien d'avoir de bonnes réponses à cette question. J'ai tendance à retomber dans le jargon technique et les yeux des gens brillent généralement à ce stade.

Que fait un informaticien théorique en termes compréhensibles par des non-informaticiens?

Une bonne réponse doit être vive, précise dans l’esprit, sans paraître vague ni banale. Pour les points bonus, la réponse devrait indiquer pourquoi un informaticien théorique n'est ni un mathématicien ni un praticien en informatique.

Cette question est inspirée de la question MO, https://mathoverflow.net/questions/3559/colloquial-catchy-statements-encoding-serious-mathematics, bien que l'intention soit différente.

Réponses:


34

Ma réponse est généralement "j'étudie pourquoi certains calculs sont difficiles à faire". A titre d'exemple, je compare généralement l'addition et la multiplication en utilisant les méthodes standard des écoles primaires. Ce sont des calculs que tout le monde a faits et que tout le monde apprécie la valeur de faire rapidement. Tout le monde convient que pour de grands nombres, la multiplication est beaucoup plus difficile que l'addition. En fait, la plupart des gens suggèrent que la méthode de l'école élémentaire est aussi rapide que possible. Alors je leur demande pourquoi. Comment savent-ils qu'il n'y a pas d'autre moyen de multiplier qui est aussi simple que d'ajouter?

À peu près tout le monde a au moins une certaine idée de la difficulté de prouver des limites inférieures (mon intérêt particulier), même si je n'ai pas utilisé ce terme. En fonction du contexte et de l'intérêt du public, je peux mentionner que quelqu'un a trouvé un moyen de multiplier qui est beaucoup plus rapide que la méthode de l'école élémentaire (simplement le mot "algorithme" a tendance à créer un glaçage dans les yeux), mais toujours plus lentement. que d'ajouter.


8
J'aime que votre exemple utilise l'addition et la multiplication à titre d'exemple. Il semble que ceux-ci seraient encore moins intimidants pour un profane que de trier ou de chercher.
Lev Reyzin

C’est un très bon moyen d’aller rapidement au coeur du problème, merci!
András Salamon

3
J'ai donné le même exemple :) La réaction que j'ai vue est que les gens se mettent à nier, se fâchent presque contre moi: "Qu'est-ce que tu veux dire? Nous ne savons pas si la multiplication est plus difficile que l'addition? Bien sûr que c'est .. jouer à des jeux avec moi? "
Sasho Nikolov

J'aime beaucoup cette réponse, mais ce n'est pas ce que je fais! Je travaille dans un domaine complètement différent, à savoir la théorie des types dépendants. Dois-je expliquer "théorie A" vs "théorie B"?
Cody

39

Je donne aux gens un exemple concret. Plus précisément, je motive souvent la théorie de la complexité avec le même problème très illustratif (mais simple). Je demande à mes auditeurs comment ils demanderaient à un petit enfant de savoir si son nom figure dans une liste alphabétique de noms (et leur dis que cela prend 3 secondes à l'enfant pour comparer un nom à un autre). Il arrive souvent que la personne / le groupe propose l’approche linéaire naïve. Je force la conversation à utiliser l'algorithme logarithmique (je pourrais utiliser un autre mot que logarithme) en demandant à la personne quelque chose de mieux ou en le mentionnant moi-même. Je leur montre que doubler la taille de la liste ne fait qu'ajouter trois secondes de travail à l'enfant avec cette nouvelle approche. Et je compare cela directement avec la version linéaire, qui semblera maintenant totalement idiote.

Bien sûr, je le ramène sur terre. Je leur dis que l'enfant en question est généralement un ordinateur, mais que ce peut être un enfant ou vraiment n'importe qui en général. Que les questions que nous posons ne concernent pas vraiment les ordinateurs, mais davantage l'espace, le temps et les informations dont vous avez besoin pour résoudre les problèmes. Et je motive l'analyse de complexité par analogie aux deux méthodes différentes pour résoudre le même problème.

Quand j'ai leur attention, je fais ressortir les gros frappeurs. Je leur demande "pouvez-vous prouver que la solution logarithmique est la meilleure que vous puissiez espérer faire ou pouvez-vous trouver quelque chose de mieux?" et je leur demande "existe-t-il des problèmes qu'aucun processus (algorithme) ne peut espérer résoudre?" J'ai été surpris de voir comment les gens essaient de résoudre ces questions lorsqu'ils n'ont pas de formation dans le SDC.


1
Et pour mémoire, j'ai eu assez de chance pour intéresser un peu plus les gens à ce sujet.
Ross Snider

1
Avant la disparition effective de l'annuaire téléphonique, cela aurait pu être transformé en une réponse rapide en deux phrases. Existe-t-il un exemple canonique de liste ordonnée à accès aléatoire que tout le monde connaît?
András Salamon

Bien sûr, András. L'index d'un livre. Alternativement, vous pouvez bien sûr aller chercher un nouveau jeu de cartes avant qu’il n’ait été mélangé, ce qui vous permettrait bien sûr de continuer à examiner le cas non ordonné.
Joe Fitzsimons

@ Joe: Je rencontre régulièrement des gens qui n'ont pas utilisé de manuels avec des index. Peut-être que si Harry Potter venait avec un index ...
András Salamon le

@ András: Je suppose que je mange trop souvent à l'université! Presque tous les manuels scolaires en ont.
Joe Fitzsimons

21

J'aime ce billet de Scott Aaronson , qui explique la théorie de la complexité en tant que théologie quantitative. Voici un extrait:

La théorie de la complexité informatique ne concerne pas vraiment les ordinateurs. Les ordinateurs jouent dans la complexité le même rôle que les horloges, les trains et les ascenseurs. C’est un excellent moyen d’illustrer ce point. Ils étaient probablement essentiels pour découvrir le point, mais ce n’est pas le cas.

La meilleure définition de la théorie de la complexité à laquelle je puisse penser est celle de la théologie quantitative: l’étude mathématique d’êtres hypothétiques superintelligents tels que les dieux. Ses préoccupations incluent:

  • Si un ou plusieurs dieux existaient, comment pourraient-ils se révéler aux mortels? (IP = PSPACE ou MIP = NEXP dans le cas polythéiste.)

  • Quels dieux sont plus puissants que quels autres dieux? (P NP vs. PP, SZK vs. AMQ, BQP NP vs. NP BQP , etc. etc.)

  • Un Dieu divin pourrait-il choisir de conférer son omniscience à un mortel? (EXP vs P / poly.)

  • Peut-on faire confiance aux oracles? (Peut-on faire confiance aux oracles?)

Et bien sur:

  • Les mortels pourraient-ils devenir eux-mêmes des êtres divins? (P vs. NP, BQP vs. NP.)

il ne peut y avoir qu'un seul Dieu, supposer qu'un multiple de dieux soit logiquement incohérent car plusieurs dieux auront différents niveaux d'attributs qui contrediront le principe d'un dieu suprême (un dieu étant plus puissant qu'un autre, c'est idiot)
Mohammad Al-Turkistany

1
@ William, mon argument est que le profane sera confondu avec ces analogies .
Mohammad Al-Turkistany le

10
bien que je ne devrais vraiment pas, je devrais souligner que plusieurs dieux ne sont incompatibles que si les propriétés semblables à celles de Dieu forment un ordre total. S'ils forment un ordre partiel, il est parfaitement correct d'avoir plusieurs dieux. (désolé, Ryan)
Suresh Venkat le

@Suresh, insinuez-vous qu'il pourrait y avoir deux dieux auxquels nous ne pouvons pas dire qui est plus puissant? La relation binaire est ici l’ordre total. (désolé, Ryan)
Mohammad Al-Turkistany

18

Un exemple de réponse, qui peut certainement être amélioré:

Les informaticiens théoriques étudient le calcul en termes mathématiques. Ils peuvent réparer votre ordinateur et les mathématiciens peuvent calculer vos impôts.


20
Malheureusement, la plupart des gens que je connais pensent que les mathématiciens pourraient très bien calculer les impôts ...
Lev Reyzin

11
Cela me rappelle la célèbre citation de Dijkstra: "L'informatique n'est pas plus une affaire d'informatique que l'astronomie, elle est une affaire de télescopes."
Vinayak Pathak

2
Lez - Ces personnes devraient être informées du Prime Grothendiek.
Vinayak Pathak

13
En voici un autre, tiré de jondoda sur Twitter: "Demander un support technique à un informaticien, c'est comme demander à un botaniste de tondre votre pelouse." Celui-ci se réchauffe ...
Ryan Williams

4
Ryan, le corollaire étant que les deux peuvent facilement accomplir la tâche mais ne veulent pas être demandés?
Joe Fitzsimons

16

Je pense qu'une excellente (non) réponse dans ce sens a été donnée par Dijkstra (toujours une bonne source de référence pour les déclarations croustillantes et absolutistes :)).

L'informatique ne concerne pas plus les ordinateurs que l'astronomie, les télescopes. - EW Dijkstra


11

Je aime vraiment l'introduction au problème Cloisonnement comme donné par Brian Hayes donnés ici .

Il utilise le problème de la partition d'un ensemble d'enfants en équipes d'habiletés totales égales (en supposant que vous puissiez quantifier l'aptitude de chaque enfant en utilisant un nombre), et explique également l'algorithme glouton habituellement utilisé par les enfants pour résoudre ce problème.

C'est un problème très simple à comprendre, il est facile de comprendre l'algorithme, surprenant qu'il soit (très probablement) très difficile en général et gênant que nous ne puissions toujours pas prouver le dernier bit.


C'est vraiment un bon. D'une manière ou d'une autre, je ne l'avais pas remarqué ici auparavant.
Ryan Williams

J'ai adoré l'article!
arnab

8

Je réponds habituellement par quelque chose comme: J'essaie de comprendre ce qu'il est possible de faire avec un ordinateur. Ce n'est pas tout à fait exact, mais c'est assez proche, et généralement les gens demandent quelque chose comme "Qu'est-ce que tu veux dire?" et je peux faire référence à quelque chose de spécifique, comme TSP. Bien que je reformule le vendeur itinérant en lui disant, par exemple, le problème des sauts, le problème des agents immobiliers, le problème du trop grand nombre de courses, du temps insuffisant, ou de tout ce qui me semble approprié.

Par exemple: «Eh bien, disons que vous devez faire des emplettes pour des chaussures, de l’épicerie et des vêtements, ramasser un gâteau, vous faire couper les cheveux et faire d’autres courses diverses avant le dîner. Ce serait bien si vous pouviez mettre tout ça dans votre GPS et il pourrait vous dire dans quel ordre faire toutes vos courses à faire avant 4 heures, mais si la liste des courses est assez longue, il n’est même pas possible, pour le moment, de déterminer si peuvent les faire faire par 4 du tout , beaucoup moins ce que vous devez les faire commander à, en tout temps raisonnable. Je veux savoir s'il est possible de résoudre ce problème rapidement avec un ordinateur « .


Génial, je pense que c’est le genre de réponse qui lancerait une conversation intéressante!
András Salamon

7

Quels sont les meilleurs moyens de résoudre les problèmes et quels problèmes sont trop difficiles à résoudre? Il y a un mot dans les langues européennes - y compris l'anglais! - "informatique". La science de l'information. Aux États-Unis, nous appelons cela l'informatique théorique, en raison de la forte industrie informatique ici, mais pensons à la résolution de problèmes sans ordinateur pendant une minute. Considérons le corps humain. Il résout les problèmes presque miraculeusement. La lumière entre dans nos yeux et nous pouvons voir des choses que nous reconnaissons . Le son entre dans nos oreilles et nous entendons des mots que nous comprenons . Ce sont des problèmes d’information que nous résolvons facilement, des milliers de fois par jour, avec lesquels les meilleurs ordinateurs du monde luttent encore.

Il a fallu des millions d’années au processus d’évolution pour résoudre ces problèmes, en utilisant une stratégie d’essais et d’erreur et en éliminant les malchanceux. Imaginez ce que nous pourrions accomplir si nous adoptions une approche plus rationnelle et si nous investissions autant de créativité humaine dans cette nouvelle science de la résolution de problèmes que nous en avons investis dans la géométrie, la théologie ou le calcul. Ce que je fais est une petite partie de cet investissement.


En réponse à la question du profane, "Que faites-vous?" J'ai souvent répondu: "Je passe beaucoup de temps à regarder l'espace, à comprendre comment faire de la science-fiction une réalité." Ensuite, je donne un exemple spécifique de projet, expliqué en quelques phrases.


1
La plupart des gens que je connais pensent que quelqu'un qui essaie de faire de la science-fiction est un physicien. Comment distinguez-vous?
András Salamon

2
Je l' aime si un scientifique expérimental devait construire quelque chose que j'ai imaginé. Pourquoi faut-il un moyen de distinguer? Mais pour répondre quand même: je pense aux ordinateurs microscopiques, tandis que les physiciens pensent aux propriétés de la matière. Y a-t-il une différence? Cela dépend de ce qui compte pour vous et de ce que vous soulignez.
Aaron Sterling

Cela me semble expliquer ce qu’est l’informatique, mais pas ce qu’est l’informatique théorique.
Zsbán Ambrus

6

L'informatique théorique est pour l'informatique ce que les mathématiques étaient pour la physique.


2
pourquoi "l'habitude d'être"?
Suresh Venkat

1
Je me souviens avoir entendu quelque chose comme: "Le CS à la logique / combinatoire (TCS) est comme la physique à la géométrie".
Kaveh

3
Suresh, je pense qu'Andrej le prétend: il était vrai que l'étude de la physique était à l'origine d'une grande partie des problèmes étudiés par les mathématiciens, mais cette fraction a diminué au fil des ans (les mathématiques sont aujourd'hui beaucoup plus vastes). Je ne connais pas assez l'histoire des mathématiques pour affirmer avec certitude que c'est vrai, mais ce que je sais est en accord avec cela.
Ryan Williams

1
Je ne pense pas que cette analogie fonctionne, car les laïcs ne connaissent pas non plus les mathématiques et la physique.
Zsbán Ambrus

5

Je donne généralement la réponse suivante, même si elle est axée sur la théorie de la complexité: "J'étudie les limites, en termes d'espace et de temps, pour résoudre un problème. Les problèmes incluent notamment trouver le chemin le plus court sur une carte ou gagner une partie d'échecs."


5

D'habitude, je donne l'exemple du problème de l'affacturage; Je demande d’abord le nombre qui divise 15; habituellement, les gens peuvent répondre 3, 5 et s’amuser en se demandant si les réponses 1 et 15 sont correctes. Ensuite, je donne un nombre énorme (plus de 10 chiffres) et demande s'ils peuvent me dire quels sont les diviseurs; et j'explique que, même pour un informaticien, c'est une question vraiment difficile.

Ensuite, si j’ai le temps, j’essaie d’expliquer que la question est soit de savoir comment résoudre ce problème, soit de prouver qu’il faudra toujours beaucoup de temps (une notion que nous savons précisément comment définir). Et puis un petit mot de cryptographie, pour expliquer pourquoi il est utilisé, et un mot sur combien de temps il faut à une équipe de scientifiques pour casser la clé de nombre avec des centaines de chiffres (j'évite de parler de bits car les gens semblent mieux savoir quel chiffre est)


5

La question posée est vraiment difficile car la plupart des gens n’ont aucune idée de ce que font les informaticiens en général. C'est très différent des autres disciplines.

J'aime utiliser l'analogie suivante: (T) CS est pour les ordinateurs ce que la physique est pour les lecteurs de CD (c.-à-d. Le laser). Cela fonctionne plutôt bien parce que la plupart des gens ont une idée de ce que le physicien traite, que ce soit correct ou non.

Des exemples plus spécifiques incluent ce que la plupart des gens peuvent comprendre

  • Correspondance de chaîne (approche naïve lente vs expérience quotidienne de recherche rapide dans Word, Navigateur, ...)
  • Problème de chemin le plus court (utilisé dans les systèmes de navigation)
  • Planification (en fonction du degré de nervosité de l'autre, reportez-vous aux processus métier ou à la planification sur le processeur)

J'expliquerais ensuite que, si les responsables de PCS veillent à une mise en œuvre rapide ou à une bonne intégration dans des systèmes complexes, les responsables de TCS s'interrogent sur ce qui est possible et prouvent ce qui fournit des connaissances / techniques sûres et réutilisables à l'utilisation de PCS.

Vous pouvez également utiliser la frustration des gens envers les ordinateurs ("Cela ne fait pas ce que je veux!"). Vous pouvez souligner que (T) CS traite de la manière dont les ordinateurs peuvent être compris et traités efficacement (en se référant à la syntaxe, la sémantique, les infrastructures de données, les algorithmes).


4

Lorsque quelqu'un vous pose une question, vous pouvez y répondre directement ou lui donner une procédure à suivre étape par étape et la preuve que si les étapes sont suivies correctement, la réponse sera obtenue dans un délai raisonnable. Étant donné que les étapes elles-mêmes ne sont pas trop compliquées et peuvent être effectuées rapidement par une entité capable d'exister dans cet univers, quels types de questions présentent de telles procédures? Je pense que c'est le sujet de l'informatique théorique.


1
Le seul problème est le discours de choses existant dans l'univers. Cela fait de la physique plutôt que du TCS. Après tout, l’univers est un objet fini et une grande partie de TCS traite d’assymptotiques.
Joe Fitzsimons

Hmm, c'est un bon point. Mais utilisons-nous réellement des asymptotiques parce que nous voulons savoir comment notre algorithme fonctionnera sur des tailles d’entrée plus grandes que l’univers ou utilisons-nous la notation big-Oh uniquement pour rendre nos calculs grossièrement indépendants du modèle?
Vinayak Pathak

Eh bien, je pense certainement que des choses comme décider de la calculabilité, etc., vivent à un niveau plus abstrait.
Joe Fitzsimons

4

Ma réponse habituelle, qui n’est pas vif mais qui garantit l’arrêt de la conversation (bonus!), Est "comme la théorie quantique est le noyau mathématique de la physique, le TCS est le noyau mathématique de la science informatique".


3
En fait, la physique théorique plutôt que la mécanique quantique est le TCS de la physique. Il y a un tas d'autres théories physiques en plus de la mécanique quantique (la relativité générale classique en est l'exemple le plus évident).
Joe Fitzsimons

Le but n'est pas la précision :)
Suresh Venkat le

Mais on peut ensuite demander: "Qu'est-ce que l'informatique?"
Vinayak Pathak

4

Nous étudions les limites du calcul. Combien de temps pouvez-vous résoudre un problème de calcul particulier? Combien de temps faut-il pour le résoudre, quelle que soit la solution que vous essayez? Ensuite, je leur donne ces exemples (qui sont faciles à expliquer à la plupart des laïcs - et de nombreux laïcs en ont une expérience directe - démontrent certaines propriétés des problèmes NP-complets, et ont en réalité pour objet de sauver des vies).

Il est évident que les gens (y compris moi-même) peuvent dire que j'ai ignoré d'autres ressources importantes telles que l'espace, le caractère aléatoire ou même le quantumness. Mais lorsque vous ne disposez que de 2 minutes pour parler à quelqu'un de tout un champ, certaines choses sont laissées de côté.


4

Si vous souhaitez jeter un regard fantaisiste sur le passé, rappelez à votre public que "ordinateur" désignait autrefois une personne dont le métier était de calculer . (Et si vous voulez violer certains stéréotypes de genre qu’ils pourraient avoir, vous pouvez aussi souligner qu’il s’agissait souvent de femmes.)

Vous pouvez alors réaliser une poignée de choses à la fois:

  • argumenter de manière convaincante que "l'informatique" peut être quelque chose de plus que l'étude des "ordinateurs";
  • soulignent que les gens qui l' informatique besoin des règles pour accomplir leur tâche (surtout dans une salle pleine de « ordinateurs » faire des tâches spécialisées - la complexité de la communication et parallélisation, anyone?), ce qui est tout aussi vrai pour les machines;
  • décrivez que "l'informatique" consiste à trouver des moyens efficaces de résoudre des problèmes impliquant "l'informatique" dans ce sens;
  • faites comprendre que ce que fait exactement l’informatique n’est pas aussi important que les ressources dont ils ont besoin (comme le temps et l’espace de travail).

4

Je commence toujours par les diriger vers une vidéo ou un article créatif, intentionnellement irrévérencieux, qui explique un concept technique à un niveau intuitif. Voici un bon exemple: Griffonner les maths: Spirales, Fibonacci et être une plante

Une fois qu’ils ont compris le concept (et qu’ils se sont amusés avec un peu de chance), j’essaie de généraliser ce qu’ils ont appris à propos du SDC. Par exemple, la vidéo ci-dessus pourrait mener à une explication de base des algorithmes ou du calcul en tant que processus récursif - "quelque chose qui génère une structure complexe à partir de quelques règles simples". Les gens du SDC étudient donc simplement quels types de règles produisent quels types de structure!

À partir de là, il est généralement assez facile de passer du système de contrôle de version général à la tâche spécifique à un domaine. :)


2

Suite à la suggestion de Ross Snider de commencer par un exemple spécifique, on peut aussi expliquer directement la question P vs NP. On peut décrire cette question à un non-initié comme à savoir s'il est manifestement plus facile de vérifier une solution que d'en trouver une, ou est-il vrai que chaque fois que nous pouvons vérifier une solution, nous pouvons également la trouver?


2

Voici la mienne:

L'informatique ne concerne pas que la science, elle comporte beaucoup d'ingénierie, mais la partie scientifique concerne la compréhension du calcul. Et un calcul est un processus physique qui génère des informations de manière ordonnée. En informatique théorique, nous pensons avoir besoin de mathématiques relativement sophistiquées pour comprendre le calcul.

Cela nous amène joliment à parler de calcul en biologie, du rôle de la logique en informatique, etc.


2

Peut-être qu'on pourrait dire ça

un informaticien théorique étudie des problèmes très difficiles liés à l'informatique.

Le scientifique n'utilisera pas d'ordinateur en étant créatif, mais réfléchira beaucoup, gribouillera des formules et des dessins originaux sur papier et se promènera de temps en temps. De ce fait, la praticabilité immédiate n’est pas la chose la plus importante, c’est plutôt un artiste qui explore et tente de donner un sens aux mystères de ce monde.

On pourrait ensuite mentionner des éléments qui reposent sur des solutions élégantes de théoriciens, tels que l’ordinateur, Internet, les moteurs de recherche, les banques sécurisées, les films en 3D, le séquençage de l’ADN, etc. une partie peut être vue pour la première fois depuis plusieurs décennies.

D'après mon expérience, beaucoup de gens ont un moment AHA lorsqu'ils se rendent compte que l'informatique et la théorie en particulier sont si riches en questions et problèmes intéressants à étudier. Beaucoup d'entre eux peuvent être décrits à un niveau élevé! Ceci est une liste publiée par Prof. Wikipedia (via SIGACT), choisissez vos favoris: algorithmes, structures de données, théorie de la complexité computationnelle, calcul distribué, calcul parallèle, VLSI, apprentissage automatique, biologie computationnelle, géométrie algorithmique, théorie de l'information, cryptographie, calcul quantique , théorie numérique des nombres et algèbre, sémantique et vérification de programme, théorie des automates et étude du caractère aléatoire.


0

Que fait un informaticien théorique en termes compréhensibles par des non-informaticiens?

À peu près la même chose qu'un réparateur de magnétoscope. Les deux solutions permettent d'optimiser les performances des machines qui lisent et écrivent des informations sur de très longs morceaux de bande.

C’est peut-être un peu plus bavard que ce que vous vouliez…


Cela entretiendrait certainement la conversation!
András Salamon le

11
Oh super. Pouvez-vous me dire comment faire en sorte que l'horloge arrête de clignoter 12h00?
Jeffe

1
Certes, je charge le taux de syndicalisation habituel.
András Salamon

Je sais que c’est un peu la langue dans la joue, mais notant les votes faibles, je les enlèverai avec joie si quelqu'un a un problème sérieux avec cela.
Joe Fitzsimons

1
Aucun problème! Je craignais que certains théoriciens de la CS ou des réparateurs de magnétoscopes ne se soient offusqués.
Joe Fitzsimons
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.