Research Areas
Algorithms and Combinatorics
The design and analysis of advanced algorithms is useful in a variety of
applications. Combinatorial analysis of discrete structures is important
in analyzing algorithms as well as in understanding the properties of the
discrete structures themselves. Established research at UGA in this area has
focussed on issues in complexity theory concerning exact (parameterized)
and approximation algorithms; exact and asymptotic combinatorial enumeration;
structural studies; loop-free algorithms; and graph algorithms. Recent
studies have expanded to include randomized combinatorial algorithms,
bioinformatics, quantum computation, and algorithms for counting and generating
Feynman diagrams.
Artificial Intelligence
Artificial intelligence is the computer modeling of intelligent behavior,
including but not limited to modeling the human mind. We see it as an
interdisciplinary field where computer science intersects with philosophy,
psychology, linguistics, engineering, and other fields. Example areas of AI
expertise
at UGA include natural language processing, logical reasoning and decision
making, evolutionary computing, neural networks, robotics, intelligent
information systems, vision, and expert systems to name a few.
Bioinformatics
A large mass of genomic data is being generated by the
academic and commercial sequencing centers. Computational approaches are
needed to identify features in the DNA sequences and to suggest hypotheses
as to the function of specific sequences. The research in bioinformatics
by the computer science community at UGA mainly involves algorithms; models;
visualization; data intergrations; information systems; and high performance
computing for computational problems in biology through collaborations
with biologists.
Compilers
Computational Genetics
Recently, a number of technical advances in molecular biology,
such as cloning and sequencing DNA fragments, have resulted in a new
approach to genetics. Where traditionally genetics has proceeded
from a phenotype to a DNA fragment (gene), the new genetics with its
molecular tools often proceeds in reverse: from an anonymous DNA
fragment to its biochemical function (phenotype).
Our research in this area has concentrated on developing an
information system for the genome mapping. The system, called Fungal
Genome Database (FGDB), used to create and store maps of of fungi
(initially nidulans) is under
development.
Also, we are interested in developing new algorithms and
computational methods in various areas of genetic mapping.
Computational Intelligence
In conjunction with the Artificial Intelligence Center, several
studies in computational intelligence have been conducted. Genetic
algorithms and simulation are used to find good (in many cases
near-optimal) solutions to hard problems that are intractable using
traditional techniques. Examples include: multiple fault diagnosis,
battlefield communication network configuration, chromosome
reconstruction, edge detection, equation development for describing
relationships in complex data, and the snake-in-the-box problem.
Computer Vision and Image Processing
A variety of problems in low- and high-level vision are
studied.
The low-level vision (i.e. image processing) problems being
addressed are edge detection, stereo correlation, contour grouping,
image segmentation, and figure-ground discrimination. Various
computational approaches such as genetic algorithms, simulated
annealing, neural networks, and parallel and distributed processing
are being investigated in the context of these low-level vision
problems.
In high-level vision, the current research is focused on the
identification and localization of objects in range and intensity
images from prestored CAD models. Efficient recognition and
localization algorithms based on graph theory such as subgraph
isomorphism and hypergraph monomorphism are being investigated.
Issues related to efficient retrieval from large object model
databases are also being addressed. In particular, hierarchical
index and hash structures well suited for object models represented
as attributed relational hypergraphs are being investigated.
The research in low- and high-level vision is being applied to
several application areas such as automated industrial inspection,
geographic information systems and multi-media systems.
Databases and Distributed Information Systems
Today's information systems utilize a variety of sophisticated
software tools and systems. Database systems form the core
technology supporting modern information systems. Previous work in
this area has focused on semantic data models, knowledge-based
systems, transaction management, GUI query tools, and
state-of-the-art database systems (object-oriented, distributed and
federated). Ongoing efforts include work in interoperable
information systems (with emphasis on transactional workflow
management), global information systems (with emphasis on
infrastructure for managing heterogeneous data, meta-data for
digital media, and information brokering), and intelligent
information systems (with emphasis on integrating knowledge, data
and models).
Parallel and Distributed Computing
Parallel Processing
The parallel processing group is pursuing both the advanced use
and the development of parallel processing systems. Since parallel
processing systems are being used in the most compute-intensive
applications, we have been investigating the implications of
parallel processing in the areas of interest to us: image
processing, robot vision, satellite data processing, matrix
reduction, nonlinear wave equations, banded, circulant, and Toeplitz
systems of equations, multivariable partial differential equations,
and VLSI physical design.
Since parallel systems are often awkward to quite difficult to
implement applications on, we have an interest in improved
programming, networking, and development environments for parallel
systems. We have implemented parallel algorithms on pipeline
systems, hypercube systems, and SIMD systems (the MasPar). We have
proposed a new parallel systems architecture (the Reconfigurable
MultiRing) that is more efficient, easier to program, and lower cost
for certain applications.
Programming Methdology
Research in this area centers on the formal development of
algorithms/programs in a practical way along with experiments in
teaching such program development. Along the way, this has involved
research in neighboring areas such as calculational logic,
programming languages, semantics of programming languages, and the
development of particular algorithms.
Robotics
The main focus of the robotics research group is the
development of autonomous mobile robots (AMRs). With
AMRs there are two primary issues to deal with: (1)
cognitive behavior, and (2) motion. Cognitive behavior
addresses problem solving using sensory inputs and desired
goals. Motion deals with aspects of movement from simple
robotic arm movement to autonomous rovers in unknown environments.
Cognitive behavior is the current focus of the research group.
Two projects currently underway involve on-board image processing
of video camera inputs for decision making, and the development
of an evolutionary
computing approach to controller configuration (possibly using
field programmable gate arrays). In addition, the controller
evolution project is attempting to provide for automatic (rule directed)
behavior specification.
Scientific Computation
Modern numerical analysis uses high performance computing
machines to solve complex mathematical problems for which simple
analytic solutions are not available.
Work in this area has focused on:
- developing numerical methods for both one and multidimensional
nonlinear wave equations (these equations have applications in
nonlinear optics, signal processing, plasma physics, etc.);
- parallel implementations of the developed methods;
- scientific computing and related computer software
developments for nonlinear partial differential equations.
- developing parallel algorithms for banded, circulant, Toeplitz
systems of equations (these systems have applications in signal
processing, stationary time series, problems involving
convolutions, and least squares approximations); and
- symbolic computations.
Simulation
Creating complex modern systems can be extremely difficult and
costly. Fortunately, they can be studied by constructing models of
them. Models can be used to refine designs, thereby leading to a
better end products (whether it is hardware or software).
Research has involve studying complex parallel software systems
as well as simulation
environments.
Operating Sytems
VLSI/CAD
Computer Aided Design (CAD) systems (VLSI/CAD) is pursuing both
the advanced use and the development of VLSI/CAD software systems.
The VLSI/CAD software technology makes use of user interface
technology, database technology, software engineering technology,
optimization, simulation technology as well as areas which are
specific to VLSI/CAD: specification languages, synthesis, technology
mapping silicon compilation, frameworks, technology transfer.
As such, VLSI/CAD is both a user and a creator of the most
advanced computational technologies.
We have used advanced CAD tools from university developers as
well as commercial products to design chips.
We have developed tools or enhancements to tools in the areas of
board routing, structured synthesis, routing postprocessing,
switch-level simulation, interactive layout, circuit-level
simulation, neural network synthesis, technology translation,
HDL-to-silicon synthesis.
|