Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: How to avoid rounding off in binary representation

  1. Mar 30, 2012 #1
    1. The problem statement, all variables and given/known data
    Is the fundtion defined [itex]f:P(\mathbb{N}) \to [0,1][/itex] by

    [itex] f(X) = 0.a_{1} a_{2} \dots [/itex] in binary representation where [itex] a_{k}=1 [/itex] if [itex]k\in X[/itex] and otherwise [itex]0[/itex] one-to-one?

    (*note: N does not have 0)

    If not, can you change bit so that the changed funtion becomes one-to-one?

    2. Relevant equations

    3. The attempt at a solution
    I know this function is surjective if I interpret the decimal expression in binary representation. But then in this case f({1}) = f(Z\{1}) as 0.100000.. = 0.011111111..., therefore not one-to-one. (Am I right?)

    So can I in some way make a function that is one-to-one and similar to this one by somehow avoiding the rounding off problem? Could you give me just a hint? Thanks.
  2. jcsd
  3. Mar 30, 2012 #2


    User Avatar
    Gold Member

    I have a way of doing this, but it is pretty inelegant. Are you alright with expanding the codomain of the function?
  4. Mar 30, 2012 #3
    Well, yes. Just give me a brief idea of it, please. And also.. as an extra question, well... do you have another idea of making bijection between two sets? This binary representation thing is not the best idea on making bijection between P(N) and [0,1].. right?
  5. Mar 31, 2012 #4

    I like Serena

    User Avatar
    Homework Helper

    I haven't completely figured it out, but you can make a distinction between 3 types of sets:
    1. Sets X with a finite number of elements. Let's call them "0-tail".
    2. Sets X that contain all elements of ##\mathbb{N}_{>n}## for some number n. Let's call them "1-tail".
    3. Sets X that belong neither to sets of type 1 nor to sets of type 2. Let's call them "no-tail".

    Now we can for instance take your binary representation, but divide all 0-tailers by 2.
    And divide all 1-tailers by 2 and subtract from 1.
    That way, you'd have a bijection of ##\mathcal{P}(\mathbb{N})## to ##[0,1)##.

    EDIT: edited the 1-tail operation.
    Last edited: Mar 31, 2012
  6. Mar 31, 2012 #5


    User Avatar
    Gold Member

    I have not checked if I Like Serena's solution works, but another (similar) way of doing this is to expand the codomain to be [0,1] and all real numbers in [1,2] with which have tails consisting completely of 1s. Then you just map the problematic elements into your expanded codomain.
  7. Mar 31, 2012 #6
    I'm not quite sure what you meant. The image of the mapping is still [0,1]. Isn't it?
  8. Mar 31, 2012 #7


    User Avatar
    Gold Member

    No. The point is that you can easily define a new mapping which is one-to-one and maps onto the expanded codomain I mentioned. Notice that for each [itex]x \in [0,1][/itex] there are at most two sets in [itex]\mathscr{P}(\mathbb{N})[/itex] which will map to [itex]x[/itex] with your original mapping. Now define a new mapping which takes these problematic sets into the added part of your codomain. Do you want more of a hint?

    Edit: It is also worthwhile to check if you can use I Like Serena's solution. His/her posts are very good.
  9. Mar 31, 2012 #8
    I think it's quite enough. Thanks guys.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook