Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^4: Finding Nearly Identical Sets

by Limbic~Region (Chancellor)
on Sep 29, 2016 at 11:45 UTC ( [id://1172910]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Finding Nearly Identical Sets
in thread Finding Nearly Identical Sets

BrowserUk,

I was trying to reduce the problem down to only the parts that matter. Through out the message, there are 10 markers - I am extracting and only interested in 9 of them. It is weird and highly domain specific (which I can't discuss).

This "set" of numbers for a given message is valid over a few days (let's say 10 days tops). The reset happens when the sender's right to send expires and they are removed so it is possible for the same numbers to be re-used at some point in the future but they would be considered "new" then. At any one time, I think I would have around 500K of the nearly 900 million possible.

Cheers - L~R

Replies are listed 'Best First'.
Re^5: Finding Nearly Identical Sets
by BrowserUk (Patriarch) on Sep 29, 2016 at 12:04 UTC
    Through out the message, there are 10 markers - I am extracting and only interested in 9 of them.

    Well, if the markers are encoded as digits, the code I posted elsewhere will still work.

    It would reduce memory a lot, (and make the random generation for testing a bit easier and quicker), if they were encoded as 0..8 rather 1..9.

    At any one time, I think I would have around 500K of the nearly 900 million possible.

    With method I've demonstrated, that becomes a moot point, as it will continue to work -- with the same memory requirement, right up to the point of having all 900M in play.

    The real problem comes with the compounding effect of the edits. If you have 500k 9-digit knowns, then there are 67,108,864,000,000 possible 1-digit substitutions for them. Of course, there are still only 900M possible 9-digit sets, so each of those can be a substitute for ~75,000 actuals. Your problem will be to determine which of the actuals it is a match for.

    The code I posted elsewhere is flawed. I completely forgot to test for the substitutions in that version. I've corrected that and am currently doing a test to check I didn't screw something else up. When its done, and assuming I didn't, I post the new version as a reply to the existing. (This is just a heads up for you not to waste any of your time on that version.)


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
    In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (5)
As of 2024-03-29 13:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found