A matematikában a Knuth-féle nyíl jelölés egy módszer nagy számok írására. Elképzelése azon alapul, hogy a szorzás többszörös összeadás , a hatványozás többszörös szorzás. Donald Knuth javasolta 1976 - ban [1] . Szorosan kapcsolódik az Ackermann függvényhez és a hiperoperátorok sorrendjéhez .
Tetráció , a Knuth-féle nyíl jelöléssel írva:
Pentation Knuth jelölésével:
A jelzett jelölésben b operandus található, amelyek mindegyike egyenlő a -val, a műveletek ismétlődnek .
A szokásos aritmetikai műveletek – összeadás, szorzás és hatványozás – természetesen kiterjeszthetők hiperoperátorok sorozatára a következőképpen:
A természetes számok szorzása ismétlődő összeadási művelettel határozható meg ("add hozzá az a szám b másolatát "):
Például,
A b hatványra emelése ismételt szorzási műveletként definiálható ("a b másolatok szorzása " ) , és Knuth jelölésében ez a jelölés úgy néz ki, mint egy felfelé mutató nyíl:
Például,
Egy ilyen felfelé mutató nyíl az Algol programozási nyelvben fokozatikonként volt használva .
A hatványozáson túli műveletsort folytatva Donald Knuth bevezette a „kettős nyíl” operátor fogalmát a tetració (többszörös hatványozás) írásához.
Például,
Itt és lent a kifejezés kiértékelése mindig jobbról balra halad, a Knuth-féle nyíl operátorok is (valamint a hatványozási művelet) definíció szerint jobb asszociativitással (jobbról balra sorrend) rendelkeznek. E meghatározás szerint
stb.Ez már elég nagy számokhoz vezet, de a jelölés nem ér véget. A "hármas nyíl" operátor a "kettős nyíl" operátor ismételt hatványozásának írására szolgál (más néven " pentation "):
majd a "négyszeres nyíl" operátor:
Általános szabály, hogy az n- edik nyíl operátor, a jobb asszociativitás szerint, jobbra folytatódik egy n -1 nyíl operátorból álló szekvenciális sorozatba. Szimbolikusan ezt a következőképpen írhatjuk le:
Például:
A jelölési formát általában n nyíllal történő íráshoz használják .
Az olyan kifejezésekben, mint a , gyakori, hogy a kitevőt az alap felső indexeként írják a hatványozás jelölésére . De sok más környezet – például a programozási nyelvek és az e-mail – nem támogatja ezt a kétdimenziós konfigurációt. Ezért a felhasználóknak lineáris jelölést kell használniuk az ilyen környezetekhez; a felfelé mutató nyíl azt sugallja , hogy a hatalmat kell emelni . Ha nincs felfelé mutató nyíl a rendelkezésre álló karakterek között, akkor a „^” javító beszúrási jel kerül felhasználásra .
Ha megpróbálunk egy kifejezést az ismerős jelöléssel kitevőkkel írni, hatványok tornyát hoz létre. Például:
Ha b változó (vagy nagyon nagy), a foktornyot pontokkal és a torony magasságát jelző jelöléssel írhatjuk fel.
Ezzel a jelölési formával a kifejezés felírható olyan erőtornyok halmazaként ( veremként ), amelyek mindegyike jelzi a fedőréteg mértékét.
És ismét, ha b változó (vagy nagyon nagy), akkor az ilyen erőtornyok halmaza felírható pontok segítségével, és felcímkézhető a magasságuk jelzésére.
Sőt, a kifejezés felírható több hasonló erőtornyok oszlopával is, ahol minden oszlop a bal oldali készletben lévő erőtornyok számát jelzi.
Általánosabban:
Ezt a végtelenségig felírhatjuk, hogy tetszőleges a , n és b hatványozási iterációjaként ábrázoljuk (bár nyilvánvaló, hogy ez is meglehetősen nehézkessé válik).
A tetraciós jelölés lehetővé teszi az ilyen sémák egyszerűsítését, miközben továbbra is geometriai ábrázolást alkalmazunk (nevezhetjük tetraciós tornyoknak ).
Végül példaként a negyedik Ackermann-számot a következőképpen írhatjuk fel:
Egyes számok olyan nagyok, hogy még Knuth nyilaival írni is túlságosan nehézkessé válik; ebben az esetben előnyben részesítjük az n -arrow operátort (és a változó számú nyilak leírásához is), vagy ezzel egyenértékű a hiperoperátorokkal szemben . De néhány szám olyan hatalmas, hogy még egy ilyen jelölés sem elegendő. Például a Graham-szám . Írásához Conway-lánc használható : a három elemből álló lánc egyenértékű egy másik jelöléssel, de a négy vagy több elemből álló lánc egy erősebb jelölési forma.
Gyakori a Knuth-féle nyíl jelölés kis számokhoz, és láncnyilak vagy hiperoperátorok nagy számokhoz.
A felfelé mutató nyíl jelölése formálisan úgy van meghatározva
minden olyan egész számra, ahol .
Minden nyíl operátor (beleértve a közönséges hatványozást is) jobbra asszociatív , azaz jobbról balra értékelődik ki, ha a kifejezés két vagy több hasonló operátort tartalmaz. Például,
, de nem ; egyenlő , de nemJó oka van a jobbról balra haladó számítási irány megválasztásának. Ha a balról jobbra irányú számítási módszert használnánk, akkor ez egyenlő lenne -vel , és akkor nem igazán lenne új operátor.
A helyes asszociativitás a következő okból is természetes. A kibontáskor megjelenő ismétlődő nyílkifejezéseket átírhatjuk a következőre , ahol az összes a a nyíl operátorok bal oldali operandusaivá válik. Ez azért fontos, mert a nyíl operátorok nem kommutatívak .
Ha a függvény b funkcionális kitevőjeként írunk , azt kapjuk .
A definíciót még egy lépéssel folytathatjuk , n = 0 esetén, mivel a hatványozás ismétlődő szorzás, 1-től kezdve. Még egy lépés extrapolálása, a szorzás ismételt összeadásként való írása nem teljesen helyes, mivel a szorzás ismételt összeadás, kezdve 1 helyett 0. Egy lépés újbóli "extrapolálásához", az n növekménynek 1 ismételt összeadásaként történő felírásához az a számmal kell kezdeni . Ezt a különbséget a hiperoperátor definíciója is hangsúlyozza , ahol az összeadás és a szorzás kezdeti értékei külön vannak megadva.
A számítás újrafogalmazható egy végtelen tábla formájában. A számokat a felső sorba helyezzük, és a bal oldali oszlopot kitöltjük a 2-es számmal. A táblázat számának meghatározásához vegyük a balhoz legközelebbi számot, majd az előző sorban felül keressük meg a kívánt számot. az éppen kapott érték által adott pozíció.
m \ n | egy | 2 | 3 | négy | 5 | 6 | Képlet |
---|---|---|---|---|---|---|---|
egy | 2 | négy | nyolc | 16 | 32 | 64 | |
2 | 2 | négy | 16 | 65536 | |||
3 | 2 | négy | 65536 | ||||
négy | 2 | négy |
A táblázat ugyanaz, mint az Ackerman-függvény cikkében, kivéve a és értékeinek eltolódását , valamint 3-at az összes értékhez.
Számítás
A számokat a felső sorba helyezzük, és a bal oldali oszlopot kitöltjük a 3-as számmal. A táblázat számának meghatározásához vegyük a balhoz legközelebbi számot, majd az előző sorban felül keressük meg a kívánt számot. az éppen kapott érték által adott pozíció.
m \ n | egy | 2 | 3 | négy | 5 | Képlet |
---|---|---|---|---|---|---|
egy | 3 | 9 | 27 | 81 | 243 | |
2 | 3 | 27 | 7,625,597,484,987 | |||
3 | 3 | 7,625,597,484,987 | ||||
négy | 3 |
Számítás
A számokat a felső sorba helyezzük, és a bal oldali oszlopot kitöltjük a 10-es számmal. A táblázat számának meghatározásához vegyük a balhoz legközelebbi számot, majd az előző sorban felül keressük meg a kívánt számot. az éppen kapott érték által adott pozíció.
m \ n | egy | 2 | 3 | négy | 5 | Képlet |
---|---|---|---|---|---|---|
egy | tíz | 100 | 1000 | 10 000 | 100 000 | |
2 | tíz | 10 000 000 000 | ||||
3 | tíz | |||||
négy | tíz |
2 ≤ n ≤ 9 esetén a numerikus sorrend az a lexikográfiai sorrend , amelyben m a legjelentősebb szám, így ennek a 8 oszlopnak a számsorrendje csak soronként. Ugyanez vonatkozik a 97 oszlopban lévő számokra, ahol 3 ≤ n ≤ 99, és m = 1-gyel indulunk akkor is, ha 3 ≤ n ≤ 9 999 999 999.
Nagy számok | |
---|---|
Számok | |
Funkciók | |
Jelölések |