vous réduisez le nombre de permutations, mais pas de 75%, puisque toutes les positions possibles de la petite case remplissent un carré de 6x6, et votre "quart" remplit un carré de 4x4.
Comme il y a des «chevauchements» dans vos quartiers, vous ajoutez en fait un peu de permutations. Étant donné que votre quartier est en 4x4, vous avez quatre carrés superposés dans la colonne du milieu, et quatre autres dans la rangée du milieu.
Encore, c'est moins que réellement l'informatique pour chaque petit carré.
aussi, vous pouvez encore augmenter les performances avec 2 places en faisant ceci:
disons que vous avez 2 places, 1 & 2. Si votre carré est:
11110000
11110000
00000000
02000000
ce sera équivalent à:
00001111
00001111
00000000
00000020
et
00000020
00000000
00001111
00001111
, vous boucle pourrait par toutes les permutations de 1 au premier trimestre de la grille, contre toutes les permutations de 2 au premier semestre (à gauche) de la grille. faites ceci pour les trimestres 1 et 2 (où le quart 1 est en haut à gauche et le quart 2 en haut à droite).
Merci pour la réponse. Je l'ai fait quelques tests: 576 itérations de 1.680 itérations (34% de la taille originale) 31104 itérations de 90,720 itérations (34% de la taille originale) pour faire varier le nombre de carrés/tailles de toile, il est donc un permutations réduire optisation sucessfull à 34% original chaque fois ce qui est super! Y a-t-il d'autres façons de réaliser des optimisations «miroir» avec plusieurs carrés? Avec 2 carrés vous réduisez les boucles du premier carré, puis bouclez toutes les positions avec le 2ème carré, si vous aviez 3 carrés, un moyen d'optimiser cela? –
voir ma modification ci-dessus. mon commentaire précédent était brut, donc je l'ai supprimé, mais fondamentalement, faites ce qui précède (1er trimestre x 1ère moitié, 2ème trimestre x première moitié), mais pour chaque étape, boucle aussi avec chaque permutation du 3ème carré. – maranas