L'efficacité inattendue des séquences quasi aléatoires

Dans cet article, je présente une nouvelle séquence quasi aléatoire à faible divergence qui offre une amélioration significative par rapport aux séquences modernes, telles que Sable, Niederreiter, etc.


Figure 1. Comparaison de diverses séquences quasi aléatoires avec une faible divergence. Notez que le proposé par moi R -séquence crée des points plus uniformément répartis que toutes les autres méthodes. De plus, toutes les autres méthodes nécessitent une sélection minutieuse des paramÚtres de base et, en cas de sélection incorrecte, conduisent à la dégénérescence (par exemple, en haut à droite)

Sujets traités dans cet article

  • SĂ©quences Ă  faible divergence en une dimension
  • MĂ©thodes de faible divergence en deux dimensions
  • Distance d'emballage
  • Ensembles multiclasses Ă  faible Ă©cart
  • SĂ©quences quasi alĂ©atoires Ă  la surface d'une sphĂšre
  • Carrelage plan quasi-pĂ©riodique
  • Masques de tramage en infographie

Il y a quelque temps, ce message a été publié sur la page d'accueil de Hacker News. Vous pouvez y lire sa discussion .

Introduction: aléatoire versus quasi aléatoire


Dans la figure 1, vous pouvez remarquer qu'avec un simple échantillonnage aléatoire uniforme d'un point à l'intérieur d'un carré unitaire, une accumulation de points est observée, ainsi que des zones sans points («bruit blanc»). Une séquence quasi aléatoire à faible divergence est une méthode de construction (infinie) de points consécutifs de maniÚre déterministe, qui réduit la probabilité d'accumulation (divergence), tout en assurant une couverture uniforme de tout l'espace («bruit bleu»).

Séquences quasi-aléatoires en une dimension


Les mĂ©thodes pour crĂ©er des sĂ©quences quasi alĂ©atoires complĂštement dĂ©terminĂ©es avec une faible divergence dans une dimension sont trĂšs bien Ă©tudiĂ©es et rĂ©solues en termes gĂ©nĂ©raux. Dans cet article, je vais principalement considĂ©rer les sĂ©quences ouvertes (infinies), d'abord dans une dimension, puis passer Ă  des dimensions plus Ă©levĂ©es. L'avantage fondamental des sĂ©quences ouvertes (c'est-Ă -dire extensibles en n ) rĂ©side dans le fait que si les erreurs totales basĂ©es sur un nombre fini de membres sont trop grandes, alors la sĂ©quence peut ĂȘtre Ă©tendue sans ignorer tous les points calculĂ©s prĂ©cĂ©dents. Il existe de nombreuses façons de crĂ©er des sĂ©quences ouvertes. Vous pouvez diviser diffĂ©rents types en catĂ©gories par la mĂ©thode de construction de leurs paramĂštres (hyper) de base:

  • fractions irrationnelles: Kronecker, Richtmayer, Ramshaw
  • (mutuellement) nombres premiers: Van der Corpute, Holton, Foret
  • PolynĂŽmes irrĂ©ductibles: Niederreiter
  • PolynĂŽmes primitifs: sable

Par souci de concision, dans cet article, je comparerai principalement le nouvel additif récursif R - une séquence qui appartient à la premiÚre catégorie, c'est-à-dire aux méthodes récursives basées sur des nombres irrationnels (souvent appelés séquences de Kronecker, Weil ou Richtmeier), qui sont des réseaux de rang 1, et une séquence de Holton, qui est basée sur la séquence canonique unidimensionnelle de van der Corpute. La séquence récursive canonique de Kronecker est définie comme suit:

R_1 (\ alpha): \; \; t_n = \ {s_0 + n \ alpha \}, \ quad n = 1,2,3, ...


oĂč  alpha - tout numĂ©ro irrationnel. Notez que l'entrĂ©e \ {x \} dĂ©signe la partie fractionnaire x . Dans les calculs, cette fonction est souvent exprimĂ©e comme

R1( alpha):tn=s0+n alpha( textrmmod1); quadn=1,2,3,...


À s0=0 premiers membres de la sĂ©quence R( phi) Ă©gal Ă :

tn=0,618,0,236,0,854,0,472,0,090,0,708,0,327,0,944,0,562,0,180,798,416,0,034,0,652,0,271,0,888,...


Il est important de noter que le sens s0 n'affecte pas les caractĂ©ristiques gĂ©nĂ©rales de la sĂ©quence, et dans presque tous les cas est Ă©gal Ă  zĂ©ro. Cependant, dans le calcul de l'option s neq0 offre un degrĂ© de libertĂ© supplĂ©mentaire, ce qui est souvent utile. Si s neq0 , alors la sĂ©quence est souvent appelĂ©e «sĂ©quence de rĂ©seau dĂ©calé». MalgrĂ© le fait que par dĂ©faut s=0 Je crois qu'il y a des considĂ©rations thĂ©oriques et pratiques pour lesquelles la valeur devrait ĂȘtre standard s=1/2 . Valeur  alpha donnant le plus petit Ă©cart possible si  alpha=1/ phi oĂč  phi - C'est le nombre d'or. C’est

 phi equiv frac sqrt5+12 simeq1.61803398875...;


Il est intĂ©ressant de noter qu'il existe un nombre infini d'autres valeurs.  alpha , qui nous permettent Ă©galement d'obtenir l'Ă©cart optimal, et ils sont tous liĂ©s les uns aux autres par la transformation Mobius

 alphaâ€Č= fracp alpha+qr alpha+s quad textrmpourtouslesentiersp,q,r,s quad textrmtelque|ps−qr|=1


Nous comparons maintenant cette méthode récursive avec les séquences bien connues de van der Korput avec ordre inverse des décharges [ van der Korput, 1935 ]. Les séquences de Van der Corpute sont en fait une famille de séquences, chacune étant définie par un hyperparamÚtre unique b . Les premiers membres de la séquence avec b = 2 sont égaux:

t[2]n= frac12, frac14, frac34, frac18, frac58, frac38, frac78, frac116, frac916, frac516, frac1316, frac316, frac1116, frac716, frac1516,...


Dans la section suivante, nous comparons les caractéristiques générales et l'efficacité de chacune de ces séquences. Considérez le problÚme du calcul d'une certaine intégrale

A= int10f(x) textrmdx


Nous pouvons l'approcher comme:

A simeqAn= frac1n sumni=1f(xi), quadxi in[0,1]


  • Si \ {x_i \} sont Ă©gaux i/n , c'est la formule des rectangles ;
  • Si \ {x_i \} sĂ©lectionnĂ© au hasard, alors c'est la mĂ©thode de Monte Carlo ; mais
  • Si \ {x_i \} sont des Ă©lĂ©ments d'une sĂ©quence avec une faible divergence, alors c'est la mĂ©thode quasi-Monte Carlo .

Le graphique ci-dessous montre les courbes d'erreur typiques. sn=|A−An| pour approximer une certaine intĂ©grale associĂ©e Ă  cette fonction, f(x)= textrmexp( frac−x22),x dans[0,1] pour: (i) des points quasi-alĂ©atoires de rĂ©cursion additive, oĂč  alpha=1/ phi , (bleu); (ii) des points quasi alĂ©atoires de la sĂ©quence de van der Corput, (orange); (iii) des points choisis au hasard, (vert); (iv) SĂ©quences de sable (rouge).

Cela montre que pour n=106 une solution de points avec Ă©chantillonnage alĂ©atoire conduit Ă  une erreur  simeq10−4 , la sĂ©quence de van der Corput mĂšne Ă  une erreur  simeq10−6 , alors que R( phi) - la sĂ©quence conduit Ă  une erreur  simeq10−7 que dans  sim 10 fois mieux que l'erreur de van der Corput et  sim 1000 fois mieux qu'un Ă©chantillonnage alĂ©atoire (uniforme).


Figure 2. Comparaison de l'intégration numérique unidimensionnelle à l'aide de diverses méthodes Monte Carlo quasi aléatoires. Plus la valeur est basse, mieux c'est. Nouveau R2 - la séquence (bleue) et la séquence de sable (rouge) sont évidemment les meilleures.

Les Ă©lĂ©ments suivants mĂ©ritent d'ĂȘtre mentionnĂ©s ici:

  • cela correspond Ă  la connaissance que les erreurs d'Ă©chantillonnage alĂ©atoire uniforme diminuent asymptotiquement 1/ sqrtn , et l'erreur pour les deux sĂ©quences quasi-alĂ©atoires a tendance Ă  1 $ / n $ .
  • RĂ©sultats pour R1( phi) -les sĂ©quences (bleues) et les sĂ©quences de sable (rouge) sont les meilleures.
  • Le graphique montre que la sĂ©quence van der Corpute fournit de bons rĂ©sultats, mais incroyablement cohĂ©rents pour les tĂąches d'intĂ©gration!
  • On peut voir ici que pour toutes les valeurs n sĂ©quence R1( phi) donne de meilleurs rĂ©sultats que la sĂ©quence de van der Corput.

Nouvelle séquence R1 , qui est la séquence de Kronecker utilisant le nombre d'or, est l'une des meilleures options pour les méthodes d'intégration Monte Carlo quasi-aléatoires unidimensionnelles (Quasirandom Monte Carlo, QMC).

Il convient Ă©galement de noter que, bien que  alpha= phi fournit thĂ©oriquement une option prouvĂ©e optimale,  sqrt2 trĂšs proche de l'optimal, et presque toute autre valeur irrationnelle  alpha fournit des courbes d'erreur supĂ©rieures pour une intĂ©gration unidimensionnelle. C'est pourquoi il est trĂšs souvent utilisĂ©  alpha= sqrtp pour tout nombre premier. De plus, du point de vue des calculs, la valeur alĂ©atoire choisie dans l'intervalle  alpha in[0,1] ce sera presque certainement (dans les limites de la prĂ©cision de la machine) un nombre irrationnel, et est donc un bon choix pour une sĂ©quence avec une faible divergence. Pour la lisibilitĂ© visuelle, la figure ci-dessus ne montre pas les rĂ©sultats de la sĂ©quence Niederreiter, car ils sont pratiquement indiscernables des rĂ©sultats des sĂ©quences Sobol et R . Les sĂ©quences Niederreiter et Sable (ainsi que leur sĂ©lection optimisĂ©e de paramĂštres) qui ont Ă©tĂ© utilisĂ©es dans cet article ont Ă©tĂ© calculĂ©es dans Mathematica en utilisant ce que l'on appelle des "gĂ©nĂ©rateurs propriĂ©taires fermĂ©s et entiĂšrement optimisĂ©s de la bibliothĂšque Intel MKL" dans la documentation.

Séquences quasi-aléatoires en deux dimensions


La plupart des méthodes modernes pour construire une faible variance dans des dimensions plus élevées se combinent simplement (composant par composant) d séquences unidimensionnelles. Par souci de concision, dans ce post, nous considérerons principalement la séquence de Holton [ Holton, 1960 ], la séquence de Sable et d -Séquence de Kronecker dimensionnelle.

La séquence de Holton est construite à l'aide de simples d diverses séquences van der Corpute unidimensionnelles, dont la base est mutuellement simple pour toutes les autres. Autrement dit, ce sont des nombres premiers par paire. Sans aucun doute, l'option la plus courante en raison de sa simplicité et de sa logique évidentes est le choix du premier d nombres premiers. La distribution des 625 premiers points définis par la séquence Holton (2,3) est illustrée à la figure 1. Bien que de nombreuses séquences Holton bidimensionnelles soient d'excellentes sources de séquences à faible divergence, il est bien connu que bon nombre d'entre elles sont trÚs problématiques et ne présentent pas de faible divergence. Par exemple, la figure 3 montre que la séquence de Holton (11,13) génÚre des lignes trÚs visibles. De grands efforts ont été déployés pour développer des méthodes de sélection des modÚles et des paires problématiques. (p1,p2) . Dans des dimensions supérieures, le problÚme devient encore plus compliqué.

Lors de la gĂ©nĂ©ralisation Ă  des dimensions supĂ©rieures, les mĂ©thodes rĂ©cursives de Kronecker rencontrent des difficultĂ©s encore plus grandes. Bien qu'en utilisant  alpha= sqrtp d'excellentes sĂ©quences unidimensionnelles sont créées, il est extrĂȘmement difficile de trouver mĂȘme des paires de nombres premiers pouvant servir de base Ă  un cas bidimensionnel qui ne pose pas de problĂšme! Il a Ă©tĂ© suggĂ©rĂ© d'utiliser d'autres nombres irrationnels bien connus comme solution de contournement, par exemple  phi, pi,e,... . Ils fournissent des rĂ©sultats modĂ©rĂ©ment acceptables, mais ne sont gĂ©nĂ©ralement pas utilisĂ©s, car ils ne sont gĂ©nĂ©ralement pas aussi bons qu'une sĂ©quence Holton correctement sĂ©lectionnĂ©e. De gros efforts sont faits pour rĂ©soudre ces problĂšmes de dĂ©gĂ©nĂ©rescence.

Les solutions proposĂ©es utilisent le saut / gravure, le saut / amincissement. Et pour le codage (brouillage) des sĂ©quences finales, une autre technique est utilisĂ©e, souvent utilisĂ©e pour surmonter ce problĂšme. Le brouillage ne peut pas ĂȘtre utilisĂ© pour crĂ©er une sĂ©quence ouverte (infinie) avec une faible divergence.


Figure 3. La séquence (11,13) -Holton n'est évidemment pas une séquence à faible divergence (à gauche). Ce n'est pas non plus une séquence additive récursive (11,13) (au milieu). Certaines séquences récursives additives bidimensionnelles qui utilisent des nombres irrationnels bien connus sont plutÎt bonnes (à droite).

De mĂȘme, malgrĂ© les rĂ©sultats gĂ©nĂ©ralement meilleurs de la sĂ©quence de Sable, sa complexitĂ© et, plus important encore, la nĂ©cessitĂ© d'une sĂ©lection trĂšs attentive des hyperparamĂštres la rend moins conviviale.

Encore une fois, dans d mesures:

  • les sĂ©quences Kronecker typiques nĂ©cessitent un choix d nombres irrationnels linĂ©airement indĂ©pendants;
  • La sĂ©quence Holton nĂ©cessite d entiers mutuellement premiers par paire; mais
  • La sĂ©quence de sable nĂ©cessite un choix d nombres guides.

Nouvelle séquence Rd - le seul d -séquence quasi aléatoire dimensionnelle avec une faible divergence, ne nécessitant pas un choix de paramÚtres de base.

Généralisation du nombre d'or


tl; dr Dans cette partie, je vais parler de la façon de construire une nouvelle classe d - séquence ouverte (infinie) dimensionnelle à faible divergence, ne nécessitant pas un choix de paramÚtres de base, ayant d'excellentes propriétés de faible divergence.

Il existe de nombreuses façons de gĂ©nĂ©raliser la sĂ©quence de Fibonacci et / ou le nombre d'or. La mĂ©thode proposĂ©e ci-dessous pour gĂ©nĂ©raliser le nombre d'or n'est pas nouvelle [ Krchadinac, 2005 ]. De plus, le polynĂŽme caractĂ©ristique est associĂ© Ă  de nombreuses zones d'algĂšbre, y compris les nombres de Perron et les nombres de Piso-Vijayaraghavan . Cependant, le lien explicite entre cette forme gĂ©nĂ©ralisĂ©e et la construction de sĂ©quences de grande dimension avec une faible divergence est nouveau en elle. Nous dĂ©finissons une vision gĂ©nĂ©ralisĂ©e du nombre d'or  phid comme une racine positive unique xd+1=x+1 . Autrement dit,

Pour d=1 ,  phi1=1.61803398874989484820458683436563... , qui est le nombre d'or canonique.

Pour d=2 ,  phi2=1,32471795724474602596090885447809... . Cette valeur est souvent appelĂ©e constante plastique et possĂšde de belles propriĂ©tĂ©s (voir Ă©galement ici ). On suppose que cette valeur est trĂšs probablement optimale pour le problĂšme bidimensionnel correspondant [ Hensley, 2002 ].

Pour d=3 ,  phi3=1,220744084605759475361685349108831...

Pour d>3 , bien que les racines de cette Ă©quation n'aient pas de forme algĂ©brique fermĂ©e, nous pouvons facilement obtenir une approximation numĂ©rique soit par des mĂ©thodes standard, par exemple, la mĂ©thode de Newton, soit en notant que pour la sĂ©quence suivante Rd( phid) :

t0=t1=...=td=1;


tn+d+1=tn+1+tn, quad textrmforn=1,2,3,..


Cette sĂ©quence particuliĂšre de constantes  phid a Ă©tĂ© nommĂ© en 1928 par l'architecte et moine Hans van de Laan comme " nombres harmoniques ". Ces significations spĂ©ciales peuvent ĂȘtre exprimĂ©es trĂšs Ă©lĂ©gamment comme suit:

 phi1= sqrt1+ sqrt1+ sqrt1+ sqrt1+ sqrt1+...


\ phi_2 = \ sqrt [3] {1+ \ sqrt [3] {1+ \ sqrt [3] {1+ \ sqrt [3] {1+ \ sqrt [3] {1 + ...}}}}}}


\ phi_3 = \ sqrt [4] {1+ \ sqrt [4] {1+ \ sqrt [4] {1+ \ sqrt [4] {1+ \ sqrt [4] {1 + ...}}}}}}


Nous avons également la propriété trÚs élégante suivante:

 phid= limn to infty fractn+1tn


Cette séquence, parfois appelée séquence de Fibonacci généralisée ou différée, a été étudiée en profondeur [ As, 2004 , Wilson, 1993 ], et la séquence de d=2 souvent appelée séquence Padovan [ Stuart, 1996 , OEIS A000931 ], et la séquence d=3 répertorié dans [ OEIS A079398 ]. Comme indiqué ci-dessus, la tùche principale de cet article est de décrire le lien explicite entre cette séquence généralisée et la construction d -séquences dimensionnelles à faible divergence.

RĂ©sultat principal: le non paramĂ©trique suivant d -dimensionnelle sĂ©quence ouverte (infinie) Rd( phid) prĂ©sente d'excellentes caractĂ©ristiques de faible Ă©cart par rapport aux autres mĂ©thodes existantes.

\ mathbf {t} _n = \ {n \ pmb {\ alpha} \}, \ quad n = 1,2,3, ...


 textrmwhere quad pmb alpha=( frac1 phid, frac1 phi2d, frac1 phi3d,... frac1 phidd)


 textrmet phid  textrmestuneracinepositiveuniquexd+1=x+1


Pour deux dimensions, cette sĂ©quence gĂ©nĂ©ralisĂ©e pour n=150 comme le montre la figure 1. Les points sont Ă©videmment rĂ©partis de façon beaucoup plus R2 -sĂ©quences que dans les sĂ©quences (2, 3) -Holton, sĂ©quences de Kronecker basĂ©es sur ( sqrt3, sqrt7) , Niederreiter et Sable. (En raison de la complexitĂ© des sĂ©quences Niederreiter et Sable, elles ont Ă©tĂ© calculĂ©es dans Mathematica Ă  l'aide d'un code propriĂ©taire fourni par Intel.) Ce type de sĂ©quence dans lequel le vecteur de base  pmb alpha est fonction d'une seule valeur matĂ©rielle, souvent appelĂ©e sĂ©quence de Korobov [Korobov, 1959]

Regardez de nouveau la figure 1 pour comparer diverses séquences quasi aléatoires bidimensionnelles à faible divergence.

Code et démos


Dans une dimension, pseudo-code pour n membre ( n = 1,2,3, ....) est défini comme

 g = 1.6180339887498948482 a1 = 1.0/g x[n] = (0.5+a1*n) %1 

En deux dimensions, le pseudo-code des coordonnées x et yn membre ( n = 1,2,3, ....) Sont définis comme

 g = 1.32471795724474602596 a1 = 1.0/g a2 = 1.0/(g*g) x[n] = (0.5+a1*n) %1 y[n] = (0.5+a2*n) %1 

Pseudocode en trois dimensions pour les coordonnées x , y et zn membre ( n = 1,2,3, ....) est défini comme

 g = 1.22074408460575947536 a1 = 1.0/g a2 = 1.0/(g*g) a3 = 1.0/(g*g*g) x[n] = (0.5+a1*n) %1 y[n] = (0.5+a2*n) %1 z[n] = (0.5+a3*n) %1 

ModÚle de code Python. (notez que les tableaux et les boucles Python partent de zéro!)

 import numpy as np # Using the above nested radical formula for g=phi_d # or you could just hard-code it. # phi(1) = 1.61803398874989484820458683436563 # phi(2) = 1.32471795724474602596090885447809 def phi(d): x=2.0000 for i in range(10): x = pow(1+x,1/(d+1)) return x 

 # Number of dimensions. d=2 # number of required points n=50 g = phi(d) alpha = np.zeros(d) for j in range(d): alpha[j] = pow(1/g,j+1) %1 z = np.zeros((n, d)) # This number can be any real number. # Common default setting is typically seed=0 # But seed = 0.5 is generally better. for i in range(n): z[i] = (seed + alpha*(i+1)) %1 print(z) 

J'ai Ă©crit le code de maniĂšre Ă  ce qu'il corresponde Ă  la notation mathĂ©matique utilisĂ©e dans ce post. Cependant, pour des raisons de conventions de programmation et / ou d'efficacitĂ©, certaines modifications mĂ©ritent d'ĂȘtre mentionnĂ©es. PremiĂšrement, depuis R2 est une sĂ©quence rĂ©cursive additive, formulation alternative z qui ne nĂ©cessite pas de multiplication en virgule flottante et maintient une grande prĂ©cision pour les trĂšs grandes n a la forme

 z[i+1] = (z[i]+alpha) %1 

DeuxiĂšmement, dans les langages vectorisables, le code d'une fonction fractionnaire peut ĂȘtre vectorisĂ© comme suit:

 for i in range(n): z[i] = seed + alpha*(i+1) z = z %1 

Enfin, nous pouvons remplacer ces ajouts de nombres à virgule flottante et entiers en multipliant toutes les constantes par 232 , puis en modifiant la fonction frac (.) en conséquence. Voici les démos de code source créées par d'autres personnes sur la base de cette séquence:


Distance minimale d'emballage


Nouveau R2 -sĂ©quence est la seule sĂ©quence quasi alĂ©atoire bidimensionnelle avec une faible divergence dans laquelle la distance de compactage minimale est rĂ©duite uniquement Ă  1/ sqrtn .

Bien que l'analyse technique standard du calcul de l'Ă©cart consiste Ă  Ă©valuer d∗ - divergences, nous mentionnerons d'abord quelques autres mĂ©thodes gĂ©omĂ©triques (et, peut-ĂȘtre, beaucoup plus intuitives!) pour montrer Ă  quel point la nouvelle sĂ©quence est prĂ©fĂ©rable Ă  d'autres mĂ©thodes standard. Si nous dĂ©notons la distance entre les points i et j pour dij et d0= textrminfdij le tableau ci-dessous montre comment il varie d0(n) pour R -sĂ©quences, (2,3) - SĂ©quences Holton, Sable, Niederreiter et sĂ©quences alĂ©atoires. Cela peut ĂȘtre vu dans la figure 6.

Comme dans la figure prĂ©cĂ©dente, la valeur de distance minimale est normalisĂ©e par le coefficient 1/ sqrtn . Vous remarquerez peut-ĂȘtre qu'aprĂšs n=300 des points dans une sĂ©quence alĂ©atoire (vert) apparaissent presque certainement deux points qui sont extrĂȘmement proches l'un de l'autre. On voit Ă©galement que, bien que la sĂ©quence de Holton (2,3) soit bien meilleure que l'Ă©chantillonnage alĂ©atoire, elle diminue malheureusement Ă©galement de façon asymptotique jusqu'Ă  zĂ©ro. Pour la sĂ©quence de sable, la raison de la normalisation diminue Ă  zĂ©ro d0 rĂ©side dans le fait que Sable lui-mĂȘme a montrĂ© que la sĂ©quence de Sable tombe Ă  une vitesse /n - ce qui est bien, mais Ă©videmment bien pire que R2 qui ne diminue que de 1/ sqrtn .

Pour sĂ©quence R( phi2) (bleu) la distance minimale entre deux points tombe constamment dans l'intervalle de 0,549 $ / \ sqrt {n} $ avant 0,868 $ / \ sqrt {n} $ . A noter que le diamĂštre optimal de 0,868 correspond Ă  un facteur de remplissage de 59,2%. Comparez cela avec d'autres emballages de cercles .

Notez Ă©galement que l' Ă©chantillonnage du disque de Bridson Poisson , qui n'est pas extensible Ă  n et est gĂ©nĂ©ralement recommandĂ© par dĂ©faut, il crĂ©e toujours un facteur d'emballage de 49,4%. Il convient de considĂ©rer que le concept d0 lie Ă©troitement les sĂ©quences  phid faible divergence avec des nombres / vecteurs peu d mesures [ Hensley, 2001 ]. Bien que nous en sachions peu sur les nombres mal approchĂ©s en deux dimensions, la construction  phid peut nous fournir un nouveau regard sur des nombres mal approchĂ©s dans des dimensions plus Ă©levĂ©es.


Figure 4. Distance par paire minimale pour diverses sĂ©quences Ă  faible divergence. Notez que R2 - la sĂ©quence (bleue) est toujours la meilleure option; de plus, c'est la seule sĂ©quence dans laquelle la distance normalisĂ©e n'a pas tendance Ă  zĂ©ro Ă  n rightarrow infty . La sĂ©quence de Holton (orange) prend la deuxiĂšme place, et les sĂ©quences de sable (vert) et de Niederreiter (rouge) ne sont pas si bonnes, mais toujours bien mieux que alĂ©atoires (violet). Plus c'est grand, mieux c'est, car cela correspond Ă  une distance d'emballage plus longue.

Diagrammes de Voronoi


Une autre façon de visualiser la distribution uniforme des points est de crĂ©er un diagramme de Voronoi Ă  partir du premier n points d'une sĂ©quence bidimensionnelle avec coloration ultĂ©rieure de chaque zone en fonction de sa zone . La figure ci-dessous montre les nuanciers Voronoi pour (i) R2 -sĂ©quences; (ii) (2,3) sĂ©quences de Holton, (iii) rĂ©cursion principale; et (iv) un Ă©chantillonnage alĂ©atoire simple. Pour toutes les figures, utilisez la mĂȘme Ă©chelle de couleurs. LĂ  encore, il est Ă©vident que R2 La sĂ©quence fournit une distribution beaucoup plus uniforme que la sĂ©quence de Holton ou un simple Ă©chantillonnage alĂ©atoire. L'image est la mĂȘme que ci-dessus, colorĂ©e uniquement en fonction du nombre de sommets dans chaque cellule de Voronoi. Il n'est pas seulement Ă©vident ici que R - la sĂ©quence fournit une distribution plus uniforme que Holton ou un Ă©chantillonnage alĂ©atoire simple, mais le fait que les valeurs clĂ©s sont plus visibles n se composent uniquement d'hexagones! Si nous considĂ©rons la sĂ©quence de Fibonacci gĂ©nĂ©ralisĂ©e, alors A1=A2=A3=1; quadAn+3=An+1+An . C’est An :

$$ afficher $$ \ begin {array} {r} 1 & 1 & 1 & 2 & 2 & 3 & 4 & 5 & 7 \\ 9 & \ textbf {12} & 16 & 21 & 28 & 37 & \ textbf {49} & 65 & 86 \\ 114 & \ textbf {151 } & 200 & 265 & 351 & 465 & \ textbf {616} & 816 & 1081 \\ 1432 & \ textbf {1897} & 2513 & 3329 & 4410 & 5842 & \ textbf {7739} & 10252 & 13581 \\ 17991 & \ textbf {23833} & 31572 & 41824 & 55405 & 7 {97229} & 128801 & 170625 \\ 226030 & \ textbf {299426} & 396655 & 525456 & 696081 & 922111 & \ textbf {1221537} & 1618192 & 2143648 \\ \ end {array} $$ display $$


Toutes les valeurs dans lesquelles n=A9k−2 ou n=A9k+2 se composent uniquement d'hexagones.


Figure 4. Visualisation de la forme des diagrammes de Voronoi en fonction de l'aire de chaque polygone de Voronoi pour (i) R2 -sĂ©quences; (ii) (2,3) - sĂ©quences basĂ©es sur des nombres premiers; (iii) la sĂ©quence (2,3) de Holton, (iv) Niederraiter; (v) Sable; et (iv) un Ă©chantillonnage alĂ©atoire simple. Les couleurs indiquent le nombre de cĂŽtĂ©s de chaque polygone Voronoi. Je le rĂ©pĂšte: il est Ă©vident que R( phi) -sĂ©quence fournit une distribution beaucoup plus uniforme que toute autre sĂ©quence avec une faible divergence.

À certaines valeurs n Grille Voronoi pour R2 -sĂ©quence se compose uniquement d'hexagones.


Figure 5. Visualisation de la forme des diagrammes de Voronoi en fonction du nombre de cĂŽtĂ©s de chaque polygone de Voronoi pour (i) R2 -sĂ©quences; (ii) (2,3) - sĂ©quences basĂ©es sur des nombres premiers; (iii) la sĂ©quence (2,3) de Holton, (iv) Niederraiter; (v) Sable; et (iv) un Ă©chantillonnage alĂ©atoire simple. Les couleurs indiquent le nombre de cĂŽtĂ©s de chaque polygone Voronoi. Je le rĂ©pĂšte: il est Ă©vident que R( phi) -sĂ©quence fournit une distribution beaucoup plus uniforme que toute autre sĂ©quence avec une faible divergence.

Mosaïque quasi-aléatoire de Delaunay pour un avion


R -sĂ©quence est la seule sĂ©quence quasi alĂ©atoire Ă  faible divergence qui peut ĂȘtre utilisĂ©e pour crĂ©er d pavages quasipĂ©riodiques tridimensionnels utilisant son maillage Delaunay.

La triangulation de Delaunay, qui est similaire au comte Voronoi, offre une opportunitĂ© de regarder ces distributions diffĂ©remment. Cependant, plus important encore, la triangulation de Delaunay fournit une nouvelle mĂ©thode pour crĂ©er un pavage quasi-pĂ©riodique (mosaĂŻque) d'un plan. Triangulation de Delaunay R2 -sĂ©quences fournit un modĂšle beaucoup plus uniforme qu'une sĂ©quence de Holton ou un Ă©chantillonnage alĂ©atoire. En particulier, si la triangulation de Delaunay des distributions ponctuelles est effectuĂ©e, oĂč n Ă©gal Ă  l'une des sĂ©quences de Fibonacci gĂ©nĂ©ralisĂ©es: AN=$1,1,1,2,3,4,5,7,9,12,16,21,28,37,... , alors la triangulation de Delaunay se compose de seulement trois triangles identiques, c'est-Ă -dire de parallĂ©logrammes (rhomboĂŻdes)! (Sauf pour les triangles qui ont un sommet commun avec une coque convexe.) De plus,

Aux valeurs n=Ak Triangulation de Delaunay R2 -séquences forme des pavages quasipériodiques, chacun composé de seulement trois triangles de base (rouge, jaune, bleu), qui sont toujours connectés par paires et forment un pavage quasipériodique bien défini (pavage) du plan avec trois parallélogrammes (rhomboïdes).


Figure 6. Visualisation de la triangulation de Delaunay pour (i) R( phi2) -sĂ©quences; (ii) (2,3) sĂ©quences de Holton, (iii) rĂ©cursion principale; et (iv) un Ă©chantillonnage alĂ©atoire simple. Les couleurs indiquent l'aire de chaque triangle. Les quatre graphiques utilisent la mĂȘme Ă©chelle. Et lĂ  encore, il est Ă©vident que R( phi2) -sĂ©quence fournit une distribution beaucoup plus uniforme que toute autre sĂ©quence avec une faible divergence.
Notez que R2 basĂ© sur  phi2=1,32471795724474602596 Ă©tant le plus petit nombre de piso, (un  phi=1,61803... Est le plus grand nombre de pisos). La connexion du carrelage quasi-pĂ©riodique avec des nombres quadratiques et cubiques de Piso n'est pas nouvelle [ Elkharrat et Masakova], mais je crois que pour la premiĂšre fois, le carrelage quasi-pĂ©riodique a Ă©tĂ© créé sur la base de  phi2=1,324719... .

L'animation ci-dessous montre comment le maillage Delaunay pour la séquence R2 changements avec l'ajout progressif de points. Notez que lorsque le nombre de points est égal à un membre de la séquence de Fibonacci généralisée, alors la grille de Delaunay entiÚre n'est constituée que de parallélogrammes (rhomboïdes) rouges, bleus et jaunes, disposés sous une double forme quasi-périodique.


Figure 7

Bien que la disposition des parallĂ©logrammes rouges dĂ©montre une rĂ©gularitĂ© considĂ©rable, on peut clairement voir que les parallĂ©logrammes bleu et jaune sont placĂ©s sous une forme quasi-pĂ©riodique. Le spectre de Fourier de ce rĂ©seau peut ĂȘtre vu sur la figure 11, il reprĂ©sente les spectres ponctuels classiques. (Notez qu'une sĂ©quence rĂ©cursive basĂ©e sur des nombres premiers semble Ă©galement quasi-pĂ©riodique dans le sens oĂč il s'agit d'un motif ordonnĂ© non rĂ©pĂ©titif. Cependant, son motif dans l'intervalle n pas si constant, et dĂ©pend Ă©galement de maniĂšre critique du choix des paramĂštres de base. Par consĂ©quent, nous ne concentrerons notre intĂ©rĂȘt pour les pavages quasipĂ©riodiques que par la sĂ©quence R2 .) Il se compose de seulement trois triangles: rouge, jaune, bleu. Notez que dans cette sĂ©quence R( phi2) tous les parallĂ©logrammes de chaque couleur ont la mĂȘme taille et la mĂȘme forme. Le rapport d'aspect de ces triangles individuels est incroyablement Ă©lĂ©gant. À savoir

 textrmZone(rouge):Zone(jaune):Zone(bleu)=1: phi2: phi22


Il en va de mĂȘme pour la frĂ©quence relative des triangles:

f( textrmred):f( textrmyellow):f( textrmblue)=1: phi2:1


Il en résulte que l'aire relative totale couverte par ces trois triangles dans l'espace est:

f( textrmred):f( textrmyellow):f( textrmblue)=1: phi22: phi22


On peut également supposer que nous pouvons créer ce pavage quasi-périodique par substitution basée sur la séquence A.

A rightarrowB; quadB rightarrowC; quadC rightarrowBA


Pour trois dimensions, si nous considĂ©rons la sĂ©quence de Fibonacci gĂ©nĂ©ralisĂ©e, alors B1=B2=B3=B4=1; quadBn+4=Bn+1+Bn . C’est

B_n = \ {1,1,1,1,2,2,2,3,4,4,5,7,8,9,12,15,17,21,27,32,38,48,59 , 70,86,107,129, ...


À certaines valeurs n=Bk Maillage 3D Delaunay associĂ© Ă  une sĂ©quence R3 , dĂ©finit un rĂ©seau cristallin quasi-pĂ©riodique.

Emballage discrétisé, partie 2


La figure ci-dessous montre le premier n=2500 points pour chaque sĂ©quence bidimensionnelle Ă  faible divergence. De plus, chacune des cellules 50 × 50 = 2500 n'est colorĂ©e en vert que si elle contient exactement 1 point. Autrement dit, plus les carrĂ©s sont verts, plus la distribution de 2500 points dans 2500 cellules est uniforme. Le pourcentage de cellules vertes pour chacun des chiffres est le suivant: R2 (75%), Holton (54%), Kronecker (48%), Niederreiter (54%), Sable (49%) et alĂ©atoire (38%).


Ondes sonores


Juste pour le plaisir, Ă  la demande d' un lecteur de News Hacker, j'ai modĂ©lisĂ© comment toutes ces distributions de points quasi-alĂ©atoires peuvent sonner ! J'ai utilisĂ© la fonction Listplay de Mathematica: " ListPlay [{a1, a2, ...}] crĂ©e un objet qui se reproduit sous forme de son, dont l'amplitude est donnĂ©e comme une sĂ©quence de niveaux." Par consĂ©quent, sans aucun commentaire, je vous laisse dĂ©cider par vous-mĂȘme lesquelles vous prĂ©fĂ©rez parmi les distributions quasi-alĂ©atoires unidimensionnelles (mono) et les distributions quasi-alĂ©atoires bidimensionnelles (stĂ©rĂ©o).

MonoStéréo
Aléatoire
Sable
Niederreiter
Holton
Kronecker
R

Ensembles multiclasses à faible écart


Certaines sĂ©quences Ă  faible divergence dĂ©montrent ce qu'on appelle une «faible divergence multi-classe». Jusqu'Ă  ce moment, nous avons supposĂ© que lorsque nous devons distribuer le plus uniformĂ©ment possible n points, alors tous les points sont les mĂȘmes et ne se distinguent pas les uns des autres. Cependant, dans de nombreuses situations, il existe diffĂ©rents types de points. Nous considĂ©rons le problĂšme de la distribution uniforme n de sorte que non seulement tous les points sont rĂ©partis uniformĂ©ment, mais aussi les points de la mĂȘme classe. En particulier, supposons qu'il existe nk taper des points k , (oĂč n1+n2+n3+...+nk=n ), alors la distribution du multiset avec une distribution faible est une distribution dans laquelle chaque nk points uniformĂ©ment rĂ©partis. Dans notre cas, nous avons constatĂ© que R -La sĂ©quence et la sĂ©quence Holton sont faciles Ă  adapter aux sĂ©quences de multisets Ă  faible divergence, simplement en plaçant alternativement des points de chaque type.

La figure ci-dessous montre comment ils sont distribuĂ©s n=150 les points, tandis que 75 sont bleus, 40 sont poivrĂ©s, 25 sont verts et 10 sont rouges. Pour une sĂ©quence rĂ©cursive additive, cela est rĂ©solu trivialement: les 75 premiers membres correspondent simplement au bleu, les 40 suivants Ă  l'orange, les 25 suivants au vert et les 10 derniers aux points rouges. Cette technique fonctionne presque pour les sĂ©quences Holton et Kronecker, mais fonctionne trĂšs mal dans les sĂ©quences Niederreiter et Sable. De plus, il n'existe aucune technique connue pour la gĂ©nĂ©ration continue de distributions ponctuelles multi-Ă©chelles dans les sĂ©quences de Niederreiter et de Sable. Cela montre que les distributions de points multiclasses , par exemple, comme les yeux des poulets , peuvent maintenant ĂȘtre dĂ©crites et construites directement Ă  l'aide de sĂ©quences Ă  faible divergence.

Séquence R2 Est une séquence quasi aléatoire à faible divergence qui permet de construire facilement une faible divergence à plusieurs classes.


Figure 9. Séquences multi-échelles avec faible divergence. En séquence R non seulement tous les points sont répartis uniformément, mais aussi les points de chaque couleur individuelle.

Points quasi aléatoires sur une sphÚre


Dans les domaines de l'infographie et de la physique, il est souvent nĂ©cessaire de rĂ©partir aussi uniformĂ©ment que possible les points Ă  la surface d'une sphĂšre tridimensionnelle. Lorsque vous utilisez des sĂ©quences quasi-alĂ©atoires ouvertes (infinies), ce problĂšme se rĂ©duit uniquement Ă  placer des points quasi-alĂ©atoires uniformĂ©ment rĂ©partis dans un carrĂ© unitaire Ă  la surface de la sphĂšre en utilisant la projection Ă©gale de Lambert. Transformation de projection standard de Lambert en plaçant un point (u,v) inU[0,1] to(x,y,z) inS2 a la forme:

(x,y,z)=( cos lambda cos phi, cos lambda sin phi, sin lambda)


 textrmoĂč quad cos( lambda− pi/2)=(2u−1); quad phi=2 piv

Depuis  phi2 -la sĂ©quence est complĂštement ouverte, elle vous permet d'aligner une sĂ©quence infinie de points Ă  la surface de la sphĂšre, un point Ă  la fois. Cela contraste avec d'autres mĂ©thodes, comme le rĂ©seau de la spirale de Fibonacci , qui nĂ©cessitent de connaĂźtre Ă  l'avance le nombre de points. En ce qui concerne l'inspection visuelle, nous pouvons Ă  nouveau clairement voir que n=1200 nouveau R( phi2) - La sĂ©quence est beaucoup mieux rĂ©partie que l'Ă©chantillonnage par superposition Holton ou l'Ă©chantillonnage Kronecker, qui, Ă  son tour, est beaucoup plus uniforme que l'Ă©chantillonnage alĂ©atoire.


Figure 10

Infiltration d'infographie


La plupart des techniques de tramage modernes (par exemple, le tramage Floyd-Steinberg) sont basĂ©es sur la distribution des erreurs, ce qui n'est pas trĂšs appropriĂ© pour le traitement parallĂšle et / ou l'optimisation directe dans le GPU. Dans de tels cas, le tramage ponctuel avec des masques de tramage statiques (c'est-Ă -dire complĂštement dĂ©pendants de l'image cible) prĂ©sente d'excellentes caractĂ©ristiques de performance. Les masques de tramage les plus cĂ©lĂšbres et les plus utilisĂ©s sont probablement basĂ©s sur des matrices Bayer , mais les plus rĂ©cents tentent de simuler de plus prĂšs les caractĂ©ristiques du bruit bleu. La difficultĂ© non triviale de crĂ©er des masques de tramage basĂ©s sur des sĂ©quences Ă  faible divergence et / ou bruit bleu est que ces sĂ©quences Ă  faible divergence projettent un entier Z Ă  un point Ă  deux dimensions dans l'intervalle [0,1)2 . Mais pour un masque de tramage, une fonction est requise qui projette les coordonnĂ©es entiĂšres bidimensionnelles du masque tramĂ© en valeur de luminositĂ© / seuil rĂ©elle dans l'intervalle [0,1) . Je suggĂšre l'approche suivante basĂ©e sur R-sĂ©quences. Pour chaque pixel (x, y) du masque, nous attribuons sa valeur de luminositĂ©I(x,y) oĂč:

I(x,y)=α1x+α2y(mod1);


αα=(α1,α2)=(1ϕ2,1ϕ22)


ϕ2  -  x3=x+1


C’est x=1.32471795724474602596
 , ce qui signifie

α1=0.75487766624669276;α2=0.569840290998


De plus, si une fonction d'onde triangulaire est ajoutée pour éliminer la discontinuité causée par la fonction frac (.) Sur chaque frontiÚre entiÚre:

T(z)={2z,if 0≀z<1/22−2z,if1/2≀z<1


I(x,y)=T[α1x+α2y(mod1)];


puis le masque et son diagramme de Fourier / fréquence sont encore améliorés. Nous notons également que depuis

limn→∞AnAn+1=0.754878;limn→∞AnAn+2=0.56984


alors la forme de l'expression ci-dessus est liée à l'équation congruente suivante

Anx+An+1y(modAn+2) for integers x,y


Les masques R tramĂ©s crĂ©ent des rĂ©sultats qui rivalisent avec les mĂ©thodes modernes basĂ©es sur les masques de bruit bleu. Mais contrairement aux masques de bruit bleu, ils n'ont pas besoin d'ĂȘtre calculĂ©s Ă  l'avance, car ils peuvent ĂȘtre calculĂ©s en temps rĂ©el.

Il convient de noter que cette structure a également été proposée par Mittring , mais il trouve les coefficients empiriquement (et ne reproduit pas les valeurs finales). De plus, cela aide à comprendre pourquoi la formule empirique de Jorge Jimenez utilisée pour créer «Call of Duty» (souvent appelé «Interleaved Gradient Noise») fonctionne si bien .

I(x,y)=(FractionalPart[52.9829189∗FractionalPart[0.06711056∗x+0.00583715∗y]]


Cependant, il nĂ©cessite 3 multiplications Ă  virgule flottante et deux opĂ©rateurs% 1, et la formule prĂ©cĂ©dente montre que nous pouvons le faire avec seulement deux multiplications Ă  virgule flottante et une opĂ©ration% 1. Mais plus important encore, cet article fournit une comprĂ©hension mathĂ©matique plus claire de la raison pour laquelle un masque de tramage sous cette forme est si efficace, sinon optimal. Les rĂ©sultats de cette matrice de tramage sont prĂ©sentĂ©s ci-dessous en utilisant l'image de test classique Lena 256 × 256 ainsi qu'un modĂšle de test d'Ă©checs. Il montre Ă©galement les rĂ©sultats de l'utilisation de masques de tramage Bayer standard, ainsi qu'un exemple avec du bruit bleu. Les deux mĂ©thodes de bruit bleu les plus courantes sont l'Ă©chantillonnage Ă  disque vide et Ă  grappes et Poisson. Par souci de concision, je n'ai montrĂ© que les rĂ©sultats de la mĂ©thode Void et cluster. [ Peters]. Le bruit de gradient entrelacĂ© fonctionne mieux que le bruit de Bayer et bleu, mais pas aussi bon queRtramage. Vous pouvez voir que le tramage Bayer montre une dissonance notable de blanc dans les zones gris clair. DitheringR- la sĂ©quence et le bruit bleu sont gĂ©nĂ©ralement comparables, bien que des diffĂ©rences mineures puissent ĂȘtre constatĂ©es. Il convient de noter certains aspects du tramage R:

  • Il n'est pas isotrope! Les spectres de Fourier ne montrent que des points individuels et discrets. Il s'agit d'une caractĂ©ristique classique des pavages quasipĂ©riodiques et des spectres de diffraction des quasi-cristaux. En particulier, les spectres de Fourier pourR Les masques correspondent au fait que la triangulation de Delaunay pour la sĂ©quence R canonique consiste en un pavage quasi-pĂ©riodique de trois parallĂ©logrammes.
  • Le tramage R lorsqu'il est combinĂ© avec une onde triangulaire fournit un masque incroyablement uniforme!
  • R- , .
  • , , R- , .
  • (I(x,y) , .


Figure 11. De gauche à droite: (i) Image originale (ii) Séquence R combinée avec une fonction d'onde triangulaire; (iii) la séquence R est distincte; (iv) un masque de tramage à bruit bleu et (v) un Bayer standard. Les masques de tramage de séquence R sont assez compétitifs par rapport aux autres masques modernes. Notez que R2 montre la meilleure qualité sur le visage et les épaules de Lena. De plus, contrairement aux masques de bruit bleu, le masque R tramé est si simple qu'il ne nécessite pas de calculs préliminaires.

Dimensions supérieures


Semblable Ă  la section prĂ©cĂ©dente, mais pour cinq (5) mesures, le graphique ci-dessous montre la distance minimale (globale) entre deux points R(ϕ5)-sĂ©quences, (2,3,5,7,11) -sĂ©quences de Holton et sĂ©quences alĂ©atoires. Cette fois, la valeur normalisĂ©e de la distance minimale est normalisĂ©e par un facteur1/5√n . Vous pouvez voir qu'en raison de la «malĂ©diction des dimensions», la distribution alĂ©atoire est meilleure que toutes les sĂ©quences Ă  faible divergence - Ă  l'exception de R5 -sĂ©quences. Dans R(ϕ5) -sĂ©quences mĂȘme avec n≃106 points, la distance minimale entre deux points est toujours constamment proche 0.8/√n et toujours plus haut 0.631/√n .

SĂ©quence R2 - le seul d -sĂ©quence dimensionnelle Ă  faible divergence, dans laquelle la distance d'emballage commence Ă  diminuer uniquement avec la vitesse n−1/d .


Figure 12. Cela montre que la séquence R (bleue) est toujours meilleure que Holton (orange); Sable (vert); Niederreiter (rouge); et aléatoire (violet). Gardez à l'esprit que plus c'est grand, mieux c'est, car cela correspond à une distance d'emballage plus longue.

Intégration numérique


Le graphique suivant montre les courbes d'erreur typiques. sn=|A−An| pour approcher une certaine intĂ©grale associĂ©e Ă  une fonction gaussienne demi-largeur σ=√d , f(x)=exp(−x22d),x∈[0,1] , tandis que: (i) Rϕ(bleu); (ii) sĂ©quence Holton (orange); (iii) alĂ©atoire (vert); (iv) Sable (rouge). Le graphique montre que pourn=106il y a maintenant moins de diffĂ©rences entre l'Ă©chantillonnage alĂ©atoire et la sĂ©quence de Holton. Cependant, comme cela a Ă©tĂ© montrĂ© dans le cas unidimensionnel,R- SĂ©quence et Sable sont toujours meilleurs que la sĂ©quence de Holton. Cela nous permet Ă©galement de savoir que la sĂ©quence de Sable est lĂ©gĂšrement meilleure.R -sĂ©quences.


Figure 13. Méthodes quasi aléatoires de Monte Carlo pour l'intégration à 8 dimensions. Plus la valeur est basse, mieux c'est. La nouvelle séquence R et la nouvelle séquence Sable se montrent beaucoup mieux que la séquence Holton.

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


All Articles