Giter Club home page Giter Club logo

dsfp's People

Contributors

a1liu avatar a2liu avatar

Watchers

 avatar

dsfp's Issues

Node containers

Nodes don’t need to contain user objects, they only need to hold references to the row of the user in the MySQL database. They may then also have to hold a few more bits of info, like weight and list of ratings. May have to create an object to hold this info and rework the “vertex” class.

Sent with GitHawk

ratings graph edges

Each node in the ratings graph should have a collection of edges going from it to other nodes that have rated it, instead of the other way around. The weight of the edges will still be a rating, but it'll be a rating that's received instead of given. Lists of ratings for the user can be generated through SQL queries instead of through the network; the network is built for searching for friends and for updating the ratings table.

Rounding

Need to use rounding in order to prevent a single update from traversing the entire network.

Sent with GitHawk

BS reasons why this project may have applications in the future

Util Package. Will definitely be useful in future work.

May be able to edit algorithm to make ratingsNode objects mirror the behavior of neurons. Probably ineffective to in a language like Java, but basic concept can be ported over to Python later if need be.

Also, might be able to change algorithm to accept other parameters, i.e. tags, and then use modified algorithm to do stuff with Uber driver ratings or Yelp ratings (businesses rating businesses). Or even scientific publications (reputable and irreputable journals that reference each other). Still needs to be sorted out though.

User Ratings

Users should start with a rating of 1. As they get ratings, their initial ratings get replaced by real world ratings. Also, people that have been rated more, and rated more consistently, also have higher rating weights.

Updates

Will probably need to make an “Updater” class to update the network. Otherwise handling the references might make the code too messy and hard to read

Sent with GitHawk

Action threshold for update

Ratings may cause feedback loop in network. To fix, each node should have a counter that checks for how many times it has been updated, and slowly increase the amount of difference in rating necessary to cause an update. I think threshold should probably increase quadratically. May have to create another network class that extends NodeNetwork to implement updates to the network.

Sent with GitHawk

Network change values

Will need to store an image of network before update chain and find difference between the old and new network, and send the difference back to the database.

Sent with GitHawk

CRITICAL FLAW IN UPDATE()

Add a secondary hashtable that contains previous iteration's information first, then update nodes off of that info so that updates are all effectively simultaneous.

ALSO THIS WAY TRAVERSAL ORDER DOESNT MATTER AND THAT IS GOOD.

loadNetwork()

There needs to be an easier way to load edges into the network than just filling a csv using google sheets/excel. Maybe I could write more functions, but I'd prefer not to. It's annoying coding in 2-3 different languages simultaneously. I'd much rather just code in one (Java). Also, I dislike coding in Google sheets; it takes whole minutes to process simple calculations over a few hundred thousand cells, and has a 2 million cell limit.

UI

UI could be done with JavaFX Control? Or just normal JavaFX

Updating social graph

Just keep the rest of the network static. No need to keep whole network exact, calculate exact values for specific subsection then let the rest go.

Sent with GitHawk

Self ratings

The self rating shouldnt stay at 1. It makes attaining a 5 practically impossible, and also makes it harder to reach equilibrium.

Sent with GitHawk

TODO

Add config file support for server package
Add user file support for user class
Add admins with extra priveledges
Add datastructure for ratings system
Add modular ID confirmation/security features
Add tons of other stuff

Sent with GitHawk

Add messaging stuff?

Idk how to implement messages yet but i can probably try? I guess it’d just be another edge network with repeat edges and each edge holds a message, the order of the primary key determines message order, and the messages are dumped into the DB w/ synchronized methods. There might be some probs with retrieving though. Don’t wanna parse through entire edge list to receive a single message.

Sent with GitHawk

Use Java.util.properties

Remove strings from code that directly reference stuff in computer, put it in a property file instead and add that file to .gitignore

Vertex obj

Include a parameterized type T and use that to set the name/key of each vertex to make it easier to use toString methods

Sent with GitHawk

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.