G-Research: Difference between revisions

From Computer Laboratory Group Design Projects
Jump to navigationJump to search
No edit summary
Line 3: Line 3:
===2016===
===2016===


Waiting for suggestion
Original suggestion:
 
There are around 40 million smartphones in the UK alone. That's a huge computing resource which lies unused much of the time as even today's teenagers rarely check Facebook while they sleep. Design a distributed compute framework with a central server which can split up large compute tasks into small jobs and distribute them to mobile clients. Your solution should be cross platform so using JavaScript and either running in-browser or via Ionic may be a good choice. Once you have a basic setup running with a server, client and demo distributed application there are lots of extensions to consider: How can you secure the platform so that it can't easily be stolen for use as a giant ready-made botnet? Can you come up with a business model where clients can pay for compute time and mobile phone owners are incentivised to provide it? Malicious phone owners might try to provide bad data either to deliberately attack a paying client or to increase their processing speed and therefore get paid more - can you stop them?
 
Alternative:
 
Put your phone to work
 
When people browse social media sites on their phones for hours every day, most of the CPU power goes unused. The old desktop equivalent of this problem was the screensaver, which did little of value until it was co-opted for distributed computing projects such as SETI@home. Your task is to make a platform that can perform useful computation in the background on a large number of mobile phones, while the owners are on social media - or even while they are asleep. It will have to run cross-platform, perhaps using JavaScript, but must also give the appropriate incentives to users - will it drain batteries or incur network charges? If so, what kind of application would customers pay to run on such a platform? Would phone sensors offer any specific value? You need to demonstrate an end-to-end solution including servers, mobile clients and an example application, keeping in mind the security implications if either customers or phone owners try to cheat the system.


===2015 project===
===2015 project===

Revision as of 18:39, 19 October 2015

Dominic.Nancekievill@gresearch.co.uk

2016

Original suggestion:

There are around 40 million smartphones in the UK alone. That's a huge computing resource which lies unused much of the time as even today's teenagers rarely check Facebook while they sleep. Design a distributed compute framework with a central server which can split up large compute tasks into small jobs and distribute them to mobile clients. Your solution should be cross platform so using JavaScript and either running in-browser or via Ionic may be a good choice. Once you have a basic setup running with a server, client and demo distributed application there are lots of extensions to consider: How can you secure the platform so that it can't easily be stolen for use as a giant ready-made botnet? Can you come up with a business model where clients can pay for compute time and mobile phone owners are incentivised to provide it? Malicious phone owners might try to provide bad data either to deliberately attack a paying client or to increase their processing speed and therefore get paid more - can you stop them?

Alternative:

Put your phone to work

When people browse social media sites on their phones for hours every day, most of the CPU power goes unused. The old desktop equivalent of this problem was the screensaver, which did little of value until it was co-opted for distributed computing projects such as SETI@home. Your task is to make a platform that can perform useful computation in the background on a large number of mobile phones, while the owners are on social media - or even while they are asleep. It will have to run cross-platform, perhaps using JavaScript, but must also give the appropriate incentives to users - will it drain batteries or incur network charges? If so, what kind of application would customers pay to run on such a platform? Would phone sensors offer any specific value? You need to demonstrate an end-to-end solution including servers, mobile clients and an example application, keeping in mind the security implications if either customers or phone owners try to cheat the system.

2015 project

AI racing market

Project suggestion:

Today's high tech financial markets provide a competitive environment in which having access to the smartest software can make the difference between success and failure.

We would like you to create a similarly competitive environment where programs can be designed and then pitted against each other, only with rather better graphics. The software in this case will be driving cars in a racing simulation rather than placing orders on an exchange.

Using Unity as a starting point to provide a graphics engine and physics model, your completed project should allow a competitor to sit down at an easy-to-understand interface and write a simple controller for a racing car, then at the touch of a button see that how that controller fares in a race against those of other competitors (and at least one which you've created yourselves).

The API should be simple enough that I can knock something up in a few minutes on the demonstration day which will at least make it around the track, even if just by sticking to 10 mph and aiming for the middle of the road. At the same time there should be enough detail in the AI's view of the world to make it possible to write a truly smart driver which takes the racing line, responds to other cars and understands as much of driving as your physics model allows.

We're always looking for ways to identify smart graduates at recruitment fairs, so if your solution works well we may ask to take it to universities around the country as a way of identifying high calibre students.


Modified:

AI racing market



Projects from previous years: