AI & CogSci Final Project

Teams of Four students

Due-Dates:

  • Phase 1: 06-November (11:55pm)
  • Phase 2: 13-November (11:55pm)
  • Phase 2 Presentations Week of 13-November
  • Phase 3: 04-December (11:55pm)
  • Final presentations Week of 27-November

Objectives

Final Project Overview

This project is your opportunity to apply a method or theory from AI/Cognitive Science to explore and try to solve a problem. Half of the work with these projects is identifying a problem, understanding why we should care, and understanding why your take/solution is worth trying. Though this course has many transactional elements this meant to be more of an opportunity for it to be transformational. Though you will likely go on to allow much of the knowledge from this class to decay in memory, I want you to have an opportunity to cement some related knowledge in your memory through this project. If you do well enough (and are lucky enough to pick the correct problem), a project such as this could blossom into further applications and/or research. This could even be published in a way that would allow you to present work at a conference (e.g., Pham et al., 2018).

This End point of the project will involve four major parts:
The research paper, The implementation (in code), The presentation (keynote, powerpoint, prezi, etc.), The medium article.

You will carry out the following steps (not necessarily in order) to bring your project from concept to completion:

  • Select your team. Teams should consist of FOUR people. I will require that everyone speaks equally during the presentations and can explain any part of the work (within reason).

  • The team will work together to decide on a particular problem they would like to approach with a given theory or method in AI and/or Cognitive Science and what the goal of applying this theory or method will be. The problem formulation is important (what is it that you wish to tackle and why is it important?) Your problem can be a (reasonable) ultimate problem that you wish to tackle by exploring smaller or toy problems.

  • Once you have established the problem, you will begin to map out a proposed model that can be used to explore or solve the problem. This will provide a high-level explanation of how you think whatever method or theory you’re using will apply to the problem at hand and accomplish your goal.

  • To help map this out, you will use the Designing AI worksheet from the beginning of the semester to describe your planned project in terms of goals of your intelligent system, the environment(s) in which your intelligent system operates, and how your intelligent system will adapt to the environment to achieve said goals. This is what is due for your phase 1

  • I will work with teams on some designated project work days to check on the status and get estimates of time for the completion of the project. While I will be available to try to make sure you don’t go off into a barren desert, and can help point you to resources if you wish to use a method that we have not gone over, the point of this portion is to give you freedom to do something that you may think is cool using theories and methods from AI and/or Cognitive Science. o To help foster this, during these days I will ask everyone to bring along one burning question that you’d like to try to discuss in class.

  • Make sure you implement things as you go along to test theories and/or methods you want to use! I would suggest that groups meet 2 or more times a week in person to make sure you’re staying on track with the actual work. You don’t want to save all of the work for the last week.

There will be 3 Phases in this project

  • Phase 1 (developing the idea & proposing to use a certain method) – This is where you will hopefully begin to get a good idea and map of what you will be doing! The product from this phase should be at least a Goals, Environment, and Adaptation worksheet filled out for your approach.

  • Phase 2 (the rough draft phase). By the end of this phase (marked by the end of the phase due date) you will have a rough model or program of your approach to your chosen problem and you will have a rough draft of your paper (i.e., a partially filled outline). You will be tasked with giving a 7-minute presentation for this phase that will provide an update to your progress.

  • Phase 3 (Show me what you’ve done!). This is the final phase and at the end you will have a completed project! You will have completed implemented software and a research paper/report on your project. You will be tasked with giving a 20-25 minute presentation for this phase that will give details of your project (layout the problem, your approach, past related uses of your approach, past uses of other approaches to the problem, etc.) and also a demo of the implementation of your solution. - For this phase you will also complete a medium article about your project. Think about it as a less formal version of your research paper. Use this medium article to also address the ethical discussions related to your project. This is a great opportunity to cite news articles, blog posts, etc. related to your project

    • In addition to the deliverable above, your code should have documentation that details how to run, it, what it does, etc. You should include this as separate document altogether.

Project Options

I am leaving the project up to you. It’s up to you to look at the world around us and pick out a problem you want to explore and to which you wish to apply theory/methods from AI or cognitive science. Below I include some general areas that you could jump into with your project. You may recognize these from the midterm project writeup. Indeed, the only difference between this and the previous project is you have more time, experience, and group members, so now there is a greater expectation in the final product! Using intelligent agents in virtual environments

Agents in more open environments

You could use some of the foundational algorithms we have gone over to create intelligent agents that complete some set of tasks in some environment (e.g., moving about and surviving in a hostile Minecraft environment or an agent that competes in build battles, http://microsoft.github.io/malmo/blog/BuildBattle/Introduction/#minecraft-build-battles). There are fundamental ways to look at having these agents behave in open-ended environments (e.g., one can look at it as a multi-armed bandit problem), you can research how humans tackle some specific behavior in open-ended environments and create agents that behave like humans (based on some theory).

You could also create agents in some virtual environment or game that looks and acts like a real person to create a pseudo turing test. Creating the environments and scenarios, in addition to some agents, could be very useful!

Using datamining techniques to explore large datasets and understand them

You will likely want to have some experience in stats/datamining for this type of project. It would involve taking some data and coming to interesting conclusions from those data. This should involve understanding why the techniques used by you were use and how they relate to those in the past. To help understand what I mean see the example below. This is an actual challenge problem you could try to tackle. It was posed as a part of a conference SBP-BRiMS 2018 (Of course, you could use many other datasets from a site like Kaggle to explore a problem, this is just one well formed example.)

Overview
Opioids are a class of drugs that include illegal drugs (heroin), synthetic drug (e.g. fentanyl), and many pain relievers (e.g Vicodin®). These drugs are chemically related and interact with the opioid receptors on nerve cells in the body and brain.
The US is facing an opioid crisis. Deaths from opioids are increasing. Opioid abuse is a serious public health issue. Today, overdose deaths are the leading cause of injury deaths in the US.
In this year’s SBP-BRiMS challenge problem, we ask participants to consider the issue of opioid abuse.
The broad questions of interest are:

Rules

Computational models of human behavior

This category is similar to the 1st one posed, but the focus is a bit different. Here you would be focused more on the psychology/behavioral side and using existing computational models of cognitive science (e.g., cognitive models) to simulate the process of cognitive thought and behavior. You could use a Cognitive Architecture like ACT-R (Python or, gasp, LISP), Soar, or MicroPSI to develop these models for a specified environment or to explore a specific problem. This would rely more on cognitive, neurological, or perhaps social behavioral theory, but could result in some interesting work. This could be anything from “How would you use ACT-R to solve Go like a human” to “How could you use MicroPSI to create an intelligent agent that can recognize humor?” I would suggest you’re careful with this and spitball a bit with me before making a final decision if you think you’d be interested in this area. This can be complex because of the theoretical nature of it and cognitive architectures are fairly complex, so I can hopefully point you in the right direction/get you started.

Deep exploration into the ethics of an existing intelligent system

From Abeba Birhane's blog and originally This terrifying patent

With all of these examples the assumption is that you will create your own intelligent system and/or environment with a goal in mind. However, another thing that could be done is use existing intelligent systems and environments to explore ethical implications of using an existing intelligent system on within an environment in a way that it works well to accomplish a goal, but in some way that was not originally intended. With this work, the focus is on integrating an existing system in an environment and understanding the potential social and ethical issues with this integration. This is not really much different than what has already been discussed, but the goal of the work changes and thus the references and perspectives will change as well. If you’re unsure about whether you will have enough of a technical implementation should you choose this route, feel free to discuss with me.

Project Criteria

Teams

You will be required to work on teams with 4 people on each team. In addition to grading overall project deliverables, I’ll also get feedback from every group member on contribution/group dynamics.

Git

You must use Git to manage all of your material for your project and share this git repo with me. This will help me see how things are progressing and give me information for potential group member disagreements on contribution. You should name your project AICogSciFinalProject. Design and Implementation Details

I will periodically check on team progress by checking out the latest documentation, research report, and software from Git. I will only pull from the master branch.

Research Paper

Your final research report should be 10-12 pages in APA format and ~1.5 line space formatting. This should allow you to write enough to explain your problem, approach, and past research related to your work. I expect references and a bibliography section. You can find APA format online. Reference managers can be very useful for keeping all of your references in one place (especially in a group). One thing to remember is that figures can be your friend! Too often, new scientists seem to be afraid of figures. Use them to your advantage when they are the best way to explain something.

Readme

Do all you can to make sure that anyone could pick up your implementation and hit the ground running. This means the documentation should be done well enough that you could leave your project for 10 years and come back to it without too many growing pains. (ALSO MAKE SURE TO USE A README TO YOUR ADVANTAGE)

Final Project Presentation

Your team will be required to give a ~20 minute presentation with ~6 minutes for Q & A. You should be sure your presentation works on the classroom computer sometime before your presentation date or you must bring your own laptop, and make sure you know how to project your display on your external monitor port.

Generally, your presentation should present the problem in detail (including why we should care, or at least why you care), past approaches to solving the problem, past uses of your approach to other problems, and your solution. I’d also like a discussion on the progression of the project itself (what dead-ends did you reach? What surprises did you find? Etc.)

More specifically, your presentation must provide answers to the following:

Deliverables

Your delivered work should be coherent and reasonably organized.

readme.md

In your main project folder, include a readme.md file that provides a brief statement of your project. Include any important details needed to run your program. Use the markdown format as an opportunity to pretty things up in your readme

docs/UserManual.pdf

docs/ResearchReport.pdf

Team self-assessment e-mail

You must individually email me your own assessment of each partner's contribution (including yours) to the project. Please send this to me by the project deadline, otherwise it will not be counted. The details of the e-mail are given below in the milestones section.

Point Breakdown

IN general, the break down used to grade the final project is as follows:

Graded item Number of points
Adequate Phase 1 5 pts
Adequate Phase 2 10 pts
User Manual, readme.txt 5 pts
Medium Article 10 pts
Research Report 30 pts
Implementation 30 pts
Final Project Presentation 10 pts

Important Milestones

Don't forget to have all of your work submitted into Git by the deadline, and pushed to the git remote.

References

Pham, S., Zhang, K., Phan, T., Ding, J., & Dancy, C. L. (2018). Playing SNES Games With NeuroEvolution of Augmenting Topologies. In proceedings of the the Thirty-Second AAAI Conference on Artificial Intelligence, New Orleans, LA, 8129-8130.