markdunne / 33-questions Goto Github PK
View Code? Open in Web Editor NEW33 Questions
33 Questions
According to this: http://bloodcenter.stanford.edu/about_blood/blood_types.html
There's about a 50.3% chance someones blood type is:
'O Rh Positive' or 'O RH Negative' or 'A Rh Negative'
I think it's a sound question but those stats i'm using are US only (can't find global stats)...
“By 2000, the population balance had shifted, with half of humanity now living in cities”. Expected to raise, though.
The current 33-bit address space is sufficient for humans alive today, but 36 bits would be sufficient to handle all of the humans who ever lived.
Future expansion would necessitate adding more bits, of course.
Agreed, 2^33 is 8 billion 589 million 934 thousand 592, and the world has around 7.13 billion people. The math works.
http://www.jackhagley.com/The-World-as-100-People
This gives you a great clue into some of the questions you need to narrow down different demographics as rapidly as possible. However, I have no ideas about how to bring that down to the individual level.
For example: if you are one of the 13 people without access to clean water - we know your are one of 780 million people, and you are very likely in Africa (355 million), India (206 million), Asia (210 million) or Latin America (42 million) or one of 10 million in the remaining countries.
So "Do you have access to clean water?" rapidly narrows down the world, but where do you go next? Do you live in north America? a no-yes answer narrows the subject from one in 7.13 billion to one in 1.7 million (http://win-water.org/reports/RCAP_full_final.pdf) with two questions. If not then we have somebody who is one of 8.3 million living in Europe, Russia or Australia. So either way we have sorted the person from 7.13 billion (10^9) to 8.3 million (10^6) worst case in two questions.
Ultimately, we are 'sorting' 7 billion people (to identify one), so it is extra important to do this as quickly as possible. Ultimately, each individual is an outlier or else we can not identify them individually.
Are you male? yes (3.5 billion of 7 billion), no? Are you female? yes? (3.5 billion of 7 billion) no? Then you are a intersex. This requires at least 2 questions to identify outliers like hermaphrodites (http://www.isna.org/faq/frequency). Thus it is actually better to ask "are you a intersex?" first, because we learn something. Asking about your gender would seem to me to be one of the next to last questions used to identify an individual because while bubble sort will get the job done, it is just far more efficient to use a quicksort.
Why not ask unpredictable questions like: Which color do you like more? Blue or green?
Can anyone predict a bias for that one?
Wouldn't a lot of average based questions make a good 50-50 split, by definition?
Would it be best for each question to have approximately a 50/50 split of yes/no answers in the population? Presumably questions like "Do you live in a city?" would 'waste' distinguishing power since (as of 2010) more than half the global pop was urban. I think that you'd want all of the questions to be like "Are you female?", since close to 50% would be 1.
** EDIT: I'm a fool - didn't read the description closely enough. This was already addressed.
The second question is an example of this.
Do you currently live in one of the following countries: China, India, The United States, Indonesia, Brazil or Pakistan?
If a person were to move they would stand the chance of having the same identity as someone else. The correct question would be:
Were you born in one of the following countries: China, India, The United States, Indonesia, Brazil or Pakistan?
Education level can be a key factor for identification.
How do we identity a person?
First we need to find questions which divide humanity into more or less equal parts, and then find groups of questions which have very low correlation.
So I think, phase 1 of this project should be limited to finding questions which divides humanity, and rank questions on how evenly they divide. Gender would be close to 50:50, a major religion would be about 30:70.
The questions, being yes/no, may not give full information. For example asking if a person is male, if the answer is no we still dont know the gender of the person... this is fine.
What are the aspects of a person that can lead to a unique identity?
Their condition? wealth, education, employment, marital status, disabilities, diseases, ...
Their beliefs? religious, racist, liberal, ...
Their habits? diet, addictions, fitness, ...
'Static' information? date of birth, place of birth, gender as on,
The questions themselves are not meant to remain static. Shifts in demographics could happen. Populations could be wiped out by natural disasters, accidents or wars.
So we have to take a snapshot of people on a given instant and then figure out how to uniquely identify each one on yes/no answers.
So we have to identify attributes which we want to capture, and then build questions around them.
Sorry if this is rambling, but my interest has been piqued.
It seems to be a debate.
Example amongst others: issues #5, #29, #39, #8, #6 are debating or might encourage the debate about whether answers should or should not depend on time.
To me, it seems the intent of the owner was to give an immutable unique id to someone answering the questions. I think it makes sense. Can someone (@MarkDunne maybe?) confirm on deny this thought?
How about SNPs?
http://en.wikipedia.org/wiki/Single-nucleotide_polymorphism
Even if you can come up with 33 Questions that perfectly divide the human population as desired you'll run in to at least two issues in the coming years:
As it is becomes more socially acceptable to identify in a gender fluid fashion, having gender/sex as a question may not be ideal as it is not universally considered binary. Just a thought!
Given the question of mutability and the difficulty of coming up with these questions, should we instead use Hoffman's encoding to produce the bits from yes/no questions?
To the uninitiated, Hoffman's coding allows you to take into account the probability of something being true, giving us a lot of flexibility over the questions!
For example, assume that there are 4 people in the world: 2 red heads, 1 blond and 1 brunette.
The following questions can then uniquely identify each person:
Are you a red head?
Are you blond?
Here is why: The probability breakdown is as follows:
Red Head: 50%
Blonde: 25%
Brunette: 25%
If their answer is yes to the first question, assign a '1' as the first bit and the second bit as 0 for the first redhead and 1 for the second red head (Doesn't matter as long as they are unique)!. The trick here is to ignore the answer to the second question
If no, assign 0 as the first bit and 1 as their second if they are a brunette, and 0 otherwise.
Ultimately, we have:
00: Blonde
01: Brunette
10: Redhead 1
11: Readhead 2
http://poutsch.com is a twitter for questions with a finite number of predefined answers.
Since the aim of the project is to create a unique identification number base on 33 questions, asking for a parameter that is not constant and may change during time ruin this aim.
For example, If a person currently live in United States, and get an identification number base on this fact, and let say next year moves to Brazil, it means she no longer lives in US, so if she answers the questioner again she would be assigned another identification number, but she is still the same person!
So the solution could be either remove this question or change it to 'Did you born in one of the following countries...'
Maybe it makes sense to include something about names from the famous Falsehoods Programmers Believe About Names. My favorite is no.40: "People have names":
"Do you have a name?"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.