modifs de la syntaxe des raffinages

git-svn-id: http://cregut.svn.enseeiht.fr/2020/1sn/pim/projets/GH-05@207781 e13453a9-b01f-0410-a051-f404c4f0c485
This commit is contained in:
lfainsin 2020-12-09 13:28:36 +00:00
parent 60005a1eb6
commit 9341d9e6fd

View file

@ -37,35 +37,35 @@ R2: Comment « Récupérer les arguments de la ligne de commande » ?
args ← Arguments() args ← Arguments()
len_args ← Longueur(args) len_args ← Longueur(args)
Si non 0 < len_args <= 6 Alors Si non 0 < len_args <= 6 Alors
Exception(ERROR_ARGS) Lever l'exception ERROR_ARGS
Sinon Sinon
Traiter les arguments in: args, len_args ; out: filename, ite_max, alpha, naif Traiter les arguments in: args, len_args ; out: filename, ite_max, alpha, naif
FinSi FinSi
Quand Exception(QUELCONQUE) Lors d'une exception Faire
// ici on attend principalement les exceptions: EEROR_ARGS et CONSTRAINT_ERROR // ici on attend principalement les exceptions: EEROR_ARGS et CONSTRAINT_ERROR
Afficher les consignes d'utilisation Afficher les consignes d'utilisation
Fin Si Fin du traitement des excpetions
R3: Comment « Traiter les arguments » ? R3: Comment « Traiter les arguments » ?
ite_max ← 150 // Integer ite_max ← 150
alpha ← 0.85 // Float alpha ← 0.85
naif ← False // Boolean naif ← False
i ← 0 i ← 0
Répéter Répéter
Si args[i] = "-I" Alors Si le ième argument est "-I" Alors
ite_max ← Integer(args[i+1]) ite_max ← l'entier du (i+1)ème argument
i ← i + 2 i ← i + 2
SinonSi args[i] = "-A" Alors SinonSi le ième argument est "-A" Alors
alpha ← Float(args[i+1]) alpha ← le réel du (i+1)ème argument
i ← i + 2 i ← i + 2
SinonSi args[i][-4:-1] = ".net" Alors SinonSi le ième argument finit par ".net" Alors
filename ← args[i][0:-4] filename ← le ième argument sans l'extension
i ← i + 1 i ← i + 1
SinonSi args[i] = "-P" Alors SinonSi le ième argument est "-P" Alors
naif ← True naif ← True
i ← i + 1 i ← i + 1
Sinon Sinon
Exception(ERROR_ARGS) Lever l'exception ERROR_ARGS
FinSi FinSi
SortirQuand i < len_args SortirQuand i < len_args
FinRépéter FinRépéter
@ -75,56 +75,60 @@ R3: Comment « Afficher les consignes d'utilisation » ?
Écrire("Usage: pagerank [-I max_iterations] [-A alpha] fichier_reseau.net") Écrire("Usage: pagerank [-I max_iterations] [-A alpha] fichier_reseau.net")
R2: Comment « Initialiser les variables » ? R2: Comment « Initialiser les variables » ?
Créer H out: H, N Créer H out: H, N
Créer S in: H, N ; out: S Créer S in: H, N ; out: S
pi ← Ones(N, 1)/N pi ← Vecteur de Taille N remplit de 1/N
G ← alpha * S + Ones(N, N) * (1-alpha)/N G ← alpha * S + Matrice de Taille N, N remplit de (1-alpha)/N
R3: Comment « Créer H » ? R3: Comment « Créer H » ?
fichier ← Ouvrir(filename + ".net") fichier ← Ouvrir(filename + ".net")
N ← Lire(fichier) N ← Lire(fichier)
H ← Zeros(N, N) H ← Matrice de Taille de N,N de 0
TantQue non Fin(fichier) Faire TantQue non Fin(fichier) Faire
i ← Lire(fichier) i ← Lire(fichier)
j ← Lire(fichier) j ← Lire(fichier)
H[i, j] ← 1 L'element i,j de la matrice H ← 1
FinTantQue FinTantQue
Fermer(fichier) Fermer(fichier)
Pour i de 0 à N-1 Faire Pour i de 0 à N-1 Faire
H[i,:] ← H[i,:]/Somme(H[i,:]) somme_ligne ← La Somme la ligne i de la matrice H
FinPour Si somme_ligne /= 0
La ligne i de la matrice H ← La ligne i de la matrice H divisé par somme_ligne
FinSi
FinPour
R3: Comment « Créer S » ? R3: Comment « Créer S » ?
V ← H * Ones(N, 1) V ← H * Vecteur de Taille N remplit de 1
S ← H S ← H
Pour i de 0 a N-1 Faire Pour i de 0 a N-1 Faire
Si V[i] = 0 Alors Si L'element i du vecteur V = 0 Alors
S[i,:] ← 1/N La ligne i de la matrice S ← 1/N
Fin Si Fin Si
FinPour FinPour
R2: Comment « Éxecuter l'algorithme itératif » ? R2: Comment « Éxecuter l'algorithme itératif » ?
G ← Transposer(G)
Pour i de 1 à ite_max Faire Pour i de 1 à ite_max Faire
pi ← Transposer(G) * pi pi ← G_transpo * pi
FinPour FinPour
R2: Comment « Écrire les résultats dans des fichiers » ? R2: Comment « Écrire les résultats dans des fichiers » ?
Coupler les poids et leur indice in: pi ; out: pi_couple Coupler les poids et leur indice in: pi ; out: pi_couple
pi_couple ← Trier(pi_couple, 0) // on trie selon la première colonne pi_couple ← Trier(pi_couple, 0) // on trie selon la première colonne
fichier ← Ouvrir(filename + ".p") fichier ← Ouvrir(filename + ".p")
Écrire(fichier, pi_couple[:,0]) Écrire(fichier, Première Colonne de pi_couple)
Fermer(fichier) Fermer(fichier)
fichier ← Ouvrir(filename + ".ord") fichier ← Ouvrir(filename + ".ord")
Écrire(fichier, pi_couple[:,1]) Écrire(fichier, Seconde Colonne pi_couple)
Fermer(fichier) Fermer(fichier)
R3: Comment « Coupler les poids et leur indice » ? R3: Comment « Coupler les poids et leur indice » ?
pi_couple ← Zeros(N, 2) pi_couple ← Matrice de Taille N,2 remplit de 0
pi_couple[:, 0] ← pi Première Colone de pi_couple ← pi
Pour i de 0 à N-1 Faire Pour i de 0 à N-1 Faire
pi_couple[i, 1] ← i L'element i,1 de pi-couple ← i
FinPour FinPour