[PDF] L’algorithme de Hörner - ACrypTA



Previous PDF Next PDF







Méthode Horner - Free

Appliquer cet algorithme avec les polynômes suivants f(x) = 4x3 −8x2 −7x−1 g(x) 6 Avec python def Horner(C,x): n=len(C) Q=C[0] for k in range(1,n): Q=Q



Algorithms and Data Structures - Examples

•Python Horner’s Rule Ancient Chinese Wisdom •William George Horner - 1819



Polynômes - Lycée privé Sainte-Geneviève

p(a) ou polyval(p,a) évalue le polynôme p au point a (en utilisant l'algorithme d'Horner) 2 Algorithme de Horner Soient a 2K et P = Xn k=0 b kX k On souhaite calculer P(a) Naïvement, on calcule les puissances de a, on multiplie les résultats par les coe cients b k puis on additionne le tout Combien



L’algorithme de Hörner - ACrypTA

Cet algorithme effectue N tours de boucle, chaque boucle coûtant une multiplication par 2 et une addition Ici, N représente le nombre de bits de S, c’est-à-dire la taille deS L’algorithme coûte O(N) opérations élémentaires 1 3 Généralisation Cet algorithme s’adapte immédiatement à toute écriture polynomiale de la forme : S



CS 4310 HOMEWORK SET 1

Horner’s rule? 2 Write pseudocode to implement the naive polynomial-evaluation algorithm that computes each term of the polynomial from scratch What is the running time of this algorithm? How does it compare to Horner’s rule? 3 Prove that the following is a loop invariant for the while loop in lines 3-5



Polynomials and the Fast Fourier Transform (FFT)

•Using Horner’s method, ????-point evaluation takes time Θ(????2) 9 *0,1,1,0,2,5,3,22+ Point-Value Representation •The inverse of evaluation is called interpolation –determines coefficient form of polynomial from point-value representation –For any set * 0, 0, 1, 1, , −1, −1+ of ???? point-



Genetic Algorithms: Theory and Applications

works and H Horner’s paper on his C++ GP kernel [29] ¨ I would like to thank all the students that attended my lectures on ge-netic algorithms so far, for contributing much to these lecture notes with their vivid, interesting, and stimulating questions, objections, and discus-sions



TP PYTHON - 10 Les fonctions polynomiales, c’est la classe

TP PYTHON - 10 6 [Qu 7] 1) Montrer que s’il existe un polynôme Tn vérifiant la propriété (1) alors il est unique 2) On définit la suite (Tn)n 0 par : T 0 = 1, T 1 = X et pour tout n 1, T



AES-GCM for Efficient Authenticated Encryption Ending the

Ciphers in use in SSL/TLS connections S Gueron RWC 2013 4 ASE256-SHA-1 44 AES128-SHA-1 36 RC4-MD5-128 15 RC4-SHA -128 3 DES-CBC3-SHA 168



Math 375: Lecture notes

(4) length,zeros,sin,plotare built in MATLAB functions Later on we will write our own functions (5) In Matlab variables are defined when they are used

[PDF] seuil de rentabilité cours pdf

[PDF] méthode des couts variables exercices corrigés

[PDF] exercice seuil de rentabilité corrigé pdf

[PDF] levier opérationnel calcul

[PDF] représentation graphique du seuil de rentabilité

[PDF] calcul du seuil de rentabilité avec plusieurs produits

[PDF] indice de sécurité calcul

[PDF] exercice seuil de rentabilité bts

[PDF] choix d'investissement exercices

[PDF] rentabilité des investissements cours

[PDF] calcul drci+formule

[PDF] calcul de rentabilité d'un investissement industriel

[PDF] etude de rentabilité d'une entreprise

[PDF] ratio de rentabilité commerciale

[PDF] rentabilité financière d'une entreprise

L’algorithme de Hörner - ACrypTA

Fiche 002 Niveau : 0 version 2 (1/05/2010)Gris

1.1 Présentation

"informatique". Nous suggérons d'autres algorithmes qui l'utilisent d'une manière plus ou moins

cachée. (1) (2) 0 0 a7a6a5a4a3a20 0 a7a6a5a4a3

0 0 0a7a6a5a4a3

Soita7a6a5a4a3a2a1a0où lesaivalent0ou1, l'écriture binaire d'un nombreS. Ainsi :

S=a727+a626+a525+a424+a323+a222+a121+a0.

figure 1. On utilise les deux opérations : (1) on décale les bits déjà entrés d'une position vers la gauche,

(2) on insère le bit suivant à la position la plus à droite, laissée libre par le décalage.

NotonsSile nombre déjà entré, qui s'écrit en binairea7a6···a7-i. Alors le nombreSi+1obtenu à

S i+1= 2Si+a7-i-1. 1

Dans cette formule la multiplication par2correspond au décalage à gauche des bits déjà entrés, et

l'addition dea7-i-1correspond à l'insertion du bit suivant à la place laissée libre. Si on décrit la suite

des opérations on calcule successivement : S

0=a7,S1= 2S0+a6,···,S7= 2S6+a0,

ou encore : S=S7= 2(2(2(2(2(2(2a7+a6) +a5) +a4) +a3) +a2) +a1) +a0.

L'algorithme est décrit à la figure 2.

entrées : un tableauAdeNbits sortie : le nombreS=?N-1 i=0A[i]2i début

S←0;

i←N-1; tant quei≥0faire

S←2?S+A[i];

i←i-1; fintq; retournerS; fin Cet algorithme effectueNtours de boucle, chaque boucle coûtant une multiplication par2et une

addition. Ici,Nreprésente le nombre de bits deS, c'est-à-dire la taille deS. L'algorithme coûte

O(N)opérations élémentaires.

1.3 Généralisation

Cet algorithme s'adapte immédiatement à toute écriture polynomiale de la forme :

S(X) =aN-1XN-1+···+a1X+a0.

Il suffit en effet d'effectuer la suite d'opérations suivantes : S

0(X) =aN-1,

S

1(X) =XS0(X) +aN-2,

S

N-1(X) =XSN-2(X) +a0.

1. évaluation d'un polynôme en un point,

2. traduction binaire - décimal,

3. division euclidienne,

4. calcul d'une puissance.

En fait cette liste n'est pas limitative. En effet, dans de nombreuses situations une partie de l'algo-

rithme consiste à reconstituer un nombre à partir de ses bits. Dans cette situation l'algorithme de

2

2 ExempleNous nous proposons d'évaluer un polynômeten un pointx. Cette fonction existe dans les systèmes

de calcul, néammoins à titre d'exemple nous la reprogrammons dans le style Maple (logiciel utilisé :

xcas). evaluation:=proc(t,x) localn,i,s; n:=length(t); i:=n; s:= 0; while(i >= 1) do s:=x?s+t[i]; i:=i-1; od; return(s); end;

3 Itération d'une loi associative?avec élément neutree

Soit?uneloi associativesurun ensembleG, ayant un élément neutree. Il s'agit de calculer lorsqu'on

se donne un entiern≥0et un élémenta?Gla puissance : S n=a?n=?esin= 0 a?a? ··· ?asin >0. entrées : Un tableauAdekbits tel quen=?k-1 i=0A[i]2i, sortie :S=a?n. début

S←e;

i←k-1; tant quei≥0faire

S←S?S?a?A[i];

i←i-1; fintq; retournerS; fin

FIG. 3 - Itération d'une opération?

Par exemple, si l'opération?est l'addition des entiers avec son élément neutre0, et sia= 1, l'al-

bits, que nous avons décrit précédemment. 3 Si l'opération?est l'opération de multiplication dansZ/cZ: a?b=a.bmodc, qui ae= 1pour élément neutre, l'algorithme calculeanmodc. Cet algorithme prend alors le nom de "square and multiply" pour la raison suivante : à chaque tour de boucle on est amené à calculerS?S?a?A[i], c'est-à-direS2modcsi le bit

A[i] = 0et dans ce cas on a une élévation au carré, etS2.amodcsi le bitA[i] = 1et dans ce cas on

a une élévation au carré suivie d'une multiplication.

4 Considération des bits de bas en haut

mençant par ceux de poids forts. Peut on décrire un algorithme fondé sur un principe analogue qui

traiterait d'abord les bits de poids faible? entrées : Un entier n sortie :S=a?n. début

A←a;

S←e;

N←n;

tant queN≥1faire siNpairalors

A←A?A;

N←N/2;

sinon

S←S?A;

N←N-1;

finsi; fintq; retournerS; fin;

FIG. 4 - Algorithme de bas en haut

On pourra trouver une preuve de cet algorithme dans la fiche fichecrypto_100.

Remarquons qu'ici on a remplacé le tableau de bits par la recherche de la parité deN, ce qui revient

théoriquement au même, mais qui souligne l'intérêt de cetteméthode lorsqu'on travaille dans un

langage de programmation où on n'a pas accès directement auxbits d'un entiern, mais à sa parité.

Auteur : Ainigmatias Cruptos

Diffusé par l'Association ACrypTA

4quotesdbs_dbs28.pdfusesText_34