- Final Thoughts
A few ideas:
- Problems with exact answers or that build off previous answers are not the best kind of problem to implement, because the answers received through JBDC have a higher probability of being inaccurate.
- Through JBDC you get cheap labor out of visiting computers, so data analysis might be the best application of this.
- Would be good to implement this on a site that made you keep going to different pages or that made you reload a lot. Possibly a news site of some sort, or maybe implemented in a Facebook application.
If anyone has any questions or suggestions for this, please let me know. This website is officially frozen now. I added some additional progress reports that I had not kept adding, hence the 12/15/08 date on them.
- Progress Report #8
I had a wicked off by one error that took me a while to isolate and fix. But after that, the summations for partial computations were working on any arbitrary piece of the problem. I added a little change to the GUI on the computation page. Besides that, I tweaked a lot of other things throughout the application to get it running more smoothly and securely.
- Progress Report #7
- Progress Report #6
I got some of the things that I needed to get done this week. Including the test, at http://seniorproject.korykirk.com/testpi.php it will probably show you errors if you go to it right now. I updated some UI elements, and have a prototype of a new view that I am working on (not implemented yet). I need a prettier way to show the info. http://www.everything2.net/index.pl?node_id=1302963 also check out that site, I found it pretty funny and relevant to my project.
- Progress Report #5
• Set up a database schema and implemented it.
• Worked on security.
• Figured out some optimization
The relationship between the summations of a single calculations of the bbp formula for pi is a factor of 16. Just multiplying by a factor of 16 for each addition space wanted loses accuracy. Therefore there I just need to figure out the summation needed to maintain digit precision – this is not as big of a concern for me right now. The DB schema I set up makes sure that if two people requesting the site at almost the exactly same time will be given different pieces of the problem. It also makes sure that if someone gets a piece of the problem, but never reports that info back to the server – that absence of a value will recognized and the value will be recalculated. Also fixed a vulnerability where people could easily send post requests to my server and give false data. Now I want to make the website look nice and shiny. I want to make sure I fix any other Security flaws / bugs. I also want to get the browser load implementation to work. I don’t think I will implement the browser-specific pieces of problems until I get some more data for the calculation speeds of different browsers. Right now I do not have enough info to make a general browser adaption algorithm, but I will be able to give bigger loads to Firefox 3 and Chrome. Also want to write a script that lets me know if the calculation is ever off to ensure accuracy and to help detect bugs.
- Progress Report #4
This week, I made significant progress on my prototype. I implemented modular exponentiation to cut down on the size of the numbers I am using for calculation. I also implemented a method in which the calculations do not use floating point data types, due to their inaccuracy in certain calculations. Currently my prototype is not outputting the correct values, but I am still working on that. It was outputting the correct values before I implemented these two things, so I am attempting to fix the code and find the source of the problem.
- Progress Report #3
- Progress Report #2
This past week I have spent a lot of time researching on how I want to implement my first Cooperative Distribution problem as calculating the digits of Pi. There is a formula called BBP Formula for Pi (link) that will find the Nth hexadecimal digit of pi. This is good because it can accurately calculate a few digits of pi. This is also good because the calculations involved are not that computationally intensive. It is, although, difficult to implement this algorithm, and I am still working out the tweaks. The link given above is very informative, so is the Wikepedia entry. I also have created a schedule for my project, which can be found here.
- Progress Report #1
In this past week I have been trying to find a problem that I want to start with for this form of problem solving. I had a meeting with Dr. Way, and he told me that this sort of project is an example of Cooperative Distributed Problem Solving. Hence the new name of my website and project. I am going to create a schedule for developing my Senior Project over the coming weeks. I have everything I need for starting on the problem, so I am going to begin working on a prototype this coming week. In this prototype I will create a basic framework for JBCDPS (and hopefully find a shorter acronym). Some things I need to do in the weeks after this one. Implement Distributed Problem Solving on an initial problem and get some results. Make sure that the code is secure and that no rogue posts or bad data can be entered.
- Project Idea
- Top Links
Notice the top links, there is a link to my Senior Project class website, and a link to my own personal website.
- Welcome to my Senior Project Blog
This is my Senior Project page. I will be providing a description for my senior project on this site soon. I have created this blog in php over the past two days, and I am going to keep up on it.