Improving Signature-Based Intrusion Detection

The prevalent use of signature-based approach in modern intrusion detection systems (IDS) emphasizes the importance of two issues associated with the performance of the approach: the rigid requirements for signature processing and the quality of signature set. The focus of this research project is on improving performance of signature-based intrusion detection.

Parallel Software Acceleration of Meta-Heuristics for Data Mining

Over the last ten years, the needs of industry have made data mining one of the most important facets of Information Technology (IT). In simple terms, data mining is the automatic process of extracting interrelationships and patterns of interest from data. Today, companies around the world rely on data mining not only to discover knowledge from historical information, but to predict future  trends and behaviors, allowing businesses to make more informed decisions.

Understanding Scenes using Vision and Range Sensing

The Curious George project aims to construct a spatial-semantic modeling system featuring automated learning of object appearance and object-place relations from online annotated database, and the application of these relations to a variety of real-world tasks. The physical system currently developed at UBC, a visually guided mobile robot, can recognize objects in an environment based on imagery collected from the World Wide web, as demonstrated in an international contest known as the Semantic Robot Vision Challenge.

Personal Social Network Management

We are conducting an exciting project on building tools for managing personal social networks.  You have a lot of friends, communicating with you in a few online social networks, such as Facebook, LinkedIn, and Twitter, as well as some traditional channels, such as emails, phone calls, and online messages.  How to manage your contacts in a social network way?

Declarative Solving of Computationally Hard Search and Optimization Problems

Computationally hard search and optimization problems are ubiquitous in science, engineering and
business. Examples include drug design, protein folding, phylogeny reconstruction, hardware and
software design, test generation and verification, planning, timetabling, scheduling and on and on. In
rare cases, practical application-specific software exists, but most often development of successful
methods requires hiring specialists, and often significant time and expense, to apply one or more

Word Segmentation in Handwritten Documents Using Genetic Programming

Word segmentation in handwritten document is a difficult task because inter-word-spacing (i.e. the space between parts of the same word) is sometimes wider than the intra-word-spacing (i.e. the space between two consecutive words). Many different approaches to segmenting words have been proposed so far. However these segmentation approaches usually use some parameters that are manually tuned; meaning that they do not take into account the properties of the document in order to automatically calibrate the parameters.

Algorithms for Geometric Networks

Geometric Networks typically are a sparse subgraphs of  a complete graph defined over a set of points embedded in the plane (or space). There are several algorithms which take a complete graph and compute a sparse subgraph satisfying various constraints, e.g.  low diameter, constant degree and fault-tolerant. In our recent work, we have designed algorithms which compute sparse subgraphs of non-complete graphs.

Cache-oblivious and adaptive algorithms in symbolic computation

The pervasive ubiquity of parallel architectures and memory hierarchy has led to the emergence of a new quest for parallel mathematical algorithms and software capable of exploiting the various levels of parallelism: from hardware acceleration technologies (multi-core and multi-processor system on chip, GPGPU, FPGA) to cluster and global computing platforms. In this project, we propose to revisit fundamental algorithms in symbolic computation so as to optimize them in terms of data locality and parallelism and adapt them to these new modern computer architectures.