# Research

## computer science

**Data mining**

Prof. Sergio Alvarez

Data mining is data analysis plus algorithmics. The objective is to develop methods to efficiently extract useful information from large data sets. I have made contributions to the **analytical foundations** of this field, as well as to applications within **medicine** and **personalized information systems**. Please note that I take great care to safeguard any private personal information that is needed in my work. My work in data mining with colleagues and students at WPI has focused on the paradigm of *association rules*. I am also collaborating with medical colleagues from the U. of Massachusetts Medical School. My most recent work involves the discovery of statistically significant patterns in data arising in human sleep studies and in surgical oncology.

**Models and algorithms over networks**

Prof. JosÃ© Bento

Prof. Bento's research involves understanding how to solve problems over networks. These networks can represent either communication constraints on a set of nodes that need to collaborate to solve a problem, or mathematical constraints among the variables of a mathematical model. In particular, he has devoted much attention to networks in the context of graphical models and distributed optimization algorithms. His work finds application in robot path planning, combinatorial optimization, video stylization, computer vision tracking, and, more recently, systems biology. Prof. Bento is currently one of five PIs on a large interdisciplinary collaboration that aims to understand the mechanisms of antibiotic resistance. This collaboration involves the van Opijnen Lab in the Department of Biology at Boston College, and a team of researchers at Tufts University, St. Jude Children's Hospital, and the University of Pittsburgh. Their joint research is supported by a $10 million U01 grant from NIH/NIAID.

**EagleEyes Project**

Profs. James Gips, Peter Olivieri, William Ames

EagleEyes is a technology that allows the user to control the computer by moving his eyes or head. The computer senses changes in the angles of the eyes through electrodes placed around the eyes. Currently dozens of children and young adults who are non-speaking and have complex disabilities are using EagleEyes on a regular basis at the Boston College Campus School and at other facilities in the U.S. and England. This project involves work in human-computer interaction, psychophysiology, assistive technology, circuit design, applications of computers, and the internet in education.

**Human Movement Understanding**

Prof. Hao Jiang

Understanding human movement from videos has important potential applications in surveillance, smart environments, human computer interaction and many more. It is a challenging task due to body parts articulation, self occlusion, large variety of clothing, and background clutter.

The goal of this project to study more reliable and efficient computational methods to recognize human movement from the rough level of whole body motion to body part motion and the detailed point level motion. I am especially interested in the class of methods that are convex and allow efficient global optimization.

In my previous work, such methods have been successfully applied in object matching, motion estimation, action recognition and human pose estimation. In this project, I am developing methods to construct optimal formulations and to handle complex constraints and large scale problems. One application of this project is to recognize sports player movement and analyze the performances. This project is supported by NSF.

**Database System Architectures**

Prof. Ed Sciore

A database system provides functionality such as caching, concurrency control, recovery, and query processing. Traditional database systems try to incorporate as much functionality as possible in order to satisfy the needs of as many applications as possible, but this makes them large and unwieldy. In response, many application areas have developed niche database systems tuned to their needs. A good example is the "NO SQL" movement, which advocates replacing expensive query processing with lower-level primitives such as key-value lookups or map-reduce operations.

My research explores the myriad ways of structuring a database system, with the goal of improving their customizability. Here are some of the questions I am interested in.

- How can we make database components more plug-and-play? The problem is that an efficient implementation of one component may require assumptions about the implementation of another. How can we reduce this cross-component linkage?
- How special are special cases? For example, what would it take for a database system to seamlessly move from a main-memory architecture to a disk-based architecture as the amount of data increased, or move in the reverse direction as the amount of RAM increased?
- There are numerous software products that address individual database needs, such as transaction managers and distributed caches. These products are intended to enhance a traditional database system. Could they instead be used as part of a database system? How?

**Computer Systems**

Prof. Robert Signorile

The term Computer Systems represents a broad topic of Computer Science encompassing many sub-areas. In particular of interest to me are networks, distributed computing/systems, operating systems, agent based systems and robotics. The study of networks often includes the interconnection and relationship of many end-user computing devices (not just computers, but tablets, phones and robots) and how we can use these devices to share information, solve complex problems and make our lives more connected. Distributed systems, a branch of networks, often involve extending traditional systems executing on a centralized device to a multiple devices. Operating systems are the glue that connects user applications to the physical hardware. One aspect of agent-based systems is the use of peer-to-peer computing to create applications that link many specific tasks together. The so-called agent is responsible for a very specific task; the confluence of these agents can be used to solve very complex systems in a non-traditional way. Finally, robots are an effective test bed for researching problems in all the areas mentioned above.

In my research, I explore the many ways to build large (and not so large) systems with the goal of learning how to combine traditional computing approaches with some non-traditional strategies. I investigate areas in all the above-mentioned topics; some resent published results include the following:

- How can we use brain waves to control robots? In particular, we explored the utilization of electroencephalography and neural nets to control some small personal robots.

- How can we protect certain documents from passing electronically from one trusted individual to another potentially untrusted individual? In particular, can we create an n-time use for the receiver of a document while restricting the transmitting of the document electronically to another?

- How can we use agent-based systems (in a peer-to-peer network) to create large-scale systems for use in supply chain simulations, manufacturing plant simulations and negotiation simulations?

**Algebraic Methods for the Study of Logics on Trees**

Prof. Howard Straubing

The automaton-logic connection is a basic theme in Computer Science that arises in many different contexts (e.g., hardware verification, XML document processing, to name a couple of the more practical examples). My work in Theory of Computation, at the intersection of mathematical logic (particularly finite model theory), automata theory, and abstract algebra, explores fundamental questions about this connection. I am interested in the following kind of problem: We have some formal language, usually a variant of first-order logic, for expressing properties of strings of symbols, or of labeled trees. How can we tell if a given property is expressible in the language? The property might be 'given' by an expression in a different logical formalism, or by a finite automaton that tests for the property. Ideally we would like an effective and reasonably efficient algorithm for answering the expressibility question.

Beginning in the late 1960's, questions of this sort for strings were fruitfully investigated by algebraic means, and parallelled the development of a rich algebraic theory of the structure of finite semigroups. My current research is devoted to generalizing and applying these methods to investigate logics for trees. Here, even some of the basic questions, such as determining whether a given property is definable in first-order logic, remain unanswered. To address these questions, my research collaborators and I have been investigating properties of a new kind of algebraic structure, called *forest algebras*, with promising results. This work is supported by a grant from the National Science Foundation.

Earlier work of mine concerned the complexity of small-depth circuits, and I have been particularly intrigued by the power of modular counting gates in such circuits, especially the long-standing and seemingly unapproachable problem of separating the circuit complexity class ACC^{^0}from NC^{1} which I still sometimes dream of solving.