Compte rendu du workshop algo n° 1
Présents :
- Guillaume Aubian
- Clément Beauseigneur
- Maxim Berman
- Thomas Espitau
- Thomas Domingues
- Jill-Jênn Vie
- X
Pour débuter en algo
Optimisation
- Sujets Google Hash Code des éditions précédentes
- Primers, une initiative par des fans avec d’autres problèmes
Le sujet de l’année dernière : Data Center
Multiplicative Weights
- Cf. le cours de Christoph Dürr sur l’agrégation d’experts (heuristiques)
- The Multiplicative Weights Update Method: a Meta Algorithm and Applications
Upper-Confidence Bound Algorithm
Monte Carlo Tree Search
Un papier de journal super clair, A Survey of Monte Carlo Tree Search Methods, IEEE 2012
- Implémentation en Python sur mcts.ai (beaucoup de ressources ici !)
- Slides de Michèle Sebag : Monte-Carlo Tree Search
- Slides de Rémi Munos : From Bandits to Monte Carlo Tree Search: The optimistic principle applied to Optimization and Planning, AAAI 2013
Et si on utilisait MCTS pour résoudre des problèmes d’optimisation combinatoire ? IBM s’est posé la même question :
- Guiding Combinatorial Optimization with UCT, 2012, Sabharwal & Samulowitz, IBM Watson Research Center, cited by 15
- Bandit-based search for constraint programming, 2013, Sebag et al., cited by 11
C’est amusant, parce que ce papier vient de IBM Watson Research, et que ce jour-là (6/2) il y a justement Watson for President qui a fait la une de Hacker News. C’est celui qui avait explosé tout le monde à l’équivalent anglophone de Questions pour un champion :
Ressources liées au code
Comment faire pour éditer du code collectivement ?
Première réponse : vous n’avez pas envie de faire ça. Un projet git semble suffisant.
Deuxième réponse : Lorsqu’on tape collaborative code editor, il y a plein de résultats. Mais la plupart sont payants.
Python dans le navigateur
- Ça s’appelle Runestone et ça repose sur Skulpt.
- Il y a même Turtle dans le navigateur o_O (projet de terminale S)
J’aimerais m’en servir pour que des jeunes s’amusent à résoudre le jeu du quart de singe, comme Randall Munroe l’a fait avec Ghost. Pendant ce temps, d’autres gens résolvent le MasterMind ou le Go.
Bonus mars 2016 : Jupyter
Jupyter (ex IPython) permet d’avoir des notebooks. Très pratique pour des démos :
- Recommending Movies par Datacritic
Il y a Jupyter qui travaille sur une intégration à Google Drive.
- Docker + Jupyter = http://tmpnb.org, notebook jetable, supprimé après 10 minutes d’activité.
- GitHub + Jupyter = http://mybinder.org, ajoute un badge pour parcourir les notebooks d’un repo (durée : 2 heures).
- GDrive + Jupyter = JupyterDrive (pas encore en temps réel)
- coup de cœur : Livebook, modifier un Notebook comme un post de blog, directement dans le navigateur. À base de React.js.
Coder de la musique dans le navigateur
- Trinket utilise un langage que je ne connais pas, très pratique, pas open source.
- VexTab est open source et Trinket repose dessus en partie.
- On peut même jouer en MIDI la musique dans le navigateur.
Commentaires autres que Disqus
(Pour une raison random, on s’est posé cette question.)
- Isso : chiant à installer mais très pratique.
- HashOver, bweeeh PHP.
- commentserve, wut RDF.