R and python

Previous topic - Next topic

zack

I figured out how to run R code from python. I have access to all the functions, but I don't know when to use which one...

When a decision is proposed to the voters, they all vote on how high the fee will be to mediate this decision.
Which function do you use to turn all the suggested prices into one price?

After all the votecoin holders vote on a set of decisions, a matrix is formed. Voters x Decisions. I think I know how to build this matrix.
Your code transforms the matrix into a list of outcomes of each decision, and you punish/reward every votecoin holder.
Which function is used for this part?

(just talking about consensus mechanism and votecoin holders now. Not yet caring about PMs or shares.)
Is there anywhere else I need to use Paul's code, besides the two places I specified?

What if a pool of votecoin holders only gets asked 1 decision? Is it ok that the matrix is only 1 column? Will this be any less accurate?

psztorc

Quote from: zack on June 02, 2014, 05:34:24 AM
When a decision is proposed to the voters, they all vote on how high the fee will be to mediate this decision.
Which function do you use to turn all the suggested prices into one price?
Branches have parameters fee1 and fee2, this fee rises to retarget as a function of 'Participation'. This is not crucial, so I'd avoid it for now. Just assume 5$ or something.

Quote from: zack on June 02, 2014, 05:34:24 AM
After all the votecoin holders vote on a set of decisions, a matrix is formed. Voters x Decisions. I think I know how to build this matrix.
Some of that is in 'Governance.R'

Quote from: zack on June 02, 2014, 05:34:24 AM
Your code transforms the matrix into a list of outcomes of each decision, and you punish/reward every votecoin holder.
Which function is used for this part?
Factory()
Check out this: https://github.com/psztorc/Truthcoin/blob/master/lib/consensus/Tests.md

Quote from: zack on June 02, 2014, 05:34:24 AM
Is there anywhere else I need to use Paul's code, besides the two places I specified?
Probably for Buying and Selling (within markets), to make sure the LMSR / data fields are consistent.

Quote from: zack on June 02, 2014, 05:34:24 AM
What if a pool of votecoin holders only gets asked 1 decision? Is it ok that the matrix is only 1 column? Will this be any less accurate?
That's not ideal at all. It probably will fail computationally when it tries to build a covariance matrix, if not earlier. And yes, it will be less secure and less accurate, and less incentive-compatible.
Nullius In Verba

zack

ok then, how many decisions do the pool of voters need, at minimum, per voting session? What if not enough decisions are given? Should they make up a bunch of other decisions to ask themselves?
Should they have 1 round of voting every 2 weeks? Every week?

psztorc

Some of the variable names no longer make much sense (except to me).

The Agents section is interpreted left to right, by Voter (each row is a Voter).

"OldRep" is 'The Proportion of Votecoins a Ballot-Submitting Judge owns' and represents "This periods reputation" or "the reputation used to vote this period", people are punished rewarded, via consensus and participation, until this value becomes "RowBonus". For example, "RowBonus" of period 3 is the "OldRep" of period 4 (if everyone held their Votecoins and didnt divide/combine them).

Hopefully, the Decisions section is much clearer...it is interpreted from top to bottom (each column is a Decision). DecisionOutcome.Final is the outcome, as hopefully is clear.
Nullius In Verba

psztorc

Quote from: zack on June 02, 2014, 05:18:38 PM
ok then, how many decisions do the pool of voters need, at minimum, per voting session? What if not enough decisions are given? Should they make up a bunch of other decisions to ask themselves?
Should they have 1 round of voting every 2 weeks? Every week?

I was thinking once per month, a small discussion of this is in the newly-updated FAQ.

If there are less than 10, I would probably wait until next month, and accumulate them. 4 is probably the absolute minimum.

I think you are right: voters can make up easy decisions to ask themselves...they won't mind paying the fee as it is to themselves. Votes do more than determine reality, they cross-validate other votes so they are very important...effectiveness actually increases with scale.
Nullius In Verba

psztorc

Therefore, Factory only needs to be run once per month. The same goes for Vote-Collection. No need to have every node calculate it for every block.
Nullius In Verba

zack

When a decision is asked, $5 must be paid to the pool of voters.
but what if the decision is poorly worded, or based off of opinion rather than fact? example: "Will it be hot out on Thursday?"

The votecoin holders need a way to throw out bad questions like this, right?

psztorc

There is a way.

:) It is in the whitepaper....you should really read it very carefully, because I think it would be less work for you to plan out the programming work in advance and do it all effectively the first time.
Nullius In Verba

zack

So everyone who is unsure of a decision puts 0.5 instead of a 1 or 0?
Having a whole row of 0.5's wont mess anything up? Aren't they punished for putting 0.5?

What if I asked a bunch of bad decisions to confuse people, and it was so confusing that voting ended up more-or-less random.
It becomes a guessing game to figure out how everyone else will vote, but everyone is trying to trick each other into voting wrong?

psztorc

Yes. No. Authors yes, Voters no.

Confusing decisions does not imply voting random, instead all .5 (actually easier).

I appreciate your concerns, and skepticism, but I really did give this a lot of thought before publishing it.  ;)
Nullius In Verba