Discussions au sujet de NI LabVIEW

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

Challenge non-officiel de Juillet

Puisque comme prévu 'il n'y a pas de challenge officiel pour Juillet je vous propose le défi suivant:

 

Génération de fractals à l'aide d'expressions régulières (regex).

 

Vous pouvez trouver la description du défi en suivant ce lien. Il s'agit de faire l'implémentation de ce problème à l'aide de LabVIEW bien entendu. Pour une référence sur les expressions régulière je vous recommande ce site (en anglais). Si l'un de vous connait une bonne référence en français n'hésitez pas à la partager.

 

J'ai débuté l'implémentation LabVIEW et j'avoue avoir galéré pas mal pour générer le tableau 2D des chaines identifiant chaque pixel (élément du tableau 2D). Il existe probablement une façon plus simple que ce que j'ai fait, je suis curieux de voir les solutions que vous proposerai.

 

Concentrez vous sur des images en noir et blanc de 256 X 256 (l'ajout de couleurs est en bonus!). Petit conseil, commencez par générer des tableau 2X2, puis 4X4 et 8X8 pour valider et déboguer votre code.

 

Attendez la fin du mois avant de poster votre code mais n'hésitez pas à partager vos oeuvres!

 

Bon défi!

 

Ben64

  

Message 1 sur 28
3 479 Visites

Voici un exemple de résultat, finalement les images sont plus intéressante en format 512 X 512.

 

Premier exemple.png

Ben64

0 Compliments
Message 2 sur 28
3 459 Visites

Merci pour ce nouveau challenge Ben ! Très intéressant surtout niveau optimisation.

En effet pas facile la génération du tableau... Mais j'ai aussi trouvé un moyen.

 

Pour étalon, mais je suis sûr que vous ferez mieux 🙂 :

  • ~40ms pour la génération du tableau de valeurs
  • ~470ms pour le total sur l'exemple que tu donnes. Un peu plus un peu moins selon la complexité.

Bon courage à tous ! Jessaierai de repasser voir les avancées malgré un programme plus chargé dans les prochains jours.

 

Bonne semaine,

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

Pour 256 X 256 la génération du tableau est assez lente (290 ms) mais le temps total est de 416 ms. Pour 512 X 512 ça passe à 1.36s et 1.86s.

 

Prochaine étape implémenter la couleur.

 

Ben64

0 Compliments
Message 4 sur 28
3 396 Visites

Intéressant, ton expression régulière est donc plutôt rapide ! Je vais creuser ça et regarder la couleur aussi 😉

 

Édit : ceci dit je ne suis pas sûr de ce qu'ils appellent un "capturing group". Est-ce lié au nombre de pixels mis en valeur par les regexp ou bien autre chose ? 

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 5 sur 28
3 393 Visites

Un "capture group" permet d'extraire une partie d'un "match". Par exemple si on a l'expression [23](1.*2).*4, cette expression correspondra a toutes les chaines débutant par 2 ou 3 dont le deuxième caractère est un 1, dont il y a un 2 un peu plus loin et qui se termine par un 4. La parenthèse (1.*2) est un capturing group. Dans le cas d'un tableau 256 X 256 dont les chaines on une longueur de 8 les longueurs possibles pour ce capturing group vont de 2 à 6 éléments: 12 à 1????2 ou ? est n'importe quel nombre de 1 à 4. Pour extraire ce capturing group il suffit de tirer la fonction Match Regular Expression vers le bas. Par exemple pour la chaine 43131214 le capture group retournera 1312 (longueur =4).

match regex.png

Ben64

 

Message 6 sur 28
3 383 Visites

Très très clair, merci 🙂

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 7 sur 28
3 379 Visites

Mes premier résultats sont tombés :

Pour un 512x512 je monte vers 1.9s

premierresultats.png

Message 8 sur 28
3 344 Visites

Après un peu de recherches je tombe sur 40ms pour la création du tableau avec un total moyen sur toutes les fractales proposées de 360ms. Par contre certaines de mes fractales semblent fausses... Ben as-tu réussi à toutes les recréer ?

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 9 sur 28
3 339 Visites

@ML927 wrote:

Après un peu de recherches je tombe sur 40ms pour la création du tableau avec un total moyen sur toutes les fractales proposées de 360ms. Par contre certaines de mes fractales semblent fausses... Ben as-tu réussi à toutes les recréer ?


J'en ai essayé qu'un seul, je te reviendrai la-dessus plus tard je n'ai pas le code avec moi.

 

Ben64

Message 10 sur 28
3 336 Visites