Settings

Theme

What if there's a voting system where one needs 43% or more to win? (explained)

1 points by vitarnixofntrnt 2 years ago · 9 comments · 1 min read


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.

pavel_lishin 2 years ago

> 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?

  • pantantrant 2 years ago

    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

    • pavel_lishin 2 years ago

      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.

necovek 2 years ago

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).

  • pantantrant 2 years ago

    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.

    • uberman 2 years ago

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

    • necovek 2 years ago

      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).

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection