Coder Social home page Coder Social logo

dposvoterrepresentation's People

Contributors

luker501 avatar rosauthority avatar

Watchers

 avatar

Forkers

eosauthority

dposvoterrepresentation's Issues

Non alignment between efficient EJR algorithm and complete algorithm

The Extended Justified Representation Axiom requires each committee to be assigned a score. Assigning a score to a committee naively requires calculating each individual voter score and then summing them up (this is what [this file does](https://github.com/Luker501/DPoSVoterRepresentation/blob/master/PAVScoreOfACommittee.java for the committee with the block producer candidates with indexes defined by the S array on line 14).

We have created a more efficient version of this algorithm, which we describe on the last page of this paper and we implement in this file.

But our efficient version of the algorithm does not return the same score for all of the committees it analyses. For example, if you use the example data provided, our efficient algorithm generates 3 separate committees, the last 2 of which have different scores compared to the naive implementation (see this file for further implementation).

This is mostly likely a rounding issue as we have many doubles and divisions in both files. But I have yet been able to resolve where the issue is, so that both files return the same score for every committee.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.