Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

automate cellulaire de Conway

Petite distraction ... quoi que, à mon sens, je pense que c'est bien plus qu'une simple curiosité

L'automate cellulaire de Conway, nommé aussi "jeu de la vie". Avec des règles très simples, cet automate a un comportement complexe et est "Turing-complet" ... c'est à dire qu'il possède de façon intrinsèque, et au minimum, une puissance de calcul équivalente à une machine de Turing.

Pour éviter des explications inutiles, voici une vidéo qui explique tout.

(je conseille de la regarder en totalité, c'est pas mal intéressant).

 

[vidéo]

 

J'ai trouvé ceci aussi , c'est une implémentation de cet automate de Conway avec LabVIEW (je n'ai trouvé que celle-là) ... cependant, bien que le code soit bien fait, je trouve le résultat final fort lent (le calcul des générations successives). j'ai donc implémenté ma propre version. Je calcule une génération sur un damier de 1E+4 cases en 180µs (soit entre 5000 et 6000 générations/sec). Vu qu'il est impossible d'implémenter un "damier infini", le mien (de 100x100) est bouclé sur lui-même en forme de tore. Le code est simple ... le seul VI "intéressant" est "Core.vi" (le calculateur de générations) J'ai pas mal "planché" pour trouver la solution la plus simple et la plus rapide. (je ne pense que l'on puisse implémenter sous LV un code plus rapide pour calculer les générations successives ... des amateurs ?  Smiley heureux ). Bon amusement.

 

Message 1 sur 3
2 437 Visites

Salut Ouadji,

 

Merci du partage, le sujet est très intéressant.

Pour rappel, il y a eu un challenge un peu similaire il y a quelques mois : https://forums.ni.com/t5/Challenges-LabVIEW-et-documents/Challenge-math%C3%A9matique-47-des-mollusqu.... Bien moins complexe cela dit 🙂

 

Pour l'optimisation, je ne suis pas sûr de faire mieux, mais j'y jetterai un œil quand j'aurais du temps dans la semaine.

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 2 sur 3
2 417 Visites

En effet, ce challenge 47 est la résolution à 1 dimension (comme repris en fin de vidéo)

"Bien moins complexe cela dit" ... bof, c'est un peu du même ordre.

Le code pour résoudre ce genre de chose (1D ou 2D) est "simple" (pour le moins pas très complexe, "core.vi" n'est pas dans l'absolu un code d'une complexité fulgurante) ... à mon sens, le truc intéressant est de trouver l'astuce pour obtenir un calcul des générations le plus rapide possible. Comment analyser l'environnement de chaque cellule, et pour la totalité des cellules, en un temps minimum, là c'est amusant. Et ce challenge 47 ne pose pas ce paramètre "vitesse" comme un paramètre déterminant dans le choix du gagnant. Mais oui,  ce challenge 47 était un chouette problème à résoudre (aussi). Je n'était pas au courant de ce challenge.

0 Compliments
Message 3 sur 3
2 395 Visites