Besoin d'aide pour implementer un algo
Je voudrais implementer l'algorithme du "backrank" que voila.
http://www2005.org/cdrom/docs/p1122.pdf
Je suis donc partie de la lib Algorithm::PageRank et j'ai effectué deux modif que voila
Code:
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:
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é ? :aie:
merci d'avance