Je voudrais implementer l'algorithme du "backrank" que voila.
http://www2005.org/cdrom/docs/p1122.pdf
Je suis donc partie de la lib Algorithm:ageRank et j'ai effectué deux modif que voila
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 # ajout du paramètre $b_factor our $d_factor = undef; # dampening factor my $b_factor = undef; sub factor { $d_factor = $_[1]; # dampening factor $b_factor = $_[2]; # back button dampening factor }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 sub _iterate { my $self = shift; my $iter = shift || 100; my $normal_factor = $d_factor/$self->{size}; # j'ai ajouté sa aussi my $inv_d_factor = 1 - ($d_factor + $b_factor); print $self->{prvect}->slice(":"); print $self->{graph}->slice(":"); foreach (1..$iter) { # Original pagerank $self->{prvect} = $inv_d_factor * $self->{prvect} x $self->{graph} + $normal_factor * $self->{prvect}; #$self->{prvect} = $inv_d_factor * $self->{prvect} x $self->{graph} + $normal_factor * $self->{prvect}; #print $self->{prvect}->slice(":"); #print sdump (($d_factor/$self->{size}) * $self->{prvect}); } }
Ma question est l'algo est il bien implémenté ?![]()
merci d'avance
Partager