Senior Lecturer
Recent, Current and Upcoming Classes
K -12 Outreach
|
My most recent project is
a book entitled Automata, Computability and Complexity: Theory and
Applications. It was published by Prentice-Hall in September, 2007. The
theoretical underpinnings of computing form a standard part of almost every
computer science curriculum. But the classic treatment of this material
isolates it from the myriad ways in which the theory influences the design of
modern hardware and software systems. My new book changes that. The main part of the book is organized in
the standard way: it begins with finite state machines and regular languages.
Next it covers context-free languages and it contains an optional chapter on
context-free parsing techniques. Then it introduces Turing machines (and
several equivalent models of computation) and the question of undecidability.
Finally, it considers the problem of practical computability by introducing
time and space complexity classes. For more detail, see the the book's website.
Throughout the book there are links to
applications of the key concepts. A substantial appendix describes many of
those applications and pointers within the book to the book's website
describe others. Programming languages, compilers, networking, natural
language processing, artificial intelligence, computational biology,
security, and games are among the applications that are discussed. Instructors who choose to use the book in
their classes have access (through the Prentice-Hall site) to a collection of
resources designed to make it easy to teach from the book. There is a
complete set of Powerpoint slides, as well as answers to most of the problems
in the book and a set of additional problems (most with solutions) that can
be used for homeworks and exams. |
|
I got a Ph.D. in CS in 1979 from CMU, with a dissertation, entitled Building
and Exploiting User Models. In that work, I showed that stereotypes (models
of groups of users who share common interests or characteristics) could be
effectively exploited by a system (mine was named Grundy) that gives advice to
people on things they might like. Grundy recommended novels to people, but the
same ideas can be used to recommend everything from music to cars. Two papers, one in IJMMS and one in Cognitive
Science, describe this work.
Grundy exploited relatively deep models,
both of the books it knew and of its users. This meant that the models of the individual
books had to be created by hand. And what about the models of each user? The
goal, in designing Grundy, was to minimize the amount of interaction a user
would have to have with Grundy in order to get going. To achieve that goal,
Grundy used stereotypes, which could be triggered for a particular person just
from a small set of words that the person provided as a simple self
description. Grundy generated book recommendations by comparing its model of
the current user to the models of the books it knew about. It chose the best
match and generated a short description of the book, which emphasized the
reasons it thought this user would like the book. Then it asked the user
whether it liked the recommendation, and, if not, why not. Using that feedback,
it updated both its stereotypes and its model of the current user.
Grundy's approach contrasts with the now
common technique known as collaborative filtering. In this latter approach, the
only thing that the system (for example, Amazon.com) knows about its books is
who bought them. The only thing it knows about an individual is what books he
or she has bought. It knows no reason why the person likes those particular
books. But it does know thousands of other people who liked the same books and
it knows which other books those people liked. So it can recommend new books to
a current user without any deep model either of the user's preferences or of
the books. Collaborative filtering systems substitute a massive, shallow
database for Grundy's smaller, deeper one.
While at CMU, I also did a small project on
the differences between men and women in their use of color terms. Not
surprisingly, women, on average, use a wider array of color expressions than
men do. See Sex-Related Colour Vocabulary
for the details.
When I left CMU, I moved to
In the mid 80's, a noble experiment called
MCC was launched in
Now I'm back at UT, among other things
teaching Automata Theory (CS341)
and Contemporary Issues in Computer Science(CS 349).
Sometime
in the post knitting void, soon after finishing the second AI book, I
discovered quilting and got hooked. I can't talk about my quilting, though,
without pictures. So if you've got the time to download some really nice
photos, click on the quilt to visit my quilting page.