Advertisement

Thesis for advanced computer science

Started by July 05, 2020 11:33 PM
18 comments, last by mtlk 4 years, 4 months ago

Hi all,

I'm looking for advice on what sort of perspective and context I should keep in mind when deciding on a masters project.

During my BSc, I developed an ant life simulation to demonstrate the use of behavioural AI an autonomy in games.

This year for my masters project I proposed to my supervisors the idea to redevelop this technology with new features however, was quickly challenged on this.

According to them, an undergrad project requires around 400 hours worth of work where as a masters level project requires 600. Also, there needs to be more critical evaluation and thinking ensuring that there is relevant literature to support the development of the project.

It cannot be some run-of-the-mill software if I'm developing one.

This has made me to believe that perhaps this idea lavks the proper context and my perspective is not accurate on what I need to be doing.

I was wondering if I could get help on understanding how to approach choosing and outlining a topic based on my previous work if possible or if not, help on deciding on a new topic related to AI and games where I get to develop a relevant system that could be appropriate for a masters project.

If more clarification is needed please let me know.

Boss Fight, Boss Fight, Boss Fight!

I'm talking from my perspective having completed a M. IT, and not specifically a M. Sc… which i'm assuming you are. Also noting that criteria may differ from country to country, post-grad course to course, etc.

I was significantly challenged by my university when I approached my supervisors to seek sponsorship for my project, in essence every supervisor gave the same response: The contribution you make in a masters thesis needs to be something that progresses the academic understanding of a topic, or is a discreet and significant contribution to the field in which you are studying. R

e-developing a project from your undergraduate, for the sake of redeveloping it with new technologies in mind will likely be insufficient to answer any academic question, there should be a test/measurement, evaluation, or discussion… rather than just rewriting/refactoring code.

You need to ask a question, or you need to academically focus on a topic. The approach I was encouraged to do was to look at the research in the industry and academia around the topic I wanted to look into (mine was "Gamification in Computer Assisted Learning for modern purposes") and identify something that either needs to be expanded on, challenged, or something new that no one has thought about.

To bring it back to your “Ant Farm AI Simulation” what questions are you answering by rewriting the code with contemporary approaches? Are you trying to identify quicker ways for ML to iterate through a problem (Seek and react?), better simulate crowd/swarm behavior? At a masters level, i expect ‘does code B perform faster than code A’ will not be sufficient, but something like ‘does code B result in a new novel way of modeling a problem that was first identified in code A’ may well work.

Advertisement

OpenGL compute shaders might be the GPGPU solution that you never knew you were looking for? Why not throw in some socket programming too? What's considered advanced?

@stragen Very insightful. One of my initial thoughts was that I want to contribute to the development of AI characters in games which lead me to create the ant farm simulator.

The way I designed it, there was not that much use of advanced ML techniques. All I used were decision trees, not even search heuristics. So this time round I wanted to apply ML and AI concepts in order to facilitate more natural and complex behaviour in the ants. Future work would be to introduce an engine that could be used to develop games that focus on autonomy perhaps inspiring a whole new genre or bringing attention to existing genres that might benefit from autonomous agents.

Would you say this is on the right path in reference to what you have pointed out.

Boss Fight, Boss Fight, Boss Fight!

@taby these are interesting questions I could try to pursue but, my field is in AI. I'd rather develop something with that in mind. Also, it's quite difficult describe what they mean by advanced. Let's just say the focus is on researchthatcontribites academically.

Boss Fight, Boss Fight, Boss Fight!

Forgive my ignorance, but a regular feed-forward back-propagation neural network consists of a ton of dot products. That's something that can be accelerated by the GPU.

Advertisement

You kinda have the right idea, the appropriate way to approach research is by finding an interesting (unanswered) problem, then figuring out what work must be done to answer it. The topic choice needs to be something that you actually care about contributing to the world though, not just something that satisfies some requirements.

What motivates you? What do you think is cool? How do you want to push AI forward? If you can't answer these, you need to learn more about your chosen field. Do a survey of existing games with large-scale sims, watch relevant talks, etc. Eventually you'll reach a point where you see the edges of our understanding, and can then figure out which direction you think should be explored.

Ninja Boss Fight said:
The way I designed it, there was not that much use of advanced ML techniques. All I used were decision trees, not even search heuristics. So this time round I wanted to apply ML and AI concepts in order to facilitate more natural and complex behaviour in the ants.

To talk to this directly - You're proposing a solution, before you are thinking about the question/problem fully… specifically:

[…] [A}apply ML and AI concepts{/A] in order to facilitate [P}[a better means to model] natural and complex behaviour in the ants{/P] […]

<Edit> the formatting didnt display so, [P] [/P] = problem, [A} {/A] = answer </edit>

From an academic perspective, why is modeling the natural/complex behaviour in ants important? what does the rest of the academic community think of using ML for swarm/ant colony modeling - there are 19000+ results on google Scholar for “using artificial intelligence to model and behaviours in an ant farms”, so there has to be something there - is there something you agree/disagree with? What application could this be used for - disease transmission modeling (very topical), pest control, decision rationalisation (psychology)? What does your research show could be a gap in our understanding of ML in this application?

Once you can answer these questions you might have a better understanding on how you might be able to re-use your previous investigations towards a thesis topic.

Ninja Boss Fight said:
Future work would be to introduce an engine that could be used to develop games that focus on autonomy perhaps inspiring a whole new genre or bringing attention to existing genres that might benefit from autonomous agents.

An aside, your future work does not support the earlier goals - or at least the way you have described it doesnt portray that to me appropriately, it also suggests that you need to do a little more research into the topic of autonomous learning engines in game/simulation environments as this is a significant research area, products and solutions.

To further explain what i went through for my Masters thesis:

For me to be able to submit my topic idea, i had to supply a literature review of the topic that i had decided on. That review constituted 1/10th of the work that i would be required to complete as a part of the thesis project, and by completing this I was able to definitively say - yes this is a problem, or - this is something that needed more investigation.

It had to answer the fundamental question of “Is there sufficient research in the field?”, “Will my research and work contribute a discreet academic item?".

I had to determine, define, and explain a scientific experiment to test my topic and theories (experimental method, expected results).

Produce the product by which to experiment the theory (complete the coding/development of the application/game) including showing the process.

Execute the experiment and record results.

Document and discuss my findings and outcomes, along with future work.

15,000 words, double space, no smaller than size 12 font +references (ended up being 5 pages of them) not included in the word count.

@stragen To be honest with you, I'm not giving the full picture. I have written a survey paper/literature review on AI in game development. I narrowed down my focus to games where autonomy is a major mechanic (a good example would be Castle Story). These games that I discovered and analysed are very few but they represent a new and unique way to play games.

The fact that the agents I am modelling are ants, has no significance. They are simply a theme to drive the simulation of AI in a game setting.

What I found in the literature I read was that, there has been a huge focus on immersion through graphics, audio and acted out animations. The mechanics of the games themselves have had improvements but, creating believable and memorable NPCs has not been given that much attention till very recently.

The problem is that NPCs tend to be predictable and take from the immersion of the player in the game. This problem has many factors so I tried to tackle a small portion of it. As you pointed out, creating complex behaviours but, not just for ants. For autonomous agents in general.

My first attempt didn't quite succeed in solving this problem but demonstrated the ability to solve the problem with further development. A POC.

So, I want to contribute a piece of software that showcases one or several ways in which autonomous agents can be beneficial to gameplay, what these agents are capable of and how to create them.

Do ou reckon you can give me a few examples of a good thesis topic?

Or would you need more to go on?

Boss Fight, Boss Fight, Boss Fight!

Is solving for a maze advanced?

P.S. When you say autonomous, do you mean self-reproducing, like the game of life?

This topic is closed to new replies.

Advertisement