Kezdőoldal » Tudományok » Egyéb kérdések » Előfordulhat-e olyan a^i +...

U. Xorter kérdése:

Előfordulhat-e olyan a^i + b^j = c^k összeg, ahol a és b sokkal kevesebb biten ábrázolható, mint c?

Figyelt kérdés

Másképp megfogalmazva: egy nagy prímszám hatványa előállhat-e két (elég) kis szám hatványainak összegeként?

(Egy n szám floor(log2(n))+1 biten ábrázolható.)

Ha igen, példát kérek, ha nem, akkor bizonyítást!



2022. febr. 6. 12:26
 1/10 anonim ***** válasza:
100%
Ezt most nem értem. De tényleg fuss neki még egyszer. És hogy jönnek ide a bitek? Egy számelméleti kérdés esetén nem teljesen értem a biteket. Egyébként pl. a 27 (3^3) az felírható 25+2 alakban, a 25 az egy prímszám négyzete (5^2 a 2 meg a 2^1 hatványa). A biteknek itt marára nincs értelme, mert akkor tisztázni kéne, hogy milyen számábrázolási módszert használunk.
2022. febr. 6. 12:40
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
100%
Nem jól definiált a kérdés (mint általában).
2022. febr. 6. 13:18
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:

Például a 5^2 = 3^2 + 4^2, és 5 = 0b101, |5|_b = 3, 3 = 0b11, |3|_b = 2, 4 = 0b100, |4|_b = 3, azaz 5 binárisan a 3 hosszúságával nem nagyobb, mint 3 és 4 a 2+3 hosszúságával.

Viszont, 17^2 = 2^6 + 3^2 × 5^2, és |17|_b = 5, |2|_b = 2, |3|_b = 2, |5|_b = 3, viszont ez már talán közelebb van ahhoz, amit én akarok.

Valójában arra vagyok kíváncsi, hogy nagy számok reprezentálhatóak-e tömörebben, ha kis számok nagy hatványainak (szorzatainak) összegeként írjuk fel őket.

2022. febr. 6. 18:06
 4/10 anonim ***** válasza:

Olvass Shannont és Neumannt. A kérdés az, hogy hány féle számot akarsz megkülönböztetni? A számosság és a számábrázolás egymástól független dolog. Ha te akarod az összes egyész számot ábrázolni egytől egy jó nagy N számíg akkor ahhoz akár,hogy csűröd csavarod log2(N) bitre lesz szükséged, számábrázolástól függetlenül. Ugyanis a számábrázolás itt nem jelent mást, hogy van egy halmazod ami tartalmazza 1-től N-ig az egész számokat (legyen ez az "A" halmaz), és kell alkossál egy kölcsönösen egyértelmű függvényt ami megmondja, hogy az "A" halmaz melyik eleméhez a "B" (ez lesz a kódszó) halmaz melyik eleme tartozik. Elég gyorsan belátató, hogy ez csak akkor tud kölcsönösen egyértelmű lenni ha az A halmazban lévő elemek száma és a B halmazban lévő elemek száma megegyezik. Tehát bármilyen kódolás kitalálható ha a kiindulási halmazod nagy akkor a kódszó halmazod is nagy lesz.

Ha szűkíted az "A" halmazt pl. azt mondod, hogy csak azokat a számokat akarod kódolni, amelyekre igaz, hogy valamelyin prim szám "n"-ik hatványa (ld. bevezető kérdésben) c^k alakban felírható, és c^k<N (hiszen a jó nagy N-ünket nem változtatjuk) akkor látható csa azt kell megvizsgálni, hogy a c^k (ahol c prím és k +egész) alakú számból kevesebb van-e mint N, és ez elég gyorsan belátható, hogy az össszetett számok közül elég sok nem fogja ezt teljesíteni. Hiszen pl. a 6 ami 2*3 prímtényezős felbontásban írható fel arra nem igaz, hogy felírható c^k (ahol c prím és k egész) alakban. Ebből látható lesz, hogy annak a halmaznak az elemeinek száma amelyikben azok a pozítiv egész számok vannak amelyek felírhatóak c^k (ahol c prím és k +egész) és c^k<N elem száma kisebb lesz mint N. Tehát található lesz olyan kódolás amelyben a kódszó hossza kisebb lesz mint log2(N). A kérdés az lehet, hogy tudunk-e becslést adni (vagy konkrét értéket arra), hogy hány darab számra lesz igaz, hogy felírható c^k (ahol c prím és k +egész) és c^k<N ekkor azt is megtudjuk mondani, hogy hány bit kell hozzá (minimálisan). Hogy itt a hozzárendelésnek mi lesz a szabálya az ezen a szinten mindegy. Mert itt most arra keresünk választ, hogy hány bit kell egy adott szám tárolására. Remélem érthető voltam.

2022. febr. 6. 18:19
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:
Bocs kiegészítés a lepontozó g*i-k miatt. Pl. sokan felhozzák példának az 5 bites telexkódot (Baudot kód más néven). 5 biten le tudták írni az angol ABC nagybetűit (26 db.) a számokat (0-9, bár van olyan változata ahol 0-t és az 1-et nem írták le, hanem helyette nagy "O"-t és a kis "el"-et írtak), és néhány alapvető írásjelet, sorvégjelet stb. Ez gyors számolással több jel mint 32 amit 5 biten ábrázolni lehet. Ez úgy működött, hogy vettek két betűt az egyik volt az ún. számváltó karakter, a másik a betűváltó. Ha a fogadott üzenetben számváltó karakter jött akkor azt a kódkészletet használta amiben a számok voltak, ha betűváltó akkor azt amiben a betűk voltak. A hiba akkor volt, ha nem jött meg (pl. vétel hiba miatt) egy váltó karakter mert akkor értelmezhetetlenné vált az üzenet. De ez nem kódolás volt, hanem átvitel, ahol volt sorrendisége az egyes kódszavaknak.
2022. febr. 6. 18:26
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:

Bocs még 1x elolvastam és kicsit kusza lett az eleje. Ha van egy olyan halmazod amiben van N darab elem (bármilyen halmaz), és ezt valamilyen bináris kóddal akarod leírni akkor N darab különböző kódszóra lesz szükséged. (ld. Shannon és Neumann munkássága, de főleg Shannon). Itt kell egy kölcsönösen egyértelmű hozzárendelés mert ha nem kölcsönösen egyértelmű akkor veszett fejsze nyele. N darab kódszó bináris kódolásához legkevesebb log2(N) bitre van szükséged. Lehet több, de kevesebb nem.

Ha a kódolandó halmaz az egész számok halmazának egy részhalmaza pl. az M-nél kisebb egész számok akkor az egy M-1 elemű halmaz, tehát M-1 db. kódszóra lesz szükséged, és ehhez legkevesebb log2(M-1) bitre lesz szükséged.

Ha szűkíted az "alaphalmazt" pl. csak azokat a számokat akarod leírni amelyekre igaz, hogy y=c^k és y<M és c prímszám, k pozítiv egész akkor ennek a halmaznak az elemszáma biztosan kisebb lesz mint M, így biztosan kevesebb bit fog kelleni.


Az meg egy eztől független, hogy a kódszavak hogyan néznek ki. Hogy most súlyozott, BCD (ehhez még több bitre lesz szükség), gray kód vagy bármi egyéb az teljesen független, hogy hány darab eltérő kódszóra van szükség.

2022. febr. 6. 22:07
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
Kedves 4,5,6! Jó gondolatok, csak az a baj, hogy U. Xorter-t a legkevésbé sem érdekli a válaszod... További szép estét!
2022. febr. 6. 23:58
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:

Köszönöm, #6-os! Fontos az egyértelműség legalább az egyik irányba. Ha egy reprezentáció több számot is jelöl, akkor kuka az egész. Viszont ha egy számnak van több lehetséges reprezentációja is - és automatikusan a legtömörebbet választjuk, az még szerintem oké.

Mi lenne, ha a számok bináris kódolásán túl egyéb karaktereket (műveleteket) is megengednénk, mint az összeadás (+), szorzás (×) és hatványozás (^). Ekkor például a 1013 = 0b1111110101 = 10^3 + 13 = 0b10 ^ 0b1010 ^ 0b11 + 0b1101, amiben látszik hogy a nyers bináris kód 10 bit, míg az egyéb karakterekkel kiegészített 4+2+4 = 10 szintén. De egy nagyobb számnál ez változhat.

Na most meg is néztem 100003-ra: 100003 = 0b11000011010100011 = 10^5 + 3 = 0b1010 ^ 0b101 + 0b11, azaz 17 bit helyett elég 4+3+2 = 9 bit + az egyéb karakterek. Lesz egy kritikus számérték, ami felett az egyéb karakterek kódolásával sem fog túlnőni a tárigény a nyers bináris kódoláson.

Szerintem ebben a kihívás a megfelelő partíciók kiválasztása, amiből exponenciálisan sok van, de mondjuk egy dupla-logaritmusos tárigény fejében jó trade-off lehet.

2022. febr. 7. 11:02
 9/10 A kérdező kommentje:
Jav.: az 1013-as példánál van egy felesleges 0b10, helyesen: 1013 = 0b1111110101 = 10^3 + 13 = 0b1010 ^ 0b11 + 0b1101.
2022. febr. 7. 11:05
 10/10 anonim ***** válasza:

8: Nem nyernél vele semmit. Pont erről ír hosszasan Shannon több helyen, ír erről Neumann és mindenki akik utána jönnek. Ugyanis OK, hogy leírod, hogy milyen számok vannak, de a műveleti jelet is le kell hozzá írnod. Máris ugyanott tartasz. Pont azon van a lényeg, hogy a kódszó halmaz elemeinek a száma pontosan ugyannyi kell legyen mint az a halmaz amit kódolsz. És ez teljesen független továbbra is a kódolástól. Nézzünk egy példát: 0-10-ig akarod kódolni a számokat, egyértelműen. Ehhez 11 darab különböző kódszó kell, mert nem lesz egyértelmű, hogy mire gondolsz. Ezek a kódszavak bármilyenek lehetnek, pl. "nulla" "egy" "kettő" "három" "négy" "öt" "hat" "hét" "nyolc" "kilenc" "tíz". De mehetünk még tovább is. Pl. nézzük ugyanezt pl. a 12 esetén ez magyar nyelven "tizenkettő" azaz kb. a "10+2" alak, angolban erre külön szó áll rendelkezésre ez a twelve de ha a kódszavak számát nézzük ugyanúgy "önálló". De pl. már a 25 esetén magyarul úgy mondjuk huszonöt angolul twenty five mindkét nyelven 20+5 alakban mondjuk. De ettől nem lett kevesebb a kódszavunk. Mert valahogy el kell majd különítsünk a 20-at "húsz" a "huszon..." formától.

Nagyjából ezekből a megfontolásokból tették le Shannonék az információ elmélet és a kódolás alapjait, amit utána nagyon sokan fejlesztettek. De nagy csodát nem tudsz csinálni. Egyedül a beszélt nyelvben lehet valamit "spórolni" de figyelni kell, hogy egyértelmű marad-e a közlés. ISmert példa: "A királynőt megölni nem kell félnetek jó lesz" példa mondat. Attól függően, hogy hova teszünk be plusz (nem jelölt) vesszőket egészen mást fog jelenteni. Ezt el kell kerülni. Ezért említettem korábban pl. az 5 bites Baudot kódot, ahol volt a betű váltó és a számváltó karakter. Ha betűváltó jött azt jelentette innen kezdve betűként, ha számváltó akkor azt, hogy innen kezdve számként kell értelmezni a következő váltó karakterig. De ha vétel hiba volt akkor márs borult a történet.

2022. febr. 7. 14:35
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!