VASANT G. HONAVAR
Department of Computer Science,
226 Atanasoff Hall, Iowa State University, Ames, Iowa 50011-1040.
Voice: 515 294 1098; Fax: 515 294 0258
Professor of Computer Science, Bioinformatics, or Intelligent Systems.
RESEARCH AND TEACHING INTERESTS:
Artificial Intelligence, Bioinformatics and Computational Biology;
Cognitive Science and Computational Neuroscience,
Machine Learning, Neural Networks, Evolutionary Computation,
Intelligent Agents and Multi-agent Systems, Distributed Knowledge Networks,
Distributed Computing and Mobile Agents,
Information retrieval, Data Mining and Knowledge Discovery,
Knowledge Based Systems, Organizational Memory and Decision Support Systems,
Distributed Heterogeneous Databases and Data Warehouses,
Intelligent Design and Manufacturing Systems,
Applied Artificial Intelligence.
Current Research Grants
Past Research Grants
Pending Grant Proposals
Journal Submissions Under Review
Invited or Refereed Book Chapters
Recent Refereed Conference Papers
Refereed Extended Abstracts in Conferences
Invited Book Reviews
Juried Conference Publications
Theses and Dissertations
Invited Talks and Colloquia
HONORS AND AWARDS
GRADUATE, POSTDOCTORAL AND UNDERGRADUATE RESEARCH SUPERVISION
Major Professor, Ph.D.
Current Ph.D. Students
Major Professor, M.S.
Current M.S. Students
Host, Visiting Researchers
Supervisor, Undergraduate Honors Project
Supervisor, Undergraduate Research
Mentor, Freshman Honors Study
Mentor (for pre-college students)
Member of Program of Study Committee
Ph.D. Supervisory Committees:
M.S. Supervisory Committees
TEACHING AND CURRICULUM DEVELOPMENT
Conference Program Committee Member, Program Chair, etc.
Professional and Scientific Societies
Educational Activities on the Internet
Research Proposal Review
DEPARTMENTAL, COLLEGE, AND UNIVERSITY SERVICE
College and University Service
I work on a number of basic and applied research problems in artificial intelligence Artificial Intelligence and Cognitive Science (Artificial Neural Networks; Autonomous Robots; Automata Induction; Computational Learning Theory; Computational Organizational Theory; Data Mining, Knowledge Discovery and Visualization; Decision Support Systems; Distributed Knowledge Networks; Intelligent Agents, Mobile Agents, and Multi-Agent Systems; Knowledge Representation and Inference; Machine Learning; Parallel and Distributed AI); Biological Computation (Computational Neuroscience; Evolutionary, Cellular, and Neural Computation); Bioinformatics and Computational Biology (Genetic Regulatory Networks; Protein Structure-Function Prediction; Computational Genomics; Metabolic Pathways; Distributed Knowledge Networks for Bioinformatics); Complex Adaptive Systems; Distributed Information Systems (Distributed Knowledge Networks; Distributed Databases, Mediators, and Data Warehouses; Intelligent Agents, Mobile Agents,and Multi-Agent Systems); Applied AI (Diagnosis; Bioinformatics; Complex Systems Monitoring and Control; Intrusion Detection). Some of this research is being carried out in collaboration with faculty in Computer Science, Bioinformatics and Computational Biology, and Electrical and Computer Engineering.
Fundamental scientific questions (e.g., What is the algorithmic basis of cumulative multi-task learning? How is information encoded, stored, retrieved, decoded, and used in biological systems? How can we precisely characterize the syntax and semantics of the language of macromolecular sequences?) or important practical problems (how do we extract, assimilate, and use information from heterogeneous, distributed, autonomous data and knowledge sources to facilitate collaborative scientific discovery in biology?) drive our research.
Following is a brief overview of my current research projects. More detailed information can be found at my laboratory's web page (http://www.cs.iastate.edu/~honavar/aigroup.html).
Distributed Knowledge Networks
This research seeks to develop, implement, and evaluate algorithmic and systems solutions for distributed knowledge networks multi-agent organizations consisting of stationary as well as mobile intelligent software agents designed to support the utilization of heterogeneous, distributed data and knowledge sources for automated data-driven knowledge acquisition and decision support. This includes:
Results of this research include new algorithms and software tools which will help translate the recent advances in automated data acquisition, digital storage, computers and communications into fundamental gains in scientific understanding (e.g., through data-driven, computer-supported discovery in biological sciences), and information technology for organizational decision support, complex distributed systems monitoring and control, and related applications.
Learning from Distributed, Dynamic Data Sources
Translating recent advances in high throughput data acquisition and storage technologies and networks into fundamental gains in understanding of respective domains (e.g., in biological sciences, organizational decision support) call for the development of powerful new tools for knowledge acquisition. For example, by examining data gathered by sensors located at different network hosts (e.g., system logs that contain records of various system calls) and known cases of coordinated attacks on the network, a knowledge acquisition agent can infer useful, a-priori unknown predictive relationships that can be subsequently employed for predicting, detecting, and counteracting intrusions. Similarly, bioinformatics knowledge discovery agents can learn regularities that characterize molecular structure-function relationships. The acquired knowledge, in addition to being of immediate value to the users, would also be used by software agents to hypothesize likely events based on information available and then seek out additional data to support or refute the hypothesis (e.g., in the context of data-driven scientific discovery).
Machine learning is currently perhaps the most practical approach to automated or semi-automated data-driven knowledge acquisition and theory refinement. However, most algorithms available today require that the entire dataset be available for processing at a single location before knowledge acquisition can begin.
However, many data sources of interest are large and dynamic. Thus it is desirable to use mobile software agents that transport themselves to the data repositories, or stationary software agents that reside at the repositories, to perform as much analysis as possible where the data are located, and return only the results of analysis in order to conserve network bandwidth.
Efficient and scalable approaches to data-driven knowledge acquisition from distributed, dynamic data sources call for algorithms that can modify knowledge structures (e.g., pattern classifiers) in an incremental fashion without having to revisit previously processed data (examples). We have recently developed several formulations of the problem of learning from distributed and dynamic data sources under different assumptions regarding the data sources and the properties of the learning algorithms.
This research builds on this work to investigate several approaches to incremental learning from dynamic, distributed data sources as well as cumulative, multi-task learning in open-ended environments. These include:
An Agent-Based Environment for Integrating and Analyzing Genomic Databases
Recent advances in high throughput (and often automated or semi-automated) data acquisition technologies, digital storage technologies, computers and communications have made it possible to gather and store large amounts of data on biological organisms. In order to translate these advances in high-throughput data acquisition into fundamental gains in scientific understanding calls for development of software tools that allow integrated retrieval and analysis of the individual databases. The design and implementation of such tools has to address several challenges in computer and information sciences:
Multi-Agent Systems for Integrated Host and Network Based Intrusion Detection
Complex Distributed Systems (e.g., computer systems, communication networks, power systems) are equipped with sensors and measurement devices that gather and store, a variety of data that is useful in monitoring and controlling the operation of such systems. For instance, system logs gathered by multiple computers connected to a network contain information t hat is useful in detecting anomalies and intrusions. Analysis of such system log s over time can lead to discovery of useful knowledge to detect intrusions on the basis of observed activity. An example of an attack involving more than one subsystem would be a combined NFS and rlogin attack wherein an attacker would determine an NFS file handle for an .rhosts file or /etc/hosts.equiv file (assuming that the appropriate file systems are exported by the UNIX system), using the NFS handle rewrite the file to gain login privileges to the attacked host. To detect and respond to such multistage or concerted attacks, the intrusion detection system must have support for gathering and operating on data and knowledge sources from the entire observed system.
This research is aimed at developing, implementing, and evaluating multi-agent systems for integrated host and network based monitoring of large distributed computer and communication networks for intrusions. A system of stationary and mobile software agents will:
Results of this research include new algorithmic and systems solutions for monitoring of large distributed systems in general, and detection of coordinated or concerted attacks on distributed computing systems in particular.
This research is closely integrated with education and training of graduate and undergraduate students in Computer Science at Iowa State University.
Agent-Based Approaches to Intelligent Traffic Management in Large Communication Networks
With the unprecedented growth in size and complexity of modern distributed systems such as communication networks, the development of intelligent and adaptive approaches to system management (including such functions as routing, congestion control, traffic/load management, etc.) have assumed considerable theoretical as well as practical significance. Knowledge representation and heuristic techniques of artificial intelligence, decision-theoretic methods, as well as techniques of adaptive control offer a broad range of powerful tools for the design of intelligent, adaptive, and autonomous communication networks.
Routing in a communication network refers to the task of propagating a message from its source towards its destination. For each message received, the routing algorithm at each node must select a neighboring node to which the message is to be sent. Such a routing algorithm may be required to meet a diverse set of often conflicting performance requirements (e.g., average message delay, network utilization, etc.), thus making it an instance of a multi-criterion optimization problem.
For a network node to be able to make an optimal routing decision, as dictated by the relevant performance criteria, it requires not only up-to-date and complete knowledge of the state of the entire network but also an accurate prediction of the network dynamics during propagation of the message through the network. This, however, is impossible unless the routing algorithm is capable of adapting to network state changes in almost real time. In practice, routing decisions in large communication networks are based on imprecise and uncertain knowledge of the current network state. This imprecision is a function of the network dynamics, the memory available for storage of network state information at each node, the frequency of, and propagation delay associated with, update of such state information.
Motivated by these considerations, we have developed a multi-agent system of agents each of which maintains and updates a small knowledge base of constant size (independent of the size of the network). This knowledge base summarizes the state of the network from the agent's point of view. It provides an accurate picture of the network in the immediate neighborhood of the agent and a spatio-temporally averaged summary of the network state in distant neighborhoods. This mechanism takes advantage of the fact that the number of available paths (and hence the flexibility of routing decisions) grows as a function of distance between the source and destination.
Experimental and theoretical analysis of this approach have demonstrated several desirable properties including minimization of delay and load balancing over the entire network without access to accurate global network state information.
A long-term objective of this research is the design of completely autonomous self-managing, intelligent, low-overhead, robust and adaptive traffic management mechanisms for very large high speed communication networks of the future. Towards this objective, mechanisms that dynamically adapt network management policies in response to changes in network dynamics are of interest. This, however, requires an understanding of the complex interactions that exist between different measures of network performance and resource requirements and the development of a coherent framework that facilitates a smooth tradeoff of some of the performance measures and resource requirements against others on demand.
Coordination and Control of Multi-Agent Systems
This research seeks to develop, implement, and evaluate algorithms for coordination and control of multi-agent organizations in the context of distributed knowledge networks consisting of stationary as well as mobile intelligent software agents designed to support the utilization of heterogeneous, distributed data and knowledge sources for automated data-driven knowledge acquisition and decision support.
Modular and open-ended design of distributed knowledge networks implies that the resulting system consists of multiple more or less autonomous intelligent agents with different capabilities. Each agent is responsible for a particular, usually fairly narrowly defined function. Effective use of such agents in distributed problem solving (e.g., in computer-aided scientific discovery in bioinformatics) intrusion detection in distributed computing systems), require mechanisms for control and coordination the behavior of individual agents in a way that leads to the desired global behaviors. Both natural systems (e.g., cells, brains, immune systems, evolution, groups, social organizations, economies, societies) and artificial systems (computers, multi-computers, computer networks, programs, factories) offer rich sources of examples of a wide variety of coordination and control mechanisms that can be beneficially incorporated into the design of complex information processing systems in general, and multi-agent systems in particular: coordination that emerges from interaction among large number of agents that exhibit relatively simple behaviors inspired by organizations such as the ant colonies; hierarchical control where the flow of control follows the structure of the hierarchy (e.g., in the military); coordination that emerges from interaction (including communication and negotiation) among self-interested agents as exemplified in the contract net protocol and related negotiation mechanisms; control that emerges from competition for resources under the influence of environmental rewards as exemplified by evolutionary processes modeled by genetic algorithms.
We have designed, implemented, and analyzed coordination strategies for multi-agent systems in the context of distributed routing by a collection of utility-driven agents in communication networks
Work in progress is aimed at the high-level specification, design, implemention, and evaluation of different multi-agent organizations and inter-agent coordination mechanisms for interaction among intelligent mobile agents in distributed knowledge networks. Our approach to specification of coordination structures includes specification of roles that different agents can play based on their capabilities in interactions with other agents. Some multi-agent organizations that will be examined include:
Anticipated this research include new software tools for coordination and control of multi-agent systems for a variety of applications including: monitoring and control of distributed power systems and computer systems, organizational decision support systems, and distributed knowledge networks for bioinformatics.
Interactive Visual Overviews of Large, Multi-Dimensional Datasets
Recent advances in high throughput data acquisition, digital storage, computer and communications technologies have made it possible to gather, store, and transmit large volumes of data. Translating the advances in data acquisition and storage technologies into fundamental gains in understanding of the respective domains, requires the development of sophisticated computational tools to assist in the knowledge discovery process. Given the large volumes of data, and the broad range of scientifically relevant and potentially complex interrelationships that might be of interest, machine learning or data mining algorithms offer one of the most practical and cost-effective approaches to data-driven knowledge discovery. However, fully automated knowledge discovery is beyond the current state of the art in artificial intelligence, and we still need the "little-understood ability of human beings to `see the big picture' and `know where to look' when presented with visual data". This research seeks to develop sophisticated dynamic graphics tools for interactive exploratory analysis of very large datasets. These tools, when used in conjunction with data mining algorithms, will enable the user to overview the data space as well as the complex relationships discovered by the data mining algorithms. This would significantly enhance the utility of machine learning algorithms for interactive data-driven knowledge discovery from large, high dimensional datasets. This research brings together a team of researchers with complementary research interests and expertise in statistics and visualization, artificial intelligence, machine learning, and bioinformatics, databases and information management to develop a modular and extensible software toolbox for user-driven, computer-assisted, interactive exploration of extremely large, high-dimensional datasets.
This research focuses on tools for visualizing large, multi-dimensional data. The objective is to scale up the proven visual methods to work with larger amounts of data. The researchers plan to integrate the dynamic graphics tools of the grand tour with machine learning algorithms to provide an interactive, user-centered, collection of tools for knowledge discovery from very large data sets. Specifically, machine learning algorithms including dimensionality reduction techniques (e.g., principal component analysis, independent component analysis, clustering), neural networks, statistical methods (discriminant analysis, density estimation), decision tree or rule induction algorithms, feature extraction, feature subset selection, and feature extraction techniques will be an integral part of the knowledge discovery toolbox, along with the dynamic graphics tools. To scale the tour algorithm up to any size data set two approaches will be explored. The first involves the use of texture maps/images to display projected data, the maps created by a separate process that generates grand tour projections of the data which we store in a stack, and the second involves selecting useful subsets of cases (for example, using support vector machines and related machine learning algorithms) and intelligent selection of projections. The visual interface for the tour will pull projections/images out of the stack as needed to provide a smooth movie of the data, and provide interaction tools such as like a video recorder, play, forward/backward, freeze frame, zoom and pan. In addition, ways to compensate for overplotting, and ways to interact with images to facilitate drill down will be explored. The integration of these tools with data mining algorithms will enable the user to:
Constructive Neural Network Learning Algorithms for Pattern Classification
Induction of pattern classifiers from data is an important area of research in machine learning which finds applications in diverse areas including automated diagnosis, bioinformatics, design of customizable information assistants, intrusion detection in computer systems, among others. Artificial neural networks, because of their potential for massive parallelism and fault and noise tolerance, offer an attractive approach to the design of trainable pattern classifiers.
Constructive learning algorithms, which avoid the guesswork involved in deciding a suitable network architectures for different pattern classification problems by growing a network by recruiting neurons as needed can be effectively trained to solve complex pattern classification problems. Furthermore, it is possible to generalize (and provide convergence guarantees for) a large family of such algorithms designed for 2-class binary pattern classification problems to handle classification problemsinvolving real-valued patterns and an arbitrary number of classes.
Different constructive neural network algorithms as well as the algorithms used to train the neuron weights have different inductive and representational biases making their performance sensitive to specific characteristics of the datasets. Thus, it is useful to experiment with a toolkit of multiple algorithms for practical applications. It is also possible to design hybrid algorithms that exploit the synergy between different algorithms. Visualization of decision boundaries constructed by the different algorithms can often provide useful insights into their behavior. This argues for systems that combine machine learning algorithms with visualization techniques in high dimensions to facilitate interactive knowledge discovery.
A simple inter-pattern distance based, provably convergent, polynomial time constructive neural network algorithm compares very favorably with computationally far more expensive algorithms in terms of generalization accuracy. The generalization accuracy of this algorithm (as expected), is sensitive to the choice of attributes used to represent the patterns and can be improved by using feature subset selection.
Fairly simple algorithms for incorporating prior knowledge can be used to enhance the performance of constructive algorithms for designing pattern classifiers. This raises the possibility of using constructive algorithms for knowledge transfer across similar tasks to facilitate multitask learning in complex enviroments.
A constructive learning procedure, augmented with a Kalman filter mechanism for estimation, can be effectively used for place learning and localization in a-priori unknown environments in the presence of sensor and motion uncertainties. The resulting computational model successfully accounts for a large body of behavioral and neurobiological data from animal experiments and offers several testable predictions.
Preliminary results indicate that constructive learning algorithms and related approaches to machine learning can be adapted for data-driven knowledge discoveryfrom distributed, dynamic data sources in a number of domains including bioinformatics, monitoring and control of complex distributed systems (computer systems, communication networks, power systems) and decision support systems.
Automata Induction, Grammar Inference, and Language Acquisition
Grammatical Inference, variously refered to as automata induction, grammar induction, and automatic language acquisition, refers to the process of learning of grammars and languages from data. Machine learning of grammars finds a variety of applications in syntactic pattern recognition, adaptive intelligent agents, diagnosis, computational biology, systems modelling, prediction, natural language acquisition, data mining and knowledge discovery.
Regular grammars are the simplest class of formal grammars in the Chomsky hierarrchy. An understanding of the issues and problems encountered in learning regular languages (or equivalently, identification of the corresponding DFA) are therefore likely to provide insights into the problem of learning more general classes of languages. Consequently, regular grammar inference from examples has received a great deal of attention in theoretical computer science, machine learning, syntactic pattern recognition, computational learning theory, and grammar inference communities.
Exact learning of the target DFA from an arbitrary presentation of labeled examples is a hard problem. Gold showed that the problem of identifying the minimum state DFA consistent with a presentation S comprising of a finite non-empty set of positive examples S+ and possibly a finite non-empty set of negative examples S- is NP-hard. Under the standard complexity theoretic assumption P not equal to NP, Pitt and Warmuth showed that no polynomial time algorithm can be guaranteed to produce a DFA that has approximately the same number of states as the target DFA from a set of labeled examples corresponding to a DFA.
In the face of these negative results, efficient learning algorithms for identification of DFA assume that additional information is provided to the learner. Trakhtenbrot and Barzdin described a polynomial time algorithm for constructing the smallest DFA consistent with a complete labeled sample i.e., a sample that includes all strings up to a particular length and the corresponding label that states whether the string is accepted by the target DFA or not. The regular positive and negative inference (RPNI) algorithm identifies in time that is polynomial in the sum of lengths of the examples, a DFA that is consistent with the given sample S. Further, as shown by Oncina and Garcia, if S is a superset of a characteristic set for the target DFA (which roughly means that each state transition is sampled at least once in some sample) then the DFA output by the RPNI algorithm is guaranteed to be equivalent to the target.
When examples are drawn at random (as in the PAC setting), results proved by Kearns and Valiant suggest that an efficient algorithm for learning DFA would entail efficient algorithms for solving problems such as breaking the RSA cryptosystem, factoring Blum integers, and detecting quadratic residues, all of which are known to be hard under standard cryptographic assumptions. Using a variant of Trakhtenbrot and Barzdin's algorithm, Lang empirically demonstrated that random DFAs are approximately learnable from a sparse uniform sample. However, exact identification of the target DFA was not possible even in the average case with a randomly drawn training sample. Some researchers have investigated the learnability of concept classes under restricted classes of distributions. Li and Vitanyi proposed a model for PAC learning with simple examples called the simple PAC model wherein the class of distributions is restricted to simple distributions (wherein examples are drawn according to the Universal distribution where strings with low Kolmogorov complexity are sampled with a high probability).
Our work has shown (among other things) that the class of DFA that have low Kolmogorov complexity are efficiently learnable if samples are drawn according to the Universal distribution. Some directions that are currently being explored include: efficient algorithms for learning interesting subclasses of grammars; application of grammar inference to characterizing macromolecular sequence families (DNA, RNA, and protein sequences), and incremental grammar induction.
Gene Expression Analysis
The central dogma of modern biology states that the functional state of an organism is determined largely by the pattern of expression of genes. Thus, the function of a cell, how well a cell performs its function, and even the determination of a cell's type is controlled by the level at which genes are expressed in the cell. Different gene expression levels can, for example, differentiate a neuron from a muscle cell or a normal cell from a cancerous cell of the same type. However, many biological processes of interest (e.g., cellular differentiation during development, aging, disease) are controlled by complex interactions over time between hundreds of genes. Furthermore, each gene is involved in multiple functions. Given the fact that thousands of genes are involved in determining the functional state of an organism, the task of assigning functions to genes, identifying underlying genetic signalling pathways, genetic control and regulatory networks is a formidable task.
The advent of microarray technology provides biologists with the ability to measure the expression levels of thousands of genes in a single experiment. Microarrays come in several flavors. In a common type of microarray, typically called a DNA microarray, several thousand DNA samples are fixed to a glass slide, each at a known position in the array. Each probe (a DNA sample) corresponds to a single gene within the organism under investigation. Messenger RNA samples are then collected from a population of cells under a given set of experimental conditions. These samples are converted into cDNA via reverse transcription and labeled with a fluorescent dye. The cDNA sample is hybridized with the microarray. The level of expression of a particular gene is roughly proportional to the amount of cDNA that hybridizes with the DNA affixed to the slide. By repeating this process under different experimental conditions, using different fluorescent dyes to distinguish between any pair of experimental conditions, it is possible to measure the expression levels of different thousands of genes under the chosen conditions. Thus, for example, the relative levels of expression of a particular gene under any pair of experimental conditions can be obtained by measuring the ratio of the amount of the two dyes present at the position of each DNA sequence on the slide using laser scanning technology.
With the increasing use of DNA microarray and related technologies for gathering gene expression data from plants and animals, there is a growing need for sophisticated computational tools for extracting biologically significant information from gene expression data, assigning functions to genes, and identifying shared signalling pathways and control circuits (e.g., genetic signalling and genetic regulatory networks). Against this background, our research is aimed at precise characterization of the information requirements of these tasks and the design and implementation of suitable algorithms for gene expression analysis. Algorthms are being developed for:
The resulting computational tools for gene expression analysis will be applied to a variety of problems in computational biology including:
Macromolecular Structure-Function Prediction from Sequences
Characterizing the structure and function of biological macromolecules (e.g., proteins) is a central problem in modern biology. Proteins are abundant in all organisms and are indeed fundamental to life. The diversity of protein structure underlies the very large range of their function. Proteins are linear heteropolymers of fixed length. That is, a single type of protein always has the same number and composition of monomers, but different proteins have a range of monomer units, from a few tens to approximately a thousand. The monomers are amino acids, and there are 20 types, which themselves have a range of chemical properties. There is therefore a great diversity of possible protein sequences. The linear chains fold into specific three-dimensional conformations, which are determined by the sequence of amino acids; proteins are generally self-folding. The three-dimensional structures of proteins are therefore also extremely diverse, ranging from completely fibrous, to globular. Protein structures can be determined to an atomic level by X-ray diffraction and neutron-diffraction studies of crystallized proteins, and more recently, by nuclear magnetic resonance (NMR) spectroscopy of proteins in solution. Recent advances in genome sequencing projects have led to enormous increase in protein sequence data. However, the database for protein structures has lagged far behind the number of known sequences. Protein sequences are encoded in DNA, the holder of genetic information, which is itself a linear molecule composed of four types of bases (monomers which act as letters of the genetic alphabet. In principle, it should therefore be possible to translate a gene sequence into an amino acid sequence, and to predict the three-dimensional structure of the resulting chain from this amino acid sequence by performing a detailed simulation of molecular dynamics of protein folding based on the underlying physics and chemistry of interactions among the monomers. However, searching the entire space of possible conformations for a stable or low energy 3-dimensional structure is a computational impossibility. Consequently, successful approaches to protein structure/function prediction from sequence cannot rely on an explicit search of the conformation space. Instead, the problem, like its counterparts in the realm of complex systems, calls for careful discovery and exploitation of regularities at multiple spatial and temporal scales. Such regularities can be observed at the level of secondary structures (e.g., alpha helix, beta fold with an elementary unit e.g., a spiral, or a hairpin), the so-called foldons (which are believed to be independently folding units), highly conserved signature motifs in the sequence that are characteristic of protein families.
Against this background, our research is aimed at the design and implementation of algorithms for molecular structure/function prediction from sequence data. We have recently succeeded in using data mining approaches to design sequence classifiers that assign protein sequences to corresponding functional families. Our approach maps each protein sequence into an N-dimensional vector whose components encode the presence or absence (or other more sophisticated information measures related to the presence of absence) of sequence motifs. Proteins with known functions are used to generate a training set which is then used to construct a sequence classifier. New sequences are assigned to fuctional families based on complex inter-relationships between sequence motifs discovered by a machine learning algorithm. This work builds on recent work on a broad range of data mining and knowledge discovery algorithms (including those drawn from artificial intelligence, statistical pattern recognition, grammatical inference, neural networks, text classification, and evolutionary computing).
Evolutionary Synthesis of Complex Adaptive Systems
Evolutionary algorithms (genetic algorithms, evolution strategies, genetic programming, evolutionary programming) offer an attractive paradigm for automated synthesis of complex adaptive systems e.g., sensory, behavior, and control structures for robots and intelligent agents. Our current research in this area is focused on automated synthesis of neural networks, finite automata, and computational architectures for reactive and deliberative behavior in intelligent autonomous agents and robots under a variety of cost, performance, and environmental constraints. Related research explores evolution of communication, cooperation, and language in communities of intelligent agents.
Massively Parallel Architectures for Knowledge Representation and Inference
Artificial neural networks, because of their massive parallelism and potential for fault tolerance provide an attractive paradigm for the implementation of high performance computer systems for knowledge representation and inference for real-time applications. Our research on neural architectures for knowledge representation and reasoning focuses on fault-tolerant neural network architectures for associative memories, data storage and retrieval, syntax analysis, and deductive inference.
Computational Models of Learning, Memory, and Behavior
Our laboratory is involved in interdisciplinary research on learning and memory, with particular emphasis on design and theoretical and experimental analysis of and computational models of cognitive phenomena. This often leads to design and implementation of biologically inspired computational architectures for intelligence for applications in robotics and intelligent agents. Of particular interest are spatial learning and navigation in animals and computational investigation of the role of neuron-glia, glia-neuron, and glia-glia interactions in learning and memory.
Other Topics of Current Interest
Other topics of interest include: Computational Models of Discovery; Computational Models of Creativity; Computational Modeling and Simulation of Complex Systems (evolution, social systems, immune systems, communication networks, etc.); Hybrid Intelligent Systems; Philosophy of Mind; Intelligent Design and Manufacturing Systems; Applications of information theory and complexity theory (in particular, Kolmogorov complexity, minimum description length, and related topics) in computational learning theory and biology.
My teaching philosophy is perhaps best summed up by a quote from Joseph Chesterton: The Foundation of teaching is research; and the object of research is teaching - that is, the dissemination of knowledge. My teaching and curriculum development activities in computer science complement, and are sustained by, my research in artificial intelligence, bioinformatics and computational biology, and related areas.
Over the past ten years, I have designed, developed, and taught undergraduate as well as graduate courses and seminars in artificial intelligence, intelligent agents and multi-agent systems, machine learning, data mining and knowledge discovery, neural and evolutionary computation, computational models of learning, distributed intelligent information networks, intelligent systems in molecular biology, and complex adaptive systems.
I have played an active role in the establishment of an interdepartmental graduate program in Bioinformatics and Computational Biology, with funding from the National Science Foundation through an Integrative Graduate Education and Research Training (IGERT) award. I have helped establish an Interdepartmental Graduate Minor in Complex Adaptive Systems. I also serve on the faculty of the Interdepartmental Graduate Program in Neuroscience.
The undergraduate courses developed by me introduce students to some of the most challenging topics in computer science - involving the application of concepts and tools from the theory of computation, design and analysis of algorithms, and design of software systems in the construction of intelligent artifacts: computer programs that represent and reason with and about knowledge, acquire knowledge from interaction with their environment, and discover and use regularities from data.
Upon successful completion of an undergraduate course in artificial intelligence, the students have a good understanding of some of the key problems in, and approaches to, the design and analysis of intelligent agents. They are also able to develop and evaluate intelligent agents and multi-agent systems (e.g., automated problem solvers, and learning agents) of moderate complexity. Similarly, upon successful completion of the undergraduate course on neural computation and machine learning, students have good grasp of key computational models of neurons and networks of neurons (or neural networks). They are familiar with several key neural network and other machine learning algorithms (e.g., decision tree learning, reinforcement learning, etc.) and are able to apply these tools for building intelligent agents for applications in science and engineering. The material covered in the courses is chosen with an emphasis on concepts that are likely to have a lasting impact on the discipline in the years to come. In addition to introducing students to a core body of knowledge in the areas of study, these courses also make an attempt to present such knowledge in the broader context of computer science as an intellectual discipline.
The graduate courses are designed to introduce students to fundamental research problems and approaches in intelligent agents and multiagent systems, machine learning, data mining and knowledge discovery, computational models of learning, neural computation, intelligent systems in molecular biology, and related areas. The topics covered in these courses vary from year to year. The emphasis of such courses is on the development of the graduate students into creative thinkers and problem-solvers, be it in academic research or advanced technology development. In addition to the regular courses, current research topics are explored in depth in research seminars which I organize or coorganize (with other faculty in Computer Science and Bioinformatics and Computational Biology) with the help of my graduate students.
The nature of the material taught in my courses requires a delicate balance between theory and experimentation. Adequate laboratory facilities are essential to support experiments, exercises, and projects that enhance the students' understanding of key concepts covered in the lectures. For this reason, I have had to put in considerable effort (with the help of my graduate students) to develop adequate laboratory facilities to support instruction in artificial intelligence and related areas.
It is my belief that strong written and oral communication skills are essential for the success of students in both academia and industry. For this reason, most of my courses require individual or team research projects culminating in a short paper. It has been my experience that team projects promote collaborative learning and problemsolving. The projects often serve as vehicles for integrating latest research results into the graduate and undergraduate curriculum. They also provide an opportunity for students to exercise their creativity and explore new solutions to open problems in artificial intelligence. In many instances, such class projects have produced results that were eventually published in refereed national and international conferences.
In a fast-paced field like computer science in general and artificial intelligence in particular, the courses have to anticipate key developments in the field that are likely to have a long-term impact and provide students with a solid understanding of the fundamentals as well the insight that comes with hands-on experience. My research in artificial intelligence and bioinformatics and computational biology help me shape the course materials towards this end.
The syllabi and other materials
for the courses (including lecture notes) that I have developed and taught at
Iowa State University during 1990-2000
are available on the the World-wide Web at http://www.cs.iastate.edu/honavar/courses.html.
Student Mentoring Statement
I am primarily interested in exceptional Ph.D. students with diverse backgrounds (ranging from very theoretical to very experimental) whose research interests match the research foci of my lab. Occasionally, I accept highly qualified M.S. students and undergraduates interested in research. Students in my group benefit from strong mentoring and close interaction on a daily basis within a collaborative research environment designed to prepare each student for a productive and rewarding research career. Research-based training in our graduate programs in general, and my research group in particular, emphasizes: identification of fundamental research problems; development of creative and innovative solutions; and dissemination of research results to the community through publications in top journals and conferences. In addition to providing a strong technical skills in the relevant research area(s), my group also fosters the development of strong writing and presentation skills.
Graduate students who join my lab typically have a broad-based training in Computer Science or a closely related discipline. Some of them also have training in biological sciences. Many of them have a strong interest in developing algorithmic or computational models of intelligent behavior (including learning and multi-agent interaction). Some have an interest in developing and applying algorithmic tools for scientific discovery in computational biology and bioinformatics. Some have an interest in building scalable, flexible, extensible, robust, and open-ended distributed information systems. Close interaction among students in the group through research seminars and collaborative research projects is encouraged.
My group takes a problem-centered approach to research. In addition to all the usual requirements for successful research, this requires a willingness to acquire, adapt, develop, and apply techniques and tools from areas that lie outside the traditional boundaries of the discipline (e.g., Computer Science) or a subdiscipline (e.g., Machine Learning) when necessary to solve a research problem. Fundamental scientific questions (e.g., What is the algorithmic basis of cumulative multi-task learning? How is information encoded, stored, retrieved, decoded, and used in biological systems? How can we precisely characterize the syntax and semantics of the language of macromolecular sequences?) or important practical problems (how do we extract, assimilate, and use information from heterogeneous, distributed, autonomous data and knowledge sources to facilitate collaborative scientific discovery in biology?) drive our research.
All of my former Ph.D. students have taken up academic careers or research-oriented careers in the industry. M.S. graduates typically end up in industry. Undergraduates who have worked in my lab often pursue graduate study at one of the other universities with strong programs in Artificial Intelligence or a related area (e.g., Computational Biology).
REFERENCES Available Upon Request.