|
Our research goal is to develop methodologies for building
persistent, adaptive, collaborative, and
believable agents. The agents must be persistent
because we expect them to populate a world that is itself long-lived.
The world is dynamic and constantly evolving, requiring our agents to be
adaptive. Because the worlds we imagine are complex, and
populated by a community of many other agents, our agents must form
evolving collaborative partnerships with other agents in
order to accomplish their goals. Finally, the community of agents
will involve humans, so the agents must communicate and act in a
believable manner. These realities give rise to a
number of technical issues:
- Machine Learning. Agents must be able to adapt their
behavior over time. In focusing on machine learning, we seek to
understand: What algorithms are best suited to non-stationary,
non-Markovian worlds? How can we make those algorithms scale?
- State and Activity Discovery. Adaptive agents must be
able to recognize activities and discover new patterns in both the
behavior of other agents and in the dynamics of the environment. In
focusing on discovery, we seek to understand: When is a new state or
activity worth discovering?
- Collaboration. Agent should be able to identify potential
mutually beneficial (if transient) partnerships. In focusing on
collaboration, we seek to understand: How can an agent detect that
another agent can help it to accomplish its goals? How can the
agents build a representation of their shared goals that does not
also require a centralized "super mind"?
- Partial Programming. It should be possible for human
developers to program new agents and build new environments rapidly,
leading to the need for a programming environment that integrates
adaptation directly. In focusing on partial programming, we seek to
understand: How is it possible to allow non-machine learning experts
to take advantage of machine learning algorithms in order to
construct autonomous, adaptive systems? How can an agent build
models that represent operationalizable and executable code?
|