Friday 22 December 2017

Belnesten

Link naar dit blog:
allergrootste.blogspot.nl/2017/12/belnesten.html
edit jan.2019.

§2.6 Belnesten · vlak

Hoe dieper de arrays of rijen in een systeem genest zijn, hoe groter de ge­tallen die ermee ge­schreven kunnen worden.
Elke iterator of iter in de top array bevindt zich op het 1e niveau. Die begint met de eerste rij, waar elke sepa­rator of sep een enkel­voudige index heeft, zie §2.5. Steeds als we een iter in Bellen­blazer af­tellen, laden we een grotere bel b op naar de iter die ervoor komt.

Om hogere iteraties in de top array te kunnen noteren, breiden we de sep index uit tot een rij op het 2e niveau. Deze sep array krijgt zelf ook weer hogere indexen, genest op het 3e niveau.
Indexen op elk array niveau kunnen tot rijen ver­lengd worden. Iters en hun indexen tellen we af tot 0 en dan ruimen we een blazer element tijde­lijk weg. Aan de uit­einden van arrays komt een getal, geen sep.

Arrays zijn lexi­caal begrensd: ieder opener haakje [ links heeft een eigen sluiter haakje ] rechts, zie box 1.0. Om bij het begin van een geneste array het einde te vinden is in com­plexe ex­pressies verre van triviaal. Tijdens een scan moeten we het nest niveau op en af­tellen tot we weer een haakje van het ori­ginele niveau tegen­komen.
Ook onder­scheiden we Bird's dimen­sionale ruimtes, zie box 2.4. Wat vereist dat we gelijke arrays her­kennen, omdat we de ruimte er­tussen in blazers niet apart merken.

Bellen­blazer is qua array structuur een tellerij. In de evaluatie van een tellerij komt elke iter op een positie met een eigen index te staan.
Wát de huidige array is en wàt de index array, is relatief en ligt aan de match die de regel maakt. Bij verschillende soorten geneste arrays, de een in de ander, kunnen we het niveau van haakjes wel­licht expliciet aan­geven, zoals posities in blazers altijd hun eigen index krijgen.

We breiden nu de regels voor de eerste rij B.I uit en her­laden de eerste index. Als die index leeg komt, hebben we sub­totaal b zojuist ver­plaatst naar de iter rechts buiten de index array. Het sub­stituut getal zal dus van die iter moeten komen, niet van de nieuwe bel a, omdat de functie anders stokt…i Echt grotere getallen zouden dan niet snel van de grond komen.

De eerste index geeft de iter positie aan in de meest rechtse rij. De tweede index telt de rijen af in de twee-dimensionale ruimte. Binnen een matrix geeft die index het aantal rijen in het rechtse vlak.
De hele index rij beslaat de multi-dimensionale ruimte of matrix. In de eerste sub­index ,[d]p op het derde niveau lezen we het getal van de dimensie. Index p is het aantal dim d ruimtes, dat onder­deel is van de meest rechtse dim d1 ruimte.

De twee-dimensionale ruimte begint dus na de sub­index ,[1] die we hier af zullen korten tot , enkele komma.
We werken recursies over de twee indexen van het array vlak onder uit. De regels zijn: sep­arator elim­inatie (sep elim), bel en begin index intro­ductie (bel intro) en element intro­ductie (elem intro).

Definitie Bellen­blazer B.II specifiek voor het array vlak.

  • B.0. B.1.
  • B.2. ,[S]00
  • B.3a. [,[1S]1Z]a = [a,[1S]Z]a
  • B.3b. ,[,1n]b ,[b,n]a
  • B.4a. [b,[1n]1Z]a {n>0} = [,[n]b,[1n]Z]a
  • B.4b. [b,[1,n]1Z]a {n>0} = [,[,n]b,[1,n]Z]a

De aas a staat steeds rechts van de top array. Hier is variabele b>0 en constante a>1, maar door­gaans is bel b>a veel groter.
Equi­valentie werkt overal in de expressie, met voor­rang op andere regels. Voor­alsnog kan na elke eva­luatie een­duidig worden bepaald, welke regel daarna komt.

Bij het overladen van de bel had anders een kopie gebruikt kunnen worden, terwijl de origi­nele b in de array er­boven of in de basis al zou blijven staan. Maar we vinden het mooi als grote bellen b stap voor stap groeien, zolang het kan. Daarom ver­vangt regel B.3b. hier de zojuist opge­laden iter b door aas a.
Regel B.4b. telt de eerste index in ,[1,1n] af en ver­schuift een bel naar ,[,1n]b de nieuwe iter. Daarna kan regel B.3b. de oude bel inladen ,[b,n]a in de index array. Dan pas laadt B.3a. de nieuwe basis bel a, om ver­volgens in tandem met regel B.4a. de array van rechts naar links met een nieuwe rij elementen ,[i,n]a op te vullen.

# Googologie 2.6

De array functies van Bowers & Bird (B&B) rollen series van gelijke separa­toren uit. Dit schept een ruimtelijke structuur, waar de­zelfde index arrays in verschil­lende posities kunnen staan.
Zowel 1.) de B&B snellere start, als 2.) de B&B arrays met herhaalde indexen, zijn over­bodig voor het maken van grote getallen, zodra we de nest diepte direkt opblazen.

Het 1e) bleek uit ons Btrix systeem, dat langzaam op gang komt, maar net als B&B sub­arrays her­haalt. Met het begin trio drukt Btrix dubbele recursie uit, net als de eerste rij in Bellen­blazer. Met de index voor dimensies benadert Btrixj de lineaire array van B&B. Ondanks de voor­sprong van B&B lopen zij met hun geneste arrays niet verder uit op Btrix, qua niveau.k
Ten 2e), door herhaling van seps ver­dubbelt bij B&B per genest array niveau de ex­pressieve kracht, ten op­zichte van onze bel­nesten die elke sep apart indexeren. We geven hier twee argu­menten voor:

2a.) Uit de eerdere vergelijking in box 2.4 bleek, dat een structuur met unieke seps met index [n] op het 3e array niveau, dezelfde ge­tallen maakt als her­haalde seps met index [n1] op het 2e niveau.
Aas­blazer is een super radix, waar elke array apart reduceer­baar is en dus blijft de gevonden pro­portie op ieder niveau van kracht. Maar omdat het puur om de data capa­citeit van struc­turen gaat, ver­wachten we dat ook in Bellen­blazer de unieke index arrays dubbel genest zijn ten opzichte van de her­halende, bij even grote uitkomsten.

2b.) Beide geneste structuren hebben we al eens afgelopen met onze Alexal super radix. Toen bleek de structuur van unieke indexen op genest niveau :kk: en :kk1: gelijk aan herhaalde indexen op :k: niveau. We werkten de vloei­bare arrays van Alexa uit tot tetratie. En net als bij Aas­blazer kwam per nest een expo­nent op de machts­toren.
Ook zochten we een natuurlijk algoritme, om de unieke index struc­tuur opnieuw te laden met sub­totalen. De eerste poging was Blixam die bel b ver­laadde en verving door aas a. De tweede opzet heette half geneste arraysn en daar hielden we bel b en stuurden een kopie.

Chris Bird herhaalt14 elke separator, zodat zijn array niveau's twee keer zo­veel indexen bevatten dan bij unieke seps. Maar halvering van nest­diepte stelt weinig voor, verge­leken bij de bel op/inlaad recursie, in de wed­loop tussen Bellen­blazer en Bird's arrays. Door hierna de diepte op te blazen met de bel valt die factor 2 ver­schil in het niet.

Hier ontwikkelen we Bellen­blazer over de tweede dimensie, met rijen in het array vlak. Net zo lang als er verge­lijkbare expressies zijn in het systeem voor grote getallen van de wis­kundige John H. Conway.
Conway's pijlketen15 [Conway's chained arrows] is een recur­sieve functie, die getallen ver voorbij de Ackermann functie noteert.
Conway bedacht zijn pijl­keten als vervolg op Knuth's pijlen ofwel ^ super­machten. Zijn enkele pijlen spelen dezelfde rol als komma's in een array functie.

Vanaf super­machten a{c}b = abc bouwt Conway verder aan zijn hyper­macht functie, waar met elke vol­gende pijl z een dubbele re­cursie (over de hele ex­pressie) wordt genest in y.
Conway lost zijn keten van de rechter zijde op, zonder de voor­laatste para­meter y=1 opnieuw te laden. De laatste para­meter 1 0 of de laatste twee 1z 0 vallen weg, zodra z of y zijn afge­teld.

Stapsgewijze definitie C.I van Conway's pijlen.

  • ab = ab
  • X1z = X
  • X1 = X
  • Xy1z1 = X(Xyz1)z == X(..X..)z :y:

Een getal herhalen a.. is vermenigvuldigen, primi­tieve recursie. Die operatie herhalen geeft een macht. En zo, door operaties meerdere keren te herhalen .. krijgen we supermachten: dubbele recursie.
Bij herhaling zet z in y nu een dubbele recursie in over de hele keten, tot de binnenste y is afge­teld. Over de hele lengte van de pijl­keten vormt dit de volgende hogere functie, een tripel recursie.

Voorbij supermachten liggen de gebieden van de hyper­machten en de snel groeiende hier­archie. Dit zijn vage historische aan­duidingen voor functies, waar Conway's pijl­functie con­crete grenzen heeft.
We zullen het begrip hyper invullen zoals Bird16. In het verlengde van zijn ene multi-dimensionale index drukt hij de hyper-dimensies uit met een rij indexen. Zo volgt bij Conway na de super­machten c een rij para­meters, die elk dezelfde re­cursie toe­passen op de hele expressie. Conway's pijl­keten is dus de hyper­macht functie bij uitstek.

Graham's getal uit §2.2 wordt met [6,[1,1]64]3 bena­derd ≈> via het nesten van super­sterren in het derde item. Want de dominante super­macht 3*{6}2 = 3↑↑↑↑3 vormt de top van een toren van 63 dubbele recursies.
Ook is [6,[1,1]64]2 mini­maal kleiner <≈ dan Graham's getal. En met a=4 is die ex­pressie al veel > groter. Maar meestal nemen we het niet zo aas nauw met onze mini­maal groter ≈> bena­deringen.

De vergelijkingen beginnen met dubbele recursie, het trio in Conway's pijl­keten. We refereren naar de eerste rij formule van Bellen­blazer.

  • [b,[1,[1]1]1]a := [,[,1]b]a = [,[b]a]a = a*{b}a = aab- = a2b
  • [,[2]b,[1,1]1]a := a**b,[1,1]1 = a*{a^b}a ≈ ab22 {ab}
  • [b,[1,1]1c]a = [,[,1]b,[1,1]c]a := a*{b}a,[1,1]c = a*{a*{b}a}a,[1,1]c- = a*{..a*{b}a..}a :c: ≈> ab(..ab..) :c: = abc12
  • [1b,[2,1]1c]a := a,[1,1]b,[2,1]c = a*{..a..}a.,[2,1]c :b: ≈> aab2,[2,1]c ≈> aa(..b..)2 :c1: ≈> ab1c13
  • [1b,[1d,1]1c]a := a,[d,1]b,[1d,1]c ≈> aabd1,[1d,1]c ≈> aa(..b..)d1 :c1: ≈> ab1c1d2

Op zich drukte de Bellen­blazer rij met zijn 1e index super­machten uit, ongeveer als een pijl­keten met 3 para­meters.
Op de tweede rij met seps ,[d,1] houdt die index d- gelijke tred met Conway's 4e para­meter, als die de laatste in de keten is.

Evalueer Bellen­blazer's 2e index in verge­lijking met de hele pijl­keten van Conway. Met e rijen in het vlak is iter index d ongeveer gelijk aan a..d1 :e2 Conway's laatste para­meter z (en gelijker nog met een pijl­keten variant, die z zou af­tellen tot 0 in plaats van 1).

  • [b,[1,[1]2]1]a := [,[,2]b]a := ,[b,1]a = a,[b,1]a- ≈> aaa-b1
  • [b,[1,2]1c]a := ,[b,1]a,[1,2]c ≈> aaab,[1,2]c ≈> aab22,[1,2]c- ≈> aabc12
  • [1b,[1d,2]1c]a := a,[d,2]b,[1d,2]c ≈> aaabd1,[1d,2]c ≈> aab1c1d2
  • [b,[1,3]1c]a := a,[b,2]a-,[1,3]c ≈> aaaab,[1,3]c ≈> aaabc12
  • [b,[d,3]c]a ≈> aaabcd1
  • [b,[1,e]1]a ≈> a..b :e1>2
  • [b,[d,e]c]a ≈> a..bcd1 :e>0

Met index e maken we in Bellen­blazer de sprong over de hele keten van Conway. Die tweede index is even krachtig als Bird's 4e element [entry]. Check zelf het bewijs17 van Chris Bird, dat dit getallen in de orde van Conway's pijl­keten functie betreft…!

Bird's formule voor Conway's pijl­keten versus de Bellen­blazer formule met twee indexen, die onze dim 2 array ruimte met rijen van iters vult.

{a,b+1,c,d+1} {a>2,b>0,d>0}
   ≈> a..bc1 :d1 <≈
[1b,[1c,d]1]a := a,[c,d]b

Doordat we indexen in Bellen­blazer aftellen tot 0 loopt onze d hier 1 voor op Bird's para­meter waarde. De Bellen­blazer rij was trager, dus begint deze index array 2 posities verder.
In box 2.6 zagen we, dat door complete index­ering de oneven array niveau's in Bellen­blazer functio­neren als sepa­rator her­haling in Bird's array ruimtes. Dat begint op ons 1e of top niveau. De factor 2 niveau verschil van geneste arrays blijft onze grootste achterstand op Bird.

Welke formule Conway's pijl­keten het dichtste benadert…? Voor het ver­volg is dit onbelang­rijk. Maar doe onze demon­stratie over en druk Bird's functie uit in Bellen­blazer…!

i. Hoe heten de grote getallen?, gg: Nummer namen App in "Ogen op Stokjes!" voor de jeugd (iteror 2014).
j. Bird's lineaire array lengte is gelijk aan Btrix' multi­dimensionale index, gg: Cubic and Dimensional in "Bea's dimensions" voor Btrix matrix (iteror 2014).
k. Btrix dim-rij wisseling is even snel als Bird's rij-dim wisseling, verder nesten ver­andert deze struc­turele afstand niet, gg: Nesting depth in "Beat nested arrays" voor Btrix matrix (web 2014).
l. Als alle sub­structuren uniek zijn, ver­dubbelt dit het aantal geneste niveau's, gg: Sentry to row format in "Alexa 2nd - Fluid Structures" voor Brobding­nagians (blog feb 2015).
m. Hoofdregels: opladen, subladen, gg: Blixa system in "Blixa Nested Arrays" voor Brobdingnagians blog (concept apr 2015).
n. Onze arrays zijn half genest, gg: Half nested arrays in "Big number systems" voor Iteror (blog okt 2015).
14. Bird's geneste arrays, behandelt recursieve functies met limiet ordinaal ε0, Chris Bird, Nested Array Notation, 2012.
15. Onze eigen pijl­keten notatie benoemt nog veel grotere ge­tallen, p.61 in Conway & Guy "The Book of Numbers" 1996.
16. Is een [a,b,c,...] dimensionale array, Chris Bird, p.1 in Hyper-Dimensional Array Notation, 2017.
17. Bewijs dat Bird's lineaire array met 5 of meer elementen voorbij Conway's pijl­keten gaat, Chris Bird, Proof, 2006.
Gulliver redt de vloot van Lilliput

No comments:

Post a Comment