This commit is contained in:
Ingy döt Net 2013-04-10 21:29:02 -07:00
parent 764da6cbbb
commit db842d013d
19005 changed files with 197040 additions and 7 deletions

View file

@ -0,0 +1 @@
entropy=: +/@:-@(* 2&^.)@(#/.~ % #)

View file

@ -0,0 +1,2 @@
entropy '1223334444'
1.84644

View file

@ -0,0 +1,17 @@
: -rot rot rot ; [] '__A set : dip swap __A swap 1 compress append '__A
set execute __A -1 extract nip ; : nip swap drop ; : sum '+ reduce ;
: 2array 2 compress ; : comb "" split ; : lensize length nip ;
: <group> #( a -- 'a )
grade subscript dup 's dress distinct strip
length 1 2array reshape swap
'A set
: `filter(*) A in A swap select ;
'`filter apply
;
: elements(*) lensize ;
: entropy #( s -- n )
length "<group> 'elements apply" dip /
dup neg swap log * 2 log / sum ;
"1223334444" comb entropy . # 1.84643934467102

View file

@ -0,0 +1,2 @@
shE[s_String] := -Plus @@ ((# Log[2., #]) & /@ ((Length /@ Gather[#])/
Length[#]) &[Characters[s]])

View file

@ -0,0 +1,4 @@
shE["1223334444"]
1.84644
shE["Rosetta Code"]
3.08496