Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^3: Algorithm to convert combinations to bitstring

by doowah2004 (Monk)
on Oct 18, 2006 at 19:36 UTC ( [id://579187]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Algorithm to convert combinations to bitstring
in thread Algorithm to convert combinations to bitstring

I will use an arbitrary example to show my line of think though it is not completely pieced together. Anyway this is what I have come up with:

for the alphabet (A-Z) n = 26
let k = 3
we want the location of 'HRY'
to find the "start location for 'H', that is the first instance where 'H' is the first character, we use:

sum[(n-x)!/((k-y)!*(n-x-k)!)]as x=0..z where: y = the base 1 position of 'H' in 'HRY' (in this case 1) z = the base 1 position of 'H' in the alphabet


There are 2 special cases, when k = 2 and when k = n. I will not address k = n because it is uninteresting, and for k = 2 see my previous comment in this thread.

If k > 3, then you would sum across the above equation for each character in the combination making the a appropriate substitution for y, and making a substitution for n such that n' = n - the alphabetic position of the character before it.

Hope that this is not too messy. Also this was done with pen and paper, so it is untested.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://579187]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2024-04-19 02:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found