a2liu / dsfp Goto Github PK
View Code? Open in Web Editor NEWThis is my final project for Data Structures and Algorithms: a version of the fictional app "MeowMeowBeenz" from the tv show Community. Written in Java and SQL.
This is my final project for Data Structures and Algorithms: a version of the fictional app "MeowMeowBeenz" from the tv show Community. Written in Java and SQL.
Write new add methods in each type of network
Sent with GitHawk
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
Addvertex should return the name of the vertex it just created.
Sent with GitHawk
Write more comments
Sent with GitHawk
Sent with GitHawk
that way it's easier to implement features that have to do with standard deviation later
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.
Need to use rounding in order to prevent a single update from traversing the entire network.
Sent with GitHawk
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.
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.
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
That is all.
Sent with GitHawk
Sent with GitHawk
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
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
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.
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 could be done with JavaFX Control? Or just normal JavaFX
It's technically better than MySQL.
https://www.microsoft.com/en-us/sql-server/sql-server-downloads
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
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
Dont return edge or edgepair objects from network or graph public methods
Sent with GitHawk
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
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
See above.
Sent with GitHawk
Remove strings from code that directly reference stuff in computer, put it in a property file instead and add that file to .gitignore
Sent with GitHawk
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.