in reply to Re: Metric for confidence of complex match
in thread Metric for confidence of complex match

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

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.