How to avoid rounding off in binary representation

by julypraise
Tags: binary, representation, rounding
 P: 110 1. The problem statement, all variables and given/known data Is the fundtion defined $f:P(\mathbb{N}) \to [0,1]$ by $f(X) = 0.a_{1} a_{2} \dots$ in binary representation where $a_{k}=1$ if $k\in X$ and otherwise $0$ 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.
P: 1,391
 Quote by julypraise 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.
I have a way of doing this, but it is pretty inelegant. Are you alright with expanding the codomain of the function?
P: 110
 Quote by jgens I have a way of doing this, but it is pretty inelegant. Are you alright with expanding the codomain of the function?
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?

HW Helper
P: 6,164

How to avoid rounding off in binary representation

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.
 P: 1,391 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.
P: 110
 Quote by jgens 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.
I'm not quite sure what you meant. The image of the mapping is still [0,1]. Isn't it?
P: 1,391
 Quote by julypraise I'm not quite sure what you meant. The image of the mapping is still [0,1]. Isn't it?
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 $x \in [0,1]$ there are at most two sets in $\mathscr{P}(\mathbb{N})$ which will map to $x$ 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.
 P: 110 I think it's quite enough. Thanks guys.

 Related Discussions Linear & Abstract Algebra 1 Introductory Physics Homework 13 Introductory Physics Homework 1 Engineering, Comp Sci, & Technology Homework 0 Precalculus Mathematics Homework 2