We can now experiment with box-counting dimension
using the NetLogo model called
boxcountingdimension.nlogo.
Here you can see that this allows us to
iterate examples of fractals just like we did
in the previous model.
So let's go for 4 iterations of this.
But we can do at this point now is
compare the Hausdorff dimension,
1.262 that we calculated,
with a box-counting approximation.
So I'm going to do Box-Counting Setup here
and you can see there's an initial box length
set to 10, which you can change.
So here's the initial box right down here
and the increment is going to be 1.0.
So we're going to increase the box size
by 1 unit at each iteration.
Ok, so here this tells us
how many boxes there are and so on.
And watch over here as we do box counting
where the model is going to plot
the log of the number of boxes
versus the log of 1 over the box length
for each iteration. So let's just go ahead
and do that with Box-Counting Go.
Now this is just like we saw where we're
putting a grid of boxes over the figure.
You don't see the whole grid.
You're only seeing the boxes that contain pieces of the figure.
And at each time step, see iteration,
we see what the box length is
and the number of boxes that is being counted.
And here those values are being plotted.
And you see they're sort of beginning to
approximate a straight line.
So if we keep going, the boxes get bigger and bigger.
And then we can stop it by clicking again
on Box-Counting Go at any time.
I haven't actually run it for very long,
but I have some points and what I can do is
say Find Best Fit Line.
That does a linear regression
and computes a box-counting dimension here of 1.122,
which is a little bit different than the
Hausdorff dimension of 1.262.
Now that's because, remember
box-counting is just an approximation.
We can get a better approximation
if we start with a smaller initial box length,
or if we start with a smaller increment.
But that, of course, is going to take longer.
So let's start over with our Koch curve.
Iterate, iterate, iterate...ok.
And our approximation would also be improved
if we iterated more.
Box-counting Setup, and Go.
I can speed this up, but it's still kind of a slow calculation.
Net Logo is not known for its extreme speed of computing.
It's kind of a trade-off.
It's easy to program in, but not super fast.
But anyway, now you can run this, go away.
Go get a cup of coffee, like computer scientists like to do
while waiting for their program to finish.
And let it run for many iterations
and then see how well the
box-counting dimension approximates
the Hausdorff dimension.
And you'll see that the next exercise
is to test that out.
Ahora podemos experimentar con la dimensión de conteo de cuadros
usando el modelo de netlogo llamado "boxcountingdimension.nlogo"
Pueden ver que nos permite iterar ejemplos de fractales, como hicimos en el modelo anterior
Vamos por cuatro iteraciones de este.
Lo que podemos hacer en este punto es comparar la dimensión de Hausdorff de 1.262
con una aproximación de conteo de cuadros.
Voy a seleccionar Box Counting Setup y podrán ver que hay una longitud inicial
de cuadros establecida en 10, que cambiar. Aquí está el cuadro inicial
y el incremento será de 1.0, así que incrementaremos el tamaño de
los cuados en 1 unidad por iteración. Aquí esto nos dice cuántos cuadros hay.
Y miren aquí mientras hacemos el conteo de cuadros, donde el modelo va a trazar
el logaritmo del número de cuadros versus el logaritmo de 1 sobre la longitud
de cuadros por cada iteración. Así que haremos eso con el botón de
boxcounting go. Esto es como cuando vimos una malla de cuadros sobre la figura
aquí no se ve toda la malla, sino solo los cuadros que contienen piezas de la figura.
En cada iteración vemos cuál es la extensión de un cuadro y el número
de cuadros que estan siendo contados. Y aquí esos valores están siendo trazados.
Verán que comienza a asemejarse a una línea recta.
Si seguimos los cuadros se hacen cada vez más grandes.
Luego podemos detenerlo seleccionando el boton "boxcounting go"
en cualquier momento. No lo he hecho correr por mucho tiempo
pero tengo algunos puntos y lo que puedo hacer es encontrar la línea que mejor se
ajuste con una regresión lineal y computar la dimensión de conteo de cuadros
de 1.122, que es ligeramente diferente de la dimensión de Hausdorff de 1.262.
Eso es porque el conteo de cuadros es solo una aproximación.
Podríamos obtener una mejor aproximación si partieramos con una longitud de cuadro menor
o si empezaramos con un incremento menor, pero, claro, eso tomaría más tiempo.
Comenzemos con nuestra curva de Koch. Iteramos, iteramos...nuestra aproximación
también mejoraría si iteraramos más. "Boxcounting setup", luego "go".
Esto lo puedo acelear, pero aún es un cálculo algo lento.
Netlogo no es conocido por su extrema velocidad para computar.
Es fácil programar en él pero no es super rápido.
Pueden hacer correr esto y por mientras ir por una taza de café, como suelen hacer
los científicos de la computación, esperando a que sus programas terminen.
Déjenlo correr por muchas iteraciones y luego vean qué tanto se asemeja la
dimensión de conteo de cuadros con la dimensión de Hausdorff.
Verán que para el próximo ejercicio deberán testear eso.
Nous pouvons maintenant expérimenter la dimension "box-counting" en utilisant
le modèle Net Logo boxcountingdimension.nlogo .
Ici vous pouvez voir que nous pouvons
répéter des exemples de fractales comme nous
l'avons fait dans le précédent modèle.
Donc c'est parti pour quatre itérations de ce modèle.
Ce que nous pouvons faire à ce point c'est
comparer la dimension Hausdorff,
1,262 que nous avons calculé précédemment, avec
une approximation "box-counting".
Donc je vais lancer "Box Counting Setup" ici.
Et vous pouvez voir qu'il y a une taille des carrés initiale
initialisée à 10, que vous pouvez modifier.
Donc voici le carré initial en bas ici
et l'incrément est de 1,0 donc nous allons accroître
la taille des carré de une unité à chaque itération. Ok.
Et ceci nous indique combien de carré il y a et ainsi de suite,
et regardez ici alors que nous exécutons le "box-counting",
où le modèle va tracer
le log (nombre de carrés) par rapport
au log (1 / longueur des carrés)
pour chaque itération.
Donc démarrons avec "Box Counting Go"
maintenant c'est ce que nous avons vu lorsque nous avons
appliqué une grille de carrés sur le graphique.
Vous ne voyez pas l'ensemble de la grille, mais seulement les carrés
qui contiennent des parties de la figure.
Et à chaque étape de temps,
regardez les itérations,
on voit la longueur des carrés et le nombre de carrés utilisés
et ici ces valeurs sont tracées.
Et vous voyez que vous commencez à avoir une ligne presque droite
et si nous continuons les carrés s'agrandissent a fur et à mesure.
Et alors nous pouvons stopper le processus en cliquant à nouveau sur "Box counting go" à tout moment.
Je ne l'ai finalement pas exécuté pendant longtemps
mais j'ai quelques points
et ce que je peux faire c'est cliquer sur 'Find a best fit line",
ceci fait une régression linéaire
et calcule une dimension "box-counting" de 1,122
qui est un peu différent de la dimension Hausdorff qui était de 1,262
maintenant c'est parce que le comptage des carrés est seulement une approximation.
Nous pouvons obtenir une meilleure approximation si nous commençons
avec une longueur initiale plus petite pour les côtés des carrés,
ou si nous commençons avec une incrémentation plus petites
mais bien sûr ceci prendra plus de temps.
Donc recommençons avec notre courbe de Koch,
itération, itération, itération, itération, itération,
Ok, maintenant,
notre approximation aurait été améliorée si nous avions fait plus d'itérations,
clic sur "Box counting setup" et "... Go",
je peux augmenter la vitesse
mais ceci reste un calcul relativement lent, comme vous pouvez le voir.
NetLogo n'est pas connu pour son
extrême rapidité de traitement,
c'est une sorte de compromis, facile à programmer
mais pas super rapide.
Mais de toute façon maintenant vous pouvez le lancer,
et aller prendre une tasse de café,
comme les informaticiens aiment à le faire
en attendant que leurs programmes se terminent.
Laissons le faire plein d'itération et alors voyons
comment la dimension "box-counting" se rapproche de la dimension Hausdorff.
Et vous verrez dans prochain exercice comment le tester.
Agora podemos fazer experimentos com o método da contagem de caixas
usando o modelo Netlogo chamado BoxCountingDimension.nlogo.
Você pode ver que ele nos permite iterar exemplos de fractais
de modo semelhante ao que fizemos com o modelo anterior.
Aqui estamos fazendo 4 iterações desse fractal, o que faremos agora
é comparar a dimensão de Hausdorff, 1,262 que nós calculamos antes
com uma aproximação obtida através da contagem de caixas.
Eu vou clicar em "Box Counting: Setup", e você pode ver que existe um comprimento inicial da caixa
que está configurado como 10, o qual você pode mudar.
Aqui está a caixa inicial desenhada bem aqui e
o incremento será 1,0, assim nós aumentaremos o comprimento da caixa em 1 unidade
a cada iteração, ok? Aqui nós vemos quantas caixas existem e coisas do tipo.
Fique de olho aqui enquanto ocorre a contagem de caixas,
aqui o modelo vai traçar o gráfico do logaritmo do número de caixas
sobre o log (1 / comprimento da caixa) para cada iteração.
Então vamos em frente, clicando em "Box Counting: Go".
Isso é semelhante ao que vimos quando colocamos
uma grade de caixas sobre a figura, nós não vemos toda a grade, apenas as caixas que contêm partes da figura
e a cada passo,
aqui vemos as iterações,
nós vemos o comprimento da caixa e a quantidade de caixas utilizadas,
e aqui esse valores são plotados no gráfico
nós vemos que eles estão começando a se aproximar de uma linha reta.
Nós continuamos, as caixas se tornam cada vez maiores,
e podemos parar clicando novamente em "Box Counting: Go" a qualquer momento
Eu não deixe executar por muito tempo mas eu tenho alguns pontos,
o que eu posso fazer é clicar em "Find Best-Fit Line" isso faz uma regressão linear
e calcula a dimensão por contagem de caixas, aqui temos 1,122
que é um tanto diferente do valor obtido na dimensão de Hausdorff que foi 1,262
isto se dá porque, lembre-se, a contagem de caixas é apenas uma aproximação.
Podemos obter uma aproximação melhor se começarmos com comprimentos de caixas menores
ou se usarmos um menor valor de incremento, mas isso, é claro, leva mais tempo.
Vamos repetir os passos com a curva de Koch, iterar, iterar, iterar, iterar, iterar, ok?
E agora a aproximação será melhorada aumentando o número de iterações.
"Box Counting: Setup" e depois "Go" e posso acelerar um pouco mais
ainda é um cálculo um tanto lento.
Netlogo não é famoso pela sua grande velocidade computacional,
é um trade off, é fácil de programar mas não é super rápido.
De qualquer forma agora você pode deixar a simulação rodando, ir tomar um pouco de café
como os cientistas da computação gostam de fazer enquanto esperam seus programas terminarem.
E deixe-o rodar por muitas iterações e veja o quão bem a dimensão por contagem de caixas
se aproxima da dimensão de Hausdorff e você verá que o próximo exercício é averiguar isso.
Putem experimenta dimensiunea numararii cutiilor
folosing modelul NetLogo denumit boxcountingdimension.nlogo
Aici puteti vedea ca acesta ne permite sa iteram exemple de fractali
cum am facut si cu modelul anterior.
Asa ca haideti sa facem 4 iteratii de aici
Dar ce putem face acum este sa comparam dimensiunea Hausdorff
care este 1.262 pe care am calculat-o
cu o aproximare prin metoda cutiilor.
Deci o sa apas pe Box-Counting Setup de aici
Si este o valoare initiala pentru lungimea cutiilor setata la 10
pe care o puteti schimba.
Cutia initiala este aici.
Si incrementul este 1.0, deci vom mari cutia cu 1 unitate
pentru fiecare iteratie.
Si asta ne spune cate cutii avem acum si asa mai departe.
Si uitati-va aici pe masura ce numaram cutiile
unde modelul va fi transpus pe grafic.
log din numarul cutiilor si log din 1 supra marimea cutiei,
pentru fiecare iteratie.
Deci haideti sa facem asta, apasand pe Box-Counting Go.
Asta este ceea ce am vedea daca am pune o grila peste model.
Nu puteti vedea toata reteaua, ci doar cutiile care contin parti din figura.
Si la fiecare pas, iteratie,
vedem marimea unei cutii si numarul de cutii.
Si aici valorile respective sunt reprezentate pe grafic.
Dupa cum vedeti incepe sa arate ca o dreapta.
Continuand, cutiile devin din ce in ce mai mari.
Si ne putem opri apasand pe Box-Counting Go in orice moment.
Nu l-am lasat sa mearga pentru mult timp.
Dar am niste puncte pentru care apas pe Find Best Fit Line,
Care imi face o regresie liniara
Si imi computerizeaza o dimensiune prin numararea cutiilor de 1.122
Care este un pic diferita de dimensiunea Hausdorff de 1.262.
Asta este pentru ca, dupa cum va amintiti, metoda numararii cutiilor
este doar o aproximare.
Putem obtine o aproximare mai buna
daca incepem cu o lungime a cutiilor mai mica,
sau daca pornim cu un increment mai mic.
Dar asta, desigur, ne va lua mai mult timp
Asa ca haideti sa incepem din nou cu curba lui Koch.
Iteram, iteram, iteram iteram, iteram. Ok
Aproximarea noastra va fi mai buna si daca iteram de mai multe ori.
Box-Counting-Setup si apoi Go
Si desi marim viteza
Dureaza mult timp sa se numere cutiile.
NetLogo nu este cunoscut pentru viteza uimitoare de computerizare.
Este un fel de compromis.
Este usor de programat in el, dar nu foarte rapid.
Oricum, puteti sa porniti asta si sa plecati,
sa beti o ceasca de cafea,
asa cum le place programatorilor sa faca
in timp ce asteapta ca programul lor sa se termine.
Si lasa-ti-l sa faca mai multe iteratii,
ca sa vedeti cat de bine aproximeaza
metoda numararii cutiilor metoda Hausdorff
Si veti vedea ca urmatorul exercitiu este
sa testati asta.
Теперь мы можем экспериментировать с box-counting размерностью
используя NetLogo модель называемую
boxcountingdimension.nlogo.
вы можете увидеть, что она позволяет нам
итерировать примеры фракталов такие как мы делали
в прошлой модели.
Т.о. пройдем 4 итерации.
Но мы можем нарисовать точки для
сравнения размерности Хаусдорфа,
1.262 которую мы подсчитали,
с box-counting приближением.
Так что я собираюсь настроить Box-Counting
и вы можете видеть что существует начальная длина клетки
установленная на 10, которую вы можете изменить.
Так вот начальное окно прямо здесь
и приращение будет 1,0.
Итак, мы собираемся увеличить размер клетки.
на 1 на каждой итерации.
Хорошо, так вот это говорит нам
сколько клеток существует и так далее.
И увидеть здесь, как мы делаем разметку окна
в котором модель собирается строить график
логарифма числа клеток
против логарифма 1 на длину клетки
для каждой итерации.
и продолжаем подсчет.
Сей час мы увидели где мы
накладываем решетку поверх изображения.
Вы не видите всю сетку.
Вы видите только те поля, которые содержат кусочки рисунка.
И на каждом шаге по времени, видите итерации,
мы видим, что длина сетки
и количество сеток, которые подсчитываются.
И вот эти значения строятся.
И вы видите как они начинают
приближаться к прямой линии.
Так что, если мы продолжаем, клетки получаются больше и больше.
И тогда мы можем остановить его, нажав снова
продолжая Box-Counting Go в любое время.
Я на самом деле не запускаю ее очень на долго,
но у меня есть некоторые моменты, и то, что я могу сделать, это
скажем найти наиболее подходящую линию.
Это создает линейную регрессию
и подсчитывает размерность box-counting где 1.122,
которое немного отличается от
размерности Хаусдорфа 1.262.
Теперь это потому, что, вспомните,
box-counting это просто приближение.
Мы можем получить лучшее приближение
если мы начнем с меньшей исходной длины клетки,
или, если мы начнем с меньшим приростом.
Но это, конечно, будет длиться дольше.
Итак, давайте начнем с нашей кривой Коха.
Итерация, итерация, итерация... хорошо.
И наше приближение также улучшается
если итерировать дольше.
Настроем Box-counting и начинаем.
Я могу ускорить этот процесс, но это все еще медленный расчет
Net Logo не известен своей крайней скоростью вычислений.
Это своего рода компромисс.
Это легко программировать, но не очень быстро.
Но в любом случае, теперь вы можете запустить.
Примите чашку кофе, как компьютерные ученые делали
в ожидании окончания работы их программы.
И пусть это работает в течение многих итераций
а затем посмотреть, насколько хорошо
box-counting размерность приближается
к размерности Хаусдорфа.
И вы увидите, что следующему упражнению
чтобы проверить это.