A rather simpler and portable version of the above that also contrasts the results with both the sum and product of the same values. It shows how the positional weighting remais true when the sum and product do not:
#! perl -slw use strict; use List::Util qw[ sum reduce ]; our $SEED ||=1; srand( $SEED ); my @data = map{ [ map{ int rand 4 } 1 .. 6 ] } 1 .. 20; my @sorted = map { $_->[1] } sort { $b->[0] <=> $a->[0] } map { my $n = reduce{ $a << 2 | $b } 0, @$_; [ $n, $_ ] } @data; print "@$_\tsum:", sum( @$_ ), "\tproduct: ", reduce{ $a *= $b||1 } 1, + @$_ for @sorted; __END__ P:\test>503446.pl -SEED=-999998 3 2 2 3 1 1 sum:12 product: 36 3 2 0 1 3 2 sum:11 product: 36 3 1 3 1 3 0 sum:11 product: 27 3 1 3 0 0 2 sum:9 product: 18 3 0 2 2 3 2 sum:12 product: 72 3 0 1 1 0 0 sum:5 product: 3 2 2 1 0 1 2 sum:8 product: 8 2 1 1 0 3 2 sum:9 product: 12 2 1 0 3 1 1 sum:8 product: 6 2 0 3 0 2 2 sum:9 product: 24 2 0 1 1 2 1 sum:7 product: 4 1 3 2 2 2 0 sum:10 product: 24 1 3 0 1 3 1 sum:9 product: 9 1 2 1 1 0 1 sum:6 product: 2 1 1 3 2 3 0 sum:10 product: 18 1 0 2 0 1 1 sum:5 product: 2 0 3 3 0 1 2 sum:9 product: 18 0 2 3 2 0 0 sum:7 product: 12 0 2 3 0 3 1 sum:9 product: 18 0 1 3 0 3 1 sum:8 product: 9 P:\test>503446.pl -SEED=1000 3 3 0 3 0 0 sum:9 product: 27 3 3 0 2 3 3 sum:14 product: 162 3 1 3 1 3 0 sum:11 product: 27 3 1 3 0 0 2 sum:9 product: 18 3 0 2 2 3 2 sum:12 product: 72 3 0 1 1 0 0 sum:5 product: 3 2 2 1 0 1 2 sum:8 product: 8 2 1 1 0 3 2 sum:9 product: 12 2 1 0 3 1 1 sum:8 product: 6 2 0 3 0 2 2 sum:9 product: 24 2 0 1 1 2 1 sum:7 product: 4 1 3 2 2 2 0 sum:10 product: 24 1 3 0 1 3 1 sum:9 product: 9 1 2 1 1 0 1 sum:6 product: 2 1 1 3 2 3 0 sum:10 product: 18 1 0 2 0 1 1 sum:5 product: 2 0 3 3 0 1 2 sum:9 product: 18 0 2 3 2 0 0 sum:7 product: 12 0 2 3 0 3 1 sum:9 product: 18 0 1 3 0 3 1 sum:8 product: 9
In reply to Re^2: Metric for confidence of complex match
by BrowserUk
in thread Metric for confidence of complex match
by japhy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |