Hacker News new | past | comments | ask | show | jobs | submit login
What if there's a voting system where one needs 43% or more to win? (explained)
1 point by pantantrant 11 months ago | hide | past | favorite | 8 comments
In my previous post, I made a pseudo random number generator (licensed under the Public Domain) where every bit is 42.5% random in 10 lines of code and it outputs a byte every clock cycle. Thoughts on this?

Basically, it's a filter against my simple pseudorandom number generator so it keeps narrowly losing and winning for it is an extreme rarity.

To win, one idea gets 43% or more of the votes. If two ideas get 43% or more of the votes, restart. Or it could not restart but something else, am open to changing my mind about the restarting idea.




> In my previous post, I made a pseudo random number generator

Someone pointed out that what you made is just a function that outputs triangle numbers: https://news.ycombinator.com/item?id=39462194

So, it's nowhere near a pseudo-random number generator; for any given output, it's trivial to guess the next (and previous) numbers.

I also don't understand where your 42.5%/43% numbers are coming from. What does it mean for "every bit is 42.5% random"? How does your code output a byte every clock cycle?


I changed the printf line of code to this (printf("%2x", integer);) to make it a pseudorandom number generator and made a post about it https://news.ycombinator.com/item?id=39462913 (10 Lines of code 3.4 bits of noise per byte weak pseudo random number generator)

I compiled it, ran ./vitalixprng &> output.txt and then ran Detect It Easy's entropy measuring tool on output.txt to give me around 3.41 bits of randomness per 8 bits.

It outputs 2 hex characters (hex character = half byte = 4 bits) per clock cycle.

It gives out pseudorandom output that looks like this:

28595827262617506937569201755869372950673748294758392


I still don't understand how it's a pseudo-random number generator. you're still outputting `integer`, you're just using %u instead of %2f - instead of a floating point number, it's an unsigned integer, right? (I haven't used C/printf in awhile.)

And the measure of entropy means nothing. If I know that the last number that was output was 10, I know the following number will be 15.


In most electoral systems, winning 43% of the vote is usually sufficient to gather a representative majority.

Even in USA which is highly bipartisan, people vote is not directly linked to electoral votes. In Serbia (and possibly many other countries), there is a census and parties under it have all the votes for them basically ignored (I remember a vote from ~10 years ago with a census of 5% when less than 20% of the voting population resulted in over 67% of parliament seats).


Which such systems have a system where ideas that are 43% or greater usually win? I want to know.

Edit: My dad says that Ukraine has such a system where 40% or more, cool.


Ones where the incumbent gets 43% and is unwilling to step down?


I edited my post so if two candidates get 43% or more then restart. Thanks for the correction. Or it not restart but something else, am open to changing my mind. (see ChatGPT reply below)


Uhm, what I said is that most voting systems are not that simple: eg. in USA in Trump vs Clinton, Trump won the presidency even of he won 46% of the popular vote vs 48% for Hilary: https://en.m.wikipedia.org/wiki/2016_United_States_president...

Many voting systems require a party to pass a voting threshold to get any seats. Imagine a threshold of 5%, and 10 parties each winning 4% of the vote, with one party winning 40% and another winning 20% (4% x 10 + 40% + 20%): votes for those 10 parties get discarded any you generally have 2:1 for the two winning parties, with one having 66.6% of the seats yet only winning 40% of the votes (something like that happened in Serbia ~10 years ago).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: