Bonjour,
Est ce que en peux représenter n'importe quel nombre entier tel que nb entier grand=algorithme(nombres petit <nombre limite)
Cette fonction algorithme est t il facile a réalisé et resoudre?
-----
Bonjour,
Est ce que en peux représenter n'importe quel nombre entier tel que nb entier grand=algorithme(nombres petit <nombre limite)
Cette fonction algorithme est t il facile a réalisé et resoudre?
Bonsoir,
Que veut dire : "nb entier grand=algorithme(nombres petit <nombre limite)" ?
Tous les codages des nombres en informatiques sont plus petits que le nombre codé (il n'est pas besoin d'utiliser 1024 bits pour coder 1024
Je suis Charlie.
J'affirme péremptoirement que toute affirmation péremptoire est fausse
10^1234=10....0=algorithme(10, 1234) memoire grande.*
10 et 1234 se code dans une mémoire pet*
Soit A un nombre premier*
Exemple*
A=1578=10^3+5*10^2+7*10+8*1*
En code 1 5 7 et 8 puis 3 2 1 et 0*
Soit A=abc...z=a*10^n-1+...z*
En peux coder les a b c...z et n-1 ...0 avec moin de memoire que coder A.*
Bizarre façon d'écrire !
Que signifie * ????
Et 1578 comme exemple de nombre premier, c'est raté.
Sinon, pour ta première question, tu sais depuis tout petit écrire un nombre très grand avec les entiers de 0 à 9. 2^10, tu l'écris 1024, donc avec les nombres 1, 0, 2 et 4, écrits l'un à la suite de l'autre. De la même façon, si on veut des nombres codés sur deux octets, donc de 0 à 65535, on les écrit en base 65536, sur le nombre d'octets nécessaires. C'est en gros ce que font les logiciels de calcul formel.
Il y a aussi des codages particuliers pour des nombres de forme particulière, mais les opérations possibles sur ces nombres sont réduites. Par exemple 10^231 est codé avec seulement 231; mais on ne peut plus coder 10^231+1.
Cordialement.
NB : Je n'ai rien compris à ton message. Essaie de parler pour être compris, pas seulement pour toi.
Bonjour, j'ai déjà essayer ça, même si on considère que chaque nombre premier est une 'dimension' (), il faut d'abord démontrer la conjecture de Goldbach pour seulement deux n premiers, au lieu du théorème fondamental de l'arithmétique, tu'as fais un mélange.
Je parle pas des nombres premier juste de nombre entier.
Si par exemple j'ai un fichier d'un 1g de code(mémoire ).
Si je prend se nombre entier et je le code comme dans l'exemple j'aurais moin de code a coder surtout que je peux faire cette opération indifiniment pour avoir un code leger ou avec lui je peux écrire se nombre donc avoir mon fichier initiale .
Que signifie * ????
Et 1578 comme exemple de nombre premier, c'est raté.
Sinon, pour ta première question, tu sais depuis tout petit écrire un nombre très grand avec les entiers de 0 à 9. 2^10, tu l'écris 1024, donc avec les nombres 1, 0, 2 et 4, écrits l'un à la suite de l'autre. De la même façon, si on veut des nombres codés sur deux octets, donc de 0 à 65535, on les écrit en base 65536, sur le nombre d'octets nécessaires. C'est en gros ce que font les logiciels de calcul formel.
Il y a aussi des codages particuliers pour des nombres de forme particulière, mais les opérations possibles sur ces nombres sont réduites. Par exemple 10^231 est codé avec seulement 231; mais on ne peut plus coder 10^231+1.
Cordialement.
NB : Je n'ai rien compris à ton message. Essaie de parler pour être compris, pas seulement pour toi.
Dernière modification par Médiat ; 19/07/2015 à 18h06. Motif: Balises
Si vous cherchez le compresseur de données ultime capable de compresser sans perte n'importe quel fichier avec une compression effective, ne perdez pas votre temps, c'est impossible (pour des raisons évidentes).
Dernière modification par Médiat ; 19/07/2015 à 18h06.
Je suis Charlie.
J'affirme péremptoirement que toute affirmation péremptoire est fausse
Mathématiquement si possible avec mon exemple donner.
Bonjour,
Je plussoie Médiat: si l'on considère n'importe type de donnée composée de N symboles, alors il est en moyenne, impossible de représenter exactement ces données avec moins de N symboles. Si je me trompe pas, c'est l'objet d'un théorème de Shannon (le théorème de codage de source si ma mémoire est bonne).
Le "en moyenne" est important: si l'on considère des données particulières de l'ensemble des données possibles (contenant des redondances par exemple), alors il peut être possible de les représenter avec moins de N symboles.
Un exemple de données particulières sont les phrases en français. Celles-ci sont très différentes de l'ensemble des "phrases" possibles, comme par exemple "hbeyiù $µè²"mba787@½#đxqsiace§"v"ula# @½¼^←đðßsßðŋ"
Vouloir donc inventer un "compresseur" universel (pour tout type de données et sans pertes) est donc mathématiquement impossible.
Il me semble qu'il faudrait plutôt aller chercher de côté de la théorie de l'information de Kolmogorov plutôt que du côté de celle de Shannon pour cela.
A relier au fil suivant:
ensembles-impossibles.html
Ici il y comme donné un nombre entier A1=abcd...z...=a×10^n+....z×10 ^p+A2
A1 se code dans 1g de taille.
a b ...z et A2 de taille moins de 1ko.
Et c'est logique : Si on pouvais compresser le premier message, rien n’empêcherai de compresser à nouveau ce message.
Soit un message de longueur n. Si chaque compression diminuait d'au moins un bit la taille du message, appliquer n fois l'algorithme donnerai un message de longueur 0 : tout les messages de longueur n serraient codés par le nombre n
Pour représenter des nombres très grands avec un programme court, vous pouvez aller chercher du coté de la fonction d'Ackerman.
On peut aussi citer la longueur de la suite de Goodstein, mais je ne vois pas le lien avec la question de départ.
Je suis Charlie.
J'affirme péremptoirement que toute affirmation péremptoire est fausse
Comme disait PA5CAL sur l'autre fil, c'est impossible dans le cas général.
Mais ta question semble plutôt: pourquoi cela a l'air de marcher pour 10^1234, qui est une représentation très courte par rapport aux 1234 chiffres qui seraient nécessaires pour l'écriture en base 10? Parce que les nombres de type 10^x, avec x entier, sont particuliers, et ont en particulier la propriété de s'écrire de façon optimale avec la forme de représentation 10^x.
Alors de deux choses l'une: soit tu sais à l'avance que les nombres que tu souhaites mémoriser ont une structure particulière, soit tu es dans le cas général. Dans le cas général, aucun gain à attendre. Mais il est très fréquent de ne pas être dans le cas général. Par exemple si tu sais à l'avance que tu souhaites mémoriser des images naturelles, alors ces images ont des propriétés probables qui font tu peux déterminer des types de codage qui mèneront probablement à un gain d'espace. C'est très exactement ce que font les méthodes de compression: aucune ne marche dans le cas général et elles sont toutes destinées à certains types de fichiers particuliers.
Extrazlove :
Pour illustrer ce que dit Jiav, comment traites-tu le nombre
342970406456426696714206593216 517823625792569070103068252985 843200172249090342950651592667 321668247365889680160333818968 470232430997363444332100978545 935071616798506719321550172035 995000446092983458436612315983 529346725740006307552807192470 786580760710695043712104537959 971933801414598229094722922500 499628220825593188563096657631 953739361604082971781327245018 646115623493372090339359026012 022291705882036449707515132315 293706460173420843349434456323 386254060018194171000751236591 231539343722759468834295729604 291824002358339798607571275085 990309458747377634382216962242 403632869736957690269485533571 922104699143475322888387938723 374553618415998487079500968107 382151698757523789469444960710 851842694696891900484144286319 041032137030003488395461591323 604944482243713614137828689233 222320338597146643154490066692 375259936611920663077646956564 129976207621438684656149369578 874600782382972298554995080201 844263741927327132137873513025 512357175254645753491223364449 058261952626723377768658030434 720810421360853657585867095947 095888749801889636243513019435 587782305979430003132466485976 483276153235594973935346268121 528267951974565158535988312328 266764466609862989581241483209 50039761 ?
Qui est pourtant plus petit que 10^1234.
Dernière modification par gg0 ; 21/07/2015 à 16h51.
Je prend les premiers chiffres qui sont sur la format a×10 ^n 342970406456426696714206593216 *je les code avec 2 paramètre le n et a .
Les autres chiffres je procède ainsi.
Donc
a1 = 342970406456426696714206593216
et n1 = 1148
puis
a2 = 517823625792569070103068252985
et n2 = 1118
et ainsi de suite ?
Si c'est le cas, vous devez alors coder en plus des nombres a1, a2..., les nombres n1, n2... ce qui est contre-productif.
Bonjour,
[MODE:c'est pas beau de se moquer]
Il y a une solution plus simple, on code
342970406456426696714206593216 517823625792569070103068252985 843200172249090342950651592667 321668247365889680160333818968 470232430997363444332100978545 935071616798506719321550172035 995000446092983458436612315983 529346725740006307552807192470 786580760710695043712104537959 971933801414598229094722922500 499628220825593188563096657631 953739361604082971781327245018 646115623493372090339359026012 022291705882036449707515132315 293706460173420843349434456323 386254060018194171000751236591 231539343722759468834295729604 291824002358339798607571275085 990309458747377634382216962242 403632869736957690269485533571 922104699143475322888387938723 374553618415998487079500968107 382151698757523789469444960710 851842694696891900484144286319 041032137030003488395461591323 604944482243713614137828689233 222320338597146643154490066692 375259936611920663077646956564 129976207621438684656149369578 874600782382972298554995080201 844263741927327132137873513025 512357175254645753491223364449 058261952626723377768658030434 720810421360853657585867095947 095888749801889636243513019435 587782305979430003132466485976 483276153235594973935346268121 528267951974565158535988312328 266764466609862989581241483209 50039760
Par le caractèreet donc le nombre fourni par gg0 est tout simplement
et on fait pareil pour tous les nombres dont on a besoin
[\MODE:c'est pas beau de se moquer]
Cela pour dire que le problème de la taille du codage ne tient pas tant de la taille des choses à coder que du nombre (potentiel) de celles-ci (puisqu'on est, de toute façon, dans le domaine fini).
Je suis Charlie.
J'affirme péremptoirement que toute affirmation péremptoire est fausse
Toutes les fois où la méthode de codage dépend de la forme d'écriture de ce qu'on veut coder, on est sûr que ce n'est pas une méthode, mais une réponse "pour répondre".
De plus, mon nombre se code avec 6 caractères : 9^1234. mais évidement, le suivant nécessite déjà 8 caractères : 9^1234+1![]()
J'ai une autre solution avec la magie des matrices,
Soit A un matrice inversible A=PDP-1 avec D un matrice diagonale.
A est constitue des nombres Allons de 1 a 14.
1 etape calculer les valeurs propres z1 z2 et z3
2 calculer les vecteurs propres est les enregistrer Toutes les possibilités.
3.Si en veut recalculer A Faire appelle a D est a l'adresse des vecteurs propres de A.
On aura simplement besoin de D(la memoire des z) Et l'adresse des vecteurs propres pour constuire A
Est ce qu j'ai tord ou j'ai raison
Car dans notres fichier il y plien des matrices indivisible.
Combien on aura de gain de memoire si en fait cette opération n fois.
Bonjour, je n'ai pas compris ce que tu veux dire, mais il faut voir la réalité des choses:http://people.coins-lab.org/ocheikhr...processeur.pdfJ'ai une autre solution avec la magie des matrices,
Soit A un matrice inversible A=PDP-1 avec D un matrice diagonale.
A est constitue des nombres Allons de 1 a 14.
1 etape calculer les valeurs propres z1 z2 et z3
2 calculer les vecteurs propres est les enregistrer Toutes les possibilités.
3.Si en veut recalculer A Faire appelle a D est a l'adresse des vecteurs propres de A.
On aura simplement besoin de D(la memoire des z) Et l'adresse des vecteurs propres pour constuire A
Est ce qu j'ai tord ou j'ai raison
Car dans notres fichier il y plien des matrices indivisible.
http://lslwww.epfl.ch/pages/teaching...3.Memoires.pdf
je comprenais que le fonctionnement de Z80 de zilog je crois. (est ce que tu cois que IBM ou je ne sais pas qui, non pas le personnel compétents dans ce domaine.....)
...
Dernière modification par azizovsky ; 23/07/2015 à 09h34.
Pour plus d'explication tout fichier est constitue des matrices inversible.
Pour ecrire un matrice inversible A il faut deux choses les valeurs propres Z et les vecteurs propres v .
En va créer une base de données ou il y a toutes les possibilités des vecteurs propres possibles.
En suite si je veux ecrire A il suffit d'avoir juste les Z et l'adresse de V.
Quand je trouve le matrice dans mon fichier je le remplace par les Z et l'adresse des vecteurs propre j'aurais moin de memoire que A.
Car il faut des cases memoire pour enregistrer les Z qui sont 3 plus l'adresse qui es inférieur a 9 case.
J'ai oublié le A est de dimension 3.
Tout les possibilités des valeurs propres Z et vecteur propre V d'un matrice A de dimension 3 sera enregistré dans la memoire.*
Pour avoir A il suffit d'enregistrer l'adresse de Z et V donc 2 case a la place de 9.*
Donc en va parcourir notre fichier a chaque fois que je trouve A je le remplace par deux case memoire qui contient l'adresse de V et Z associé .
Là ou le bas blesse, c'est qu'il y a mathématiquement une infinité (du point de vue numérique un très grand nombre --> probablement de l'ordre de 300 Go si je ne me trompe pas*) de matrices V et Z (en plus des valeurs propres) pour décrire une matrice A quelconque. Si c'est encore gérable pour les matrices 3x3, je n'ose imaginer ce que cela donnerait pour des matrices 10000 x 10000.Tout les possibilités des valeurs propres Z et vecteur propre V d'un matrice A de dimension 3 sera enregistré dans la memoire.
*Pour un nombre flottant codé sur 4 octets: 2^32 nombres peuvent être codés. Si on veut tous les coder cela fait 2^34 octets. Dans deux matrices 3x3 ->![]()
pour les V et le Z en choisit une seule méthode a les trouver se qui compte c"est trouver le A.