I heard that Augur was using some other algrithm instead of SVD.
making SVD deterministic, and having it be a part of an erlang release for flying fox is very difficult.
Existing SVD algorithms use mutable lists, which erlang does not have.
The C version isn't deterministic.
So I rolled something similar to SVD that is easy to write in erlang.
I let oracle participants choose between 4 things. true/false/need more time/bad question.
I use the weighted mode to decide which of the 4 is correct.
Next I calculate new weightings for each oracle participant. Every question they got wrong lowers their power to 9/25ths what it was before.
Unless they choose "need more time" and the outcome was true/false, or if they choose true/false, and the outcome was "need more time". In those cases their power only lowers to 3/5ths what it was before.
I use the new weightings to re-calculate the outcomes of each decision.
This is the final outcome.
Is this a reasonable alternative to SVD? Are there any negative repercussions to doing this?
Should I have the constant 3/5ths be a variable based upon the number of things they are betting on or the number of oracle participants?