MQPs 2012-2013Prof. David C. Brown, CS Dept., WPI
Version: Mon Mar 26 11:16:28 EDT 2012
Summary of Project Interests
I am interested in working with smart, diligent, independent students on MQPs concerning HCI, and MQPs relating AI to HCI or to Design (software or engineering).
I am open to any proposals from students, in particular to work on evaluating research developed by MS and PhD students in the area of the application of AI to Design, especially in computational creativity, assumptions, design rationale, functional reasoning, simplification or multi-agent systems (e.g., SiFAs). These require AI knowledge such as that obtained in CS 4341, or CS 534, plus a willingness to study some research papers.
Note that I follow most of the Project Guidelines described by Prof. Wills.
Please look at my description of grading standards before starting a project.
For many projects the Research Methods Knowledge Base should be very useful.
Please look at Collected Information about Writing, and Hints For Writing Theses or Project Reports in particular.
Proposed & Active IQP Projects
- DCB-10I1 - Impacts of Robots on Society
I am interested in IQPs concerning the impact of robotics on society. Any reasonable proposal will be considered. I'm willing to do one multi-person IQP each year. Robots of many kinds are becoming involved in "homeland", corporate and home security, in home appliance applications, and in healthcare, for example. All of these have potential benefits and possible problems/risks. The growth of these markets needs to be studied and predicted to determine potential short and long term impact. Robots also vary by form (humanoid or not), their ability to communicate and sense/indicate human emotion (and other states), as well as their built-in "intelligence". The project could be based on a survey, an analysis of existing laws, economic data or projections, interviews (eg. at schools)(RoboKids?), current research, or even your own experiments.
Completed IQPs have looked at Robotic Lunar Mining, Military Applications of Robots, and Household Robotics.
Proposed & Active MQP Projects
Note: these project descriptions are in no particular order!
- Continuing studies of Machine Learning in the simulated Soccer
Modelling soccer teams with groups of intelligent programs, called Agents, is an ongoing area of research in AI. How do we model soccer skill? How do we model what players know about teamwork, about cooperation? How can we reward simulated players for playing well? How can teams learn from instructions? (NOTE: People interested in this topic might first contact Prof. Chernova as she has significant experience in this area).
- Folksonomies: A Poor-Man's Taxonomy
- How it works
- Advantages & disadvantages
- New applications
- Connection to provided taxonomies
- Use in ontology extraction
- HCI-related projects:
- Web-based cooperative work projects
What happens if you give a team of people who are solving a problem, or writing a proposal, or commenting on a class, read and write access to the same web page? Do they change the way they work? Does the quality of their work change? What tools do they need to keep track of what they are doing together?
- Intelligent Interfaces
Intelligent Interfaces are those that act intelligently in some way while interacting with a user. They might interpret a user's request into lower level actions that together will do what the user wants, or they might present information to the user in a customized manner. Often they involve modelling the user in some way.
- Adaptive Web Sites
Adaptive web sites are web sites that automatically improve their organization and presentation by learning from user access patterns. This has mostly been done for commercial reasons so far. However, what sorts of changes are possible? What effects can they have? How do the users feel about such changes? Do the changes affect their work? What happens if combinations of small changes are made? Do such changes produce unexpected, emergent properties?
- Adapting Web Sites with GAs
One way to implement Adaptive Web Sites is to use Genetic Algorithms (GAs) to do the adaptation Imagine that we are interested in changing a web site, and that user traces are stored that recorded web page access patterns for the site. One could adapt the web site, say once a day, by doing the following:
- Have/generate a `population' of descriptions of alternative web site organizations (i.e., adaptations of the current site).
- Develop a metric, such as path length, bytes to be transferred, or some combination, for use as part of the fitness function.
- Develop a way of doing crossovers such that new, valid site organization descriptions result.
- Run the GA mechanism on the population, evaluating the fitness of the members of the population by using the metric across all, a sample of, or a generalization of, the recorded access patterns for the site.
- Better members of the population make more of the users happy by lowering the metric.
- The `best' member becomes the new web site.
- Curious Browsers (with Prof. Claypool)
A problem that Adaptive Web Sites share with Information Filtering and Recommendation Systems is how to determine the amount of approval/interest the user of some information (e.g., on a web site) is displaying about that information. A simple method is to assume that accessing a page indicates interest, just because they followed the link. To be an accurate predictor of interest we have to know that the text of the link is a perfect summary of the web page -- i.e., it contains the same information. This isn't likely. Other indications might be time spent looking. However, that might be due to confusion, or to answering the phone.
See 1999-00 Curious Browser MQP. The paper "Implicit Interest Indicators", based on this MQP, won the Best Paper Award at the 2001 ACM Intelligent User Interfaces Conference.
Projects that might be done under this title might investigate: link content vs. page content comparisons, and links as predictors of interestingness; time access patterns and distributions; explicit user-activated indicators of interest (e.g., gauges); using the cursor in the browser window as an indicator of the region of interest (e.g., by detecting cursor movement or position); the effect of the match between the user's task and web page `intended function'; the effect of page familiarity on implicit indicators.
- Multi-modal interaction
This area studies how interaction in different modes (e.g., speech, vision, keyboard) can be integrated, and how that affects the users. Can new tasks be done that couldn't be tackled before?
- Web Page Evaluators (with Prof. Claypool)
Information filtering and recommendation systems are being built to provide people with the information they want to see. This is sorely needed when dealing with the World Wide Web. One way of recommending a web page to user A is to see which other user (e.g., user B) likes all the same things. If user B likes something then user A ought to be told. What's happening is that user B is "evaluating" the web page using a variety of criteria, such as quality of layout, clarity of the language, etcetera, in addition to the content. If a cluster of software agents could be built that make different kinds of evaluations (e.g., more than 90% of the words used are under 6 characters long) then perhaps we dont need other users. This project would build a variety of such agents, and test them to see how predictive they were. i.e., if agent B likes it does user A like it too?
- User Response to Interaction with Systems that Learn
How do users respond to systems that change over time and appear to be learning and getting (one hopes) better? Inspired by:
Simone Stumpf, Vidya Rajaram, Lida Li, Weng-Keen Wong, Margaret Burnett,
Thomas Dietterich, Erin Sullivan, Jonathan Herlocker (2009)
"Interacting meaningfully with machine learning systems: three experiments",
International Journal of Human-Computer Studies,
Available online 9 April 2009, (pdf)
- "AI in Design" projects
- Recording and infering Assumptions during designing <<===
When people make design decisions (e.g., selecting a software component, or deciding that a part is to be made of steel) they often base the choice on assumptions. These assumptions might either be about the current design situation (e.g., the properties of the current partial design) or about the choice made (e.g., the properties of the component or material). Recording these assumptions can be used to keep track of how well a design is likely to survive under changing situations, or whether it even meets the current ones. As the overhead of assumption capture is high, and is intrusive, it would be advantageous to 'infer' the assumptions so that they can be collected easily.
- Computational Creativity <<===
- Novelty Detection and Evaluation <<===
One key subproblem in Computational Creativity is how to detect novelty -- novelty is an important ingredient of an artifact that one might consider to be creative -- and how to evaluate the degree of novelty. Novelty can be surface/cosmetic (e.g., a yellow and purple striped computer), structural, behavioral, or functional. How novel is a color change? How novel is a change in size? How novel is a left handed cup?
- Prabir Sarkar, Amaresh Chakrabarti, 2006. Assessing degree of novelty of products to ascertain innovative products. International Conference on Product Life Cycle Management, PLM, 2006.
- Modeling Surprise <<===
Another key subproblem in Computational Creativity is how to model surprise -- surprise is an important ingredient of an artifact that one might consider to be creative -- and how to evaluate the amount of surprise.
- Analogical Reasoning with Function, Behavior and Structure
The problem is how to represent Behavior and Structure and the expected Environment of a device in order to be able to describe its Function. From that various types of reasoning, such as Analogy, can be supported.
- Adding Rationale Capture to a design tool
Software tools are available that help us during the design of programs or engineered devices. e.g., a software engineering tool, or a solid modeler. What's missing from most design aiding systems, and hence also from design documentation, is why each design decision was made. This project is concerned with augmenting such tools with both design rationale collection and rationale inference.
A second version (project HXA-9940), in cooperation with Prof. Ault (ME), was done with an ME student plus a CS student. This project was concerned with mechanical engineering design, and tried to augment a solid modeler so that design rational could be captured. It could also have been augmented using simple AI techniques in order to infer the rationale from smaller modelling actions.
- Aspects and Design Rational
Aspect-oriented programming is a way of separating code about particular "concerns" from the main code. Later, the aspects get "woven" into the main code to form the actual program. In order to avoid "aspect abuse" there are proposals to produce catalogs (taxonomies) of aspects. As each aspect in the catalog has a specific purpose (goal to achieve) then it should be easy to associate rationale with each aspect. The problem is to determine whether rationale can be woven together in a way that matches the way that aspects get woven into the main code. As rationale capture is a major burden on the programmer, this approach (if successful) should ease this burden significantly.
- Knowledge Acquisition
AI systems, especially those that simulate expert reasoning, use lots of knowledge. The process of `extracting' that knowledge from a person is often called Knowledge Acquisition. There are a wide variety of approaches, each with particular uses. There has been less work on investigating how they might be combined.
- Under Karl Sim's Influence
Genetic Algorithms have been used to produce designs for bridges, cranes, programs, and "living things". Their fitness is determined by placing them in a simulated world to see how well they do. Sims produced "creatures" that swam and crawled. Koza has produced programs. At Brandeis they've built cranes. What can we produce?
A Few Past Projects
- (DCB-News) News Release Database for Hometown Program
Students: Ralph Thompson & Andy Stone
- (DCB-0004) Adaptive Web Sites (with Prof. Cruz)
Students: Joel Minski & Esteban Burbano
- (DCB-0013) Human Computer Interaction for a Wearable Computer
Student: Brad Snow
- Curious Browsers
- P.Le & M.Waseda
- Instrumenting web browser to collect interest indicators.
- Skills: HTML, Visual Basic, HCI.
- The HTML Critic
- M.Bunar & P.Hynes,
- Providing an expert critique of a given web page.
- Skills: HTML, C, HCI.
- Teaching a Computer to Play Soccer
- Applying reinforcement learning to a soccer simulation.
- Skills: AI, C++, HCI
- Intelligent Agents in Newspaper Layout
- Dave Koelle.
- An agent based system to lay out newspapers articles.
- Skills: AI, HCI, C++
- Adding Rationale Capture to a design tool
- A.Mossey & M.Luchini
- Augmenting CADKEY to collect design rationale.
- Skills: C, C++, AI, HCI, CAD
- Vietnam Business Directory
- Hiep Nguyen
- Setting up a web server and pages in Vietnam.
- Skills: HTML, perl, C, HCI.
- SiFAKA: SiFA Knowledge Acquisition
- Mark Santesson (ME/CS)
- Extend the SiFAKA System and/or build a large SiFA system.
- Skills: Motif, C, HCI, AI.
- SiFAKA: SiFA Knowledge Acquisition
- Trish Currier (CS)
- Build a Motif system to acquire knowledge to automatically. build multi-agent systems.
- Skills: AI, HCI, C, Motif
- Robot Putting
4 ME students + 2 CS students. Mike Hoar, Todd Pictall (CS).
Putting a golf ball in a hole using a robot.
With Prof. Bausch (ME).
Skills: UNIX, Motif, CAD, communications.
- The Putting Robot MQP ran for at least 4 years. It is an interesting problem, full of surprises. It features a robot arm using a putter to putt golf balls on a constructed putting green into three holes. The green's contours are measured automatically in order to have a model of the surface. This is used to calculate angle and speed for every putt.
The project was a combined ME/CS project, with about 2/3 of the effort being from ME students, and 1/3 from CS students. The CS content in the project is to construct methods for controlling data transfer between the various hardware systems and between phases of the putting process. It also involves simulating the putt prior to actually carrying it out, and sending the program that controls the putting process to the robot controller.
- Construction Safety
2 CE students + 1 CS student. Josh Gentry (CS).
Expert system for automatically producing a construction safety manual.
With Prof. Salazar (CE).
Skills: Windows, expert systems.
- Contact Prof. Salazar in Civil Engineering for more information.
A language for building Intelligent Critics (Karl Kutschke).
Manufacturing process critics (Lily Lau), with Prof. Zenger
Skills: expert systems
- WAPNER -- Juror simulation
A system that decides on guilt from evidence
Dan Gaines (CS), with Prof. Doyle (SS).
This project won the 1994-95 Sigma Xi MQP Award for Science.
A paper resulting from this work has been published by a journal.
dcb at cs wpi edu