MQPs 2012-2013

Prof. 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

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
    • Folksonomy
    • Flickr

  • 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

    • 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.

        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.

    • 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

dcb at cs wpi edu