For specialized cases it is possible to achieve 1-1-ness: http://en.wikipedia.org/wiki/Perfect_hash_function
But this is not something that most people aspire to do for most types since 1-1-ness isn't essential in most applications and is costly to achieve. -- John On Dec 5, 2014, at 5:03 PM, David Koslicki <[email protected]> wrote: > Ah, of course! I was hoping that on certain data types it was 1-1, but I > guess that was a long shot. Thanks for clarifying. > > On Friday, December 5, 2014 4:57:41 PM UTC-8, Jason Merrill wrote: > If the space of possible hashes is smaller than the space of possible inputs > (e.g. the hash is represented with fewer bits than the input data is), which > is typically the case, then you can use the Pigeonhole Principle to prove > what John wrote: > > https://en.wikipedia.org/wiki/Pigeonhole_principle > > On Friday, December 5, 2014 4:35:18 PM UTC-8, John Myles White wrote: > This function is impossible to write in generality since hash functions > aren't one-to-one. > > -- John > > On Dec 5, 2014, at 4:32 PM, David Koslicki <[email protected]> wrote: > > > Hello, > > > > Is there a built in function that will undo hash()? > > > > i.e. I am looking for a function "dehash()" such that > > dehash(hash("ACTG")) == "ACTG" > > > > I can't seem to find this anywhere (documentation, google, this user group, > > etc). > > > > Thanks, > > > > ~David >
