Tenim una botiga (o una exposició) que té 16 zones diferents disposades en 4 files de 4, com veiem al primer dibuix de la imatge d’aquí al costat. Hi ha alguna forma de posar les parets o separacions de manera que la gent que entra per una banda hagi de passar per totes i cada una de les estances abans de sortir?
La resposta, que segurament haureu vist (o sofert) a algunes botigues, és el recorregut de Hilbert d’ordre 2, que teniu just al costat. Només cal deixar pas en el sentit d’aquest recorregut i barrar-lo en totes les demés direccions, de manera que cada una de les zones quadrades tinguin dos costats que permetin el pas i dos parets que l’impedeixin. Els visitants, abans de poder sortir, hauran de passar per tots els racons de l’espai d’exposició.
I si volem fragmentar més l’espai? En aquest cas podeu pensar en subdividir cada una de les 16 zones en 4, de manera que tingueu una quadricula de 64 (vuit per vuit) zones. Per a crear un recorregut que passi per tots i cada un d’aquests 64 espais, només cal fer una cosa: per a cada un dels 16 espais del cas anterior que tenim dalt a la dreta a la imatge, mantindrem els seus “portals” d’entrada i sortida, però obligarem que la gent hagi de recórrer cada una de les seves 4 sub-zones. Veiem-ho en els dos primers quadrats de la disposició de 4 per 4. En el d’entrada, els visitants entraven per l’esquerra i sortien per la dreta; en el segon, entraven per l’esquerra i sortien per sota, segons veiem al recorregut de Hilbert de dalt a la dreta de la imatge. Ara, per generar el recorregut de Hilbert d’ordre 3 que passarà per 64 espais (recorregut que podeu veure a la imatge, sota i a l’esquerra), només hem de posar separacions que obliguin a fer un recorregut en “U” al primer quadrat i un altre en sentit Nord-Oest -> Nord-Est -> Sud-Est -> Sud-Oest al segon. Si aneu fent el mateix per tots els quadrats de dalt de la imatge, generareu fàcilment aquesta corba de Hilbert d’ordre 3.
Però això no acaba aquí, perquè podem repetir el procès. Subdividim cada una de les 64 zones en 4 sub-quadrats, i per cada un dels 64 quadrats mantenim els seus “portals” d’entrada i sortida, obliguem que els visitants hagin de recórrer cada una de les seves 4 sub-zones. El resultat és el recorregut de baix a la dreta de la imatge (corba de Hilbert d’ordre 4), que passa sistemàticament una sola vegada per tots i cada un dels 256 quadrats d’una retícula de 16 per 16 quadrats. Evidentment, la corba de Hilbert d’ordre 5 passa per tots els 1024 quadradets de 32 per 32, i la d’ordre 6 recorre (quasi res) 4096 petites zones quadrades. Si algun dia heu de muntar una exposició amb 4096 obres i voleu assegurar-vos que tothom passarà (mirant o no) per totes elles, ja sabeu la solució: podeu estructurar l’espai en base a una corba de Hilbert d’ordre 6. No és clar que garantiu la satisfacció de la gent, però el que és clar és que els haureu forçat a fer el que voleu. Podeu veure els 6 primers nivells de la corba de Hilbert plana en aquesta imatge gif animada (que també podeu trobar a la web que explica la corba de Hilbert). La de nivell 6 és realment recargolada, oi?
David Hilbert, el gran matemàtic, va estudiar i proposar aquesta corba l’any 1891, als 29 anys, un any després que Giuseppe Peano estudiés les corbes que porten el seu nom. Una de les seves propietats és que el procés de creació d’aquesta corba de Hilbert no acaba mai. Si tenim temps i paciència, podem dibuixar una corba de Hilbert d’ordre 7 que passarà per tots els 16384 quadradets d’una retícula de 128 per 128, o una d’ordre 10 que recorrerà més d’un milió de petits espais. Les corbes d’ordre 11 o 12 saben recórrer tots i cada un dels píxels de les imatges que captura una bona càmera digital, sense passar dues vegades pel mateix píxel. I podríem continuar més i més, subdividint cada vegada en 4 les regions quadrades del pas anterior (vegeu la nota al final). D’altra banda, la imatge de dalt ens mostra que, a cada pas, la corba és el doble de llarga que en el pas anterior. Si l’espai que tenim és sempre el mateix i només anem subdividint les seves cel·les, i si la longitud de la nostra corba de Hilbert d’ordre 2 és, per exemple, de 40 metres (la qual cosa correspon a un espai inicial de 10 per 10 metres), la d’ordre 3 serà de 80 metres, la d’ordre 4 tindrà 160 metres, la d’ordre 6 serà de 640 metres i, si arribéssim a la corba d’ordre 10, els visitants de la nostra exposició haurien de caminar 10 quilòmetres per sortir d’aquest espai diabòlic de 10 per 10 metres que els hem preparat. La conclusió és clara i evident: si no ens aturem i continuem refinant la corba de Hilbert, acabarà tenint una longitud infinita i omplint tot el quadrat inicial com un fil ben recargolat. És una corba que ho omple tot i que mai s’acaba. Per això, tot veient que omple tot un quadrat del pla, diem que té dimensió fractal 2.
Una altre aspecte interessant de les corbes de Hilbert és que el mateix que hem fet en 2d es pot fer en 3d (en aquest vídeo podeu veure l’aspecte que té la corba de Hilbert 3D d’ordre 3, que passa pels 512 cubicles d’una retícula a l’espai). És una corba que també té longitud infinita amb dimensió fractal 3, de manera que acaba omplint tot l’espai inicial. Pot ser “útil” per a qui vulgui muntar una exposició sota l’aigua per visitants submarinistes.
Si, en una cartolina, pinteu una retícula de 8 per 8 quadrats i els aneu numerant de l’1 al 64 segons l’ordre del recorregut de la corba de Hilbert d’ordre 3, podeu fer un joc matemàtic d’estiu per als vostres nens. Els jugadors, per torns i amb un retolador, han d’anar pintant les separacions “prohibides” entre quadradets veïns, que són tots aquells costats de la retícula que separen quadrats amb números no consecutius. Cada un d’ells, abans de pintar-lo, explica quin vol pintar. Si intenta pintar un costat incorrecte (que separa números correlatius), un altre jugador (o vosaltres) avisa i guanya un punt. Al final, la retícula de la cartolina mostrarà el recorregut que ens fan seguir en una de les botigues que comentava al principi. Una altra cosa que podeu fer, al final, és veure qui troba la “millor drecera”, que és el costat ja pintat com a paret que separa dues caselles amb números el més diferents possibles. També podeu cercar altres dreceres no tan òptimes, i anar-les repintant d’un altre color.
La corba de Hilbert em fa pensar en Spinoza i en la seva “Ética demostrada segons l’ordre geomètric”, perquè és tot un exercici sobre els límits, el finit i l’infinit. En un quadrat ben finit i limitat, Hilbert ens hi construeix una corba que l’omple i que té longitud infinita. Ara bé, això té un petit problema: per a que tingui longitud infinita, hem de generar-la amb un “total” d’infinits passos, cosa que implica un temps de construció infinit. Com que som finits i limitats, ens haurem d’aturar, i la corba final tindrà una longitud mesurable. La corba de Hilbert no s’acabi mai, però no és del món real. Tot allò que forma la realitat (les corbes, els objectes, els recursos, el creixement, el poder, nosaltres mateixos) és limitat. L’infinit és una construcció mental, que podem imaginar gràcies al poder del raonament per recursió. Hem de ser ben conscients d’allò que és realista i del que són mites utòpics.
———
Per cert, en Vicent Martínez Guzmán, filòsof de la pau i traspassat fa pocs dies, deia això: “nosaltres els pacifistes som els realistes, els utòpics són els que volen aconseguir la pau mitjançant la violència”.
———
NOTA: La corba de Hilbert es pot explicar amb un algorisme recursiu de substitució que és ben curt i senzill. Tot l’algorisme consisteix en aquestes quatre regles de substitució, que anomenarem A, B, Af i Bf:
A -> e B C d A C A d C B e
B -> d A C e B C B e C A d
Af -> e C d C d C e
Bf -> d C e C e C d
Coneixeu els gràfics de la tortuga? Tenim una tortuga-robot que porta un retolador enganxat a la closca que marca, al terra, tot el camí que va fent. La tortuga només pot fer tres coses. Aturada, pot girar a l’esquerra (“e”) o a la dreta (“d”). Quan ja ha girat, pot caminar un petit trosset (“C”) en la direcció que es troba, trosset que sempre és de la mateixa longitud L. Els girs a l’esquerra (en contra de les agulles del rellotge) i a la dreta (en el sentit de les agulles del rellotge), són sempre de 90 graus. Per exemple, la regla Af diu que cal girar a l’esquerra, avançar L, girar a la dreta, avançar L, tornar a girar a la dreta, avançar L, i finalment girar a l’esquerra. És una regla, semblant a la Bf, que fa un recorregut en forma de “U” mentre es passeja pels 4 quadradets d’una retícula de 2 per 2.
Les regles A i B, que són les essencials de l’algorisme de Hilbert, indiquen que a cada pas de substitució, hem de substituir la lletra “A” o la “B” per tot el que hi ha a la dreta. Hi ha dues possibilitats. La primera, és només usar les regles “A” i “B”, començant per exemple per la “A” i substituint una i altra vegada les “A” i “B” de la dreta per les seves corresponents extensions. El procés és una recursió infinita, que ens portaria, si poguéssim acabar, a la corba teòrica de Hilbert. La segona, és començar per “A”, substituir N vegades per les expressions de la dreta de les regles “A” i “B”, i en acabar, usar les substitucions indicades per les regles “Af” i “Bf”, que ja no inclouen signes “A” i “B” i per tant aturen el procés. Si feu això darrer podreu acabar i fer que la tortuga dibuixi una corba, però només serà una aproximació a la corba de Hilbert…
Hola Pere:
Tinc una proposta de botiguer ingenu al recorregur de Hilbert.
Si els recintes son
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
El recorregut
1-5-9-13-14-10-6-2-3-7-11-15-16-12-8-4
Tambe obliga a recorrer tots els 16 recintes.
Te algun inconvenient sobre el recorregut de Hilbert ?
Gracies
Joan Vinyes
És cert. El que passa és que aquesta que proposes té trams rectes més llargs. I això, si pensem en una botiga o exposició, pot fer que la gent s’aturi menys. De fet, Ikea i Tiger usen una estructura de corba de Hilbert…