128 calculs de caractères: gagnants du concours Wolfram sur une seule ligne

L'article mentionne de nouvelles fonctionnalités de la future 12e version du langage Wolfram. Le code et le bloc-notes téléchargeables seront publiés après la sortie.

Chaque année, la Wolfram Technology Conference organise un concours en ligne pour les programmes linguistiques Wolfram d'une longueur maximale de 128 caractères. Il est interdit à nos employés d'y participer, mais chaque année, ils reçoivent des demandes et des demandes qui doivent être rejetées. Pour leur donner l'opportunité de faire leurs preuves et de montrer à quel point ils sont cool, nous avons organisé cette année le premier concours monoplace pour la première fois.



Nous avons décerné les première, deuxième et troisième places, six mentions honorables et une honteuse. Et les gagnants sont devenus ...

Mention honorable


Danny Finn, consultant


ImageGuessr (Wolfram Pictionary) (128 caractères)


Le travail de Danny est un jeu terminé en 128 caractères. Certains juges l'ont trouvé si excitant qu'ils ont continué à jouer après la fin de la session d'arbitrage.

Le code sélectionne un mot au hasard et recueille un collage à partir d'images trouvées sur Internet pour ce mot. Affiche ensuite une boîte de dialogue avec un collage et un champ de saisie afin que le joueur puisse deviner le mot. Lorsqu'un joueur y entre, il met en corrélation les caractéristiques sémantiques de sa supposition avec les caractéristiques sémantiques du mot. Plus la corrélation est élevée, plus la signification de la réponse est proche de la supposition. Beaucoup de fonctionnalités dans une seule ligne de code!







Mention honorable


Danny Finn, consultant


Notebook Pox (123 caractères)


Danny mérite une deuxième mention honorable pour le code qui infecte votre ordinateur portable avec la variole. L'auteur aurait probablement mérité une mention honteuse s'il n'avait pas encore fourni de médicament (voir la deuxième partie).

Danny pourrait sauver sept caractères en éliminant le système inutile avant BackgroundAppearance : c'est probablement le reste d'une expérience.







Mention honorable


Sarah Stanley, consultante principale


Rainforest Winter (126 caractères)


Le travail de Sarah combine la recherche d'images et un réseau de neurones pour transformer des images des tropiques en une forêt enneigée. Le numéro ListAnimate montre un ensemble d'images d'une forêt tropicale enneigée.





Mention honorable


Sarah Stanley, consultante principale


Changer les rayures des tigres (128 caractères)


Comme Danny, Sarah a également reçu deux mentions honorables. Le second est destiné aux travaux qui combinent la recherche d'images et une combinaison de réseaux de neurones qui éliminent les rayures des tigres. ResourceObject dans le code est un réseau neuronal CycleGAN pour convertir des zèbres en chevaux . Le réseau neuronal est formé sur l'ensemble de données ImageNet. Le nom du réseau de neurones mangerait 72 des 128 caractères s'il n'était pas utilisé un identifiant numérique compact. Alors que le réseau d'origine était formé pour convertir des zèbres en chevaux, Sarah l'a appliqué dans un nouveau domaine: sur les tigres blancs, et a obtenu un effet intéressant.





Mention honorable


Brian Wood, rédacteur principal, Marketing technique


Un peu de plaisir avec le mouvement (117 caractères)


Le programme de Brian crée des effets vidéo à la volée avec un code de traitement d'image compact qui crée des traces de couleur lors du déplacement d'un objet. Lorsque le sujet est immobile, les pistes de couleurs superposées sont ajoutées pour recréer avec précision l'image d'origine.





Mention honorable


Daniel Carvalho, directeur exécutif, développement des affaires internationales


Wave (93 caractères)


Après avoir creusé la tête sur l'analyse de certains des problèmes précédents, les juges ont trouvé les vagues méditatives de Daniel très agréables.





Mention honteuse


John McLoon, directeur des communications techniques et de la stratégie


Code de démineur incroyablement court (47 caractères?)


Le démineur de John a été le premier à déchiffrer le cahier du jury, à savoir le code de comptage des caractères. Ceci est un bon exemple de la raison pour laquelle vous avez besoin du bouton ennuyeux «Activer la dynamique» lors de l'ouverture d'un bloc-notes Wolfram avec du code dynamique:



Lorsque vous ouvrez le programme de John, vous voyez 2000 avec quelque chose de symboles d'un jeu à part entière "Démineur". Cela commence comme ceci:



Malgré l'énorme volume, le compteur en haut montre que la taille du programme n'est que de 47 caractères:



La note d'accompagnement dit: «Code incroyablement court du démineur. Il peut sembler plus grand, mais en réalité seulement 47 caractères. Vérifiez par vous-même! Et honnêtement, je n'ai pas changé le modèle du jury, vous pouvez copier le code dans une nouvelle ligne et voir. »

Comment a-t-il fait ça? John n'a pas vraiment changé le code source intégré dans le bloc-notes pour le dépôt d'une application, mais il a redéfini certaines fonctions que ce code définit. Cela peut être vu par Cellule> Afficher l'expression sur la cellule avec le code.

Le premier «0» du code est encapsulé dans un DynamicWrapperBox avec de nouvelles définitions de fonctions pour compter le nombre de caractères dans un bloc-notes. Au lieu de compter les caractères dans le programme, de nouvelles définitions comptent les caractères dans la ligne "Bien sûr, mérite une mention honteuse [sic] !!!" (47 caractères):



La première fois que le programme de John apparaît à l'écran, le code DynamicWrapperBox s'active et se casse dans un bloc-notes à appliquer. Vraiment digne d'une mention honteuse, John!

Troisième place


Jofre Espigule-Pons, consultant


Espèces menacées (122 caractères)


Dans les travaux des gagnants, les composants du langage Wolfram Language sont utilisés de manière à donner des résultats magnifiques, utiles et étonnants. Le programme Jofre répond aux trois critères. Il trouve l'intersection de la classe des mammifères avec la classe des espèces en voie de disparition (c'est-à-dire la classe des mammifères qui sont en danger), prend une image de chacun d'eux et recueille les images dans un collage - un rappel graphique de la richesse biologique que nous risquons de perdre.





Deuxième place


Lou D'Andria, développeur d'interface utilisateur principal


Célébrités Wolfram (123 caractères)


C'était vraiment amusant d'étudier l'application de Lou, qui tire des photos d'employés du catalogue de l'entreprise et, avec Classify, trouve la célébrité à laquelle ils ressemblent le plus.





Un nombre étonnamment élevé de personnes dans l'entreprise sont identifiées comme "Stephen Wolfram" (y compris Stephen lui-même). Hmm ...



Première place


John McLoon, directeur des communications techniques et de la stratégie


L'art abstrait en évolution (68 caractères)


Notre collègue, qui méritait une mention honteuse dans ce concours, a également remporté la première place. L'élégant et concis programme de 68 caractères John McLoon a captivé les juges avec un rapport élevé de diversité graphique à la longueur du code. Cette animation et des graphismes attrayants. Il est intéressant de voir comment l'image se développe:





John a utilisé un effet de répétition complexe. Le résultat est un programme qui fait bien plus que ce que l'on pourrait penser en regardant le nombre de caractères. Félicitations John!



Il y a beaucoup plus d'œuvres soumises au concours: un total de 34 pièces. Tous seront publiés dans un cahier après la sortie prochaine de la version 12 de la langue Wolfram. Merci à tous ceux qui ont participé. Merci de nous montrer encore une fois la puissance du langage Wolfram.

Source: https://habr.com/ru/post/fr442134/


All Articles