algorithms and modern computer science

46
Algorithms and Modern Algorithms and Modern Computer Science Computer Science Dr. Marina L. Gavrilova Dr. Marina L. Gavrilova Dept of Comp. Science, University of Calgary, Dept of Comp. Science, University of Calgary, AB, Canada, T2N1N4 AB, Canada, T2N1N4

Upload: risa-guerrero

Post on 03-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Algorithms and Modern Computer Science. Dr. Marina L. Gavrilova. Dept of Comp. Science, University of Calgary, AB, Canada, T2N1N4. Presentation outline. About my research Data structures and algorithms to be studied Application areas Optimization and computer modeling - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Algorithms and Modern Computer Science

Algorithms and Modern Algorithms and Modern Computer ScienceComputer Science

Dr. Marina L. GavrilovaDr. Marina L. Gavrilova

Dept of Comp. Science, University of Calgary,Dept of Comp. Science, University of Calgary,

AB, Canada, T2N1N4AB, Canada, T2N1N4

Page 2: Algorithms and Modern Computer Science

Presentation outlinePresentation outline

About my researchAbout my research Data structures and algorithms to be Data structures and algorithms to be

studiedstudied Application areasApplication areas

• Optimization and computer modelingOptimization and computer modeling• Image processing and computer graphicsImage processing and computer graphics• Spatial dataSpatial data• BiometricsBiometrics

SummarySummary

Page 3: Algorithms and Modern Computer Science

My Research InterestsMy Research Interests Computer modeling and simulationComputer modeling and simulation Computational geometryComputational geometry Image processing and visualizationImage processing and visualization Voronoi diagram and Delaunay triangulationVoronoi diagram and Delaunay triangulation Biometric technologiesBiometric technologies Collision detection optimization Collision detection optimization Terrain modeling and visualizationTerrain modeling and visualization Computational methods in spatial analysis and GISComputational methods in spatial analysis and GIS

Page 4: Algorithms and Modern Computer Science

Interests and affiliationsInterests and affiliations

SPARCS Lab Co-Founder and Director BT Lab Co-Founder and Director

Computational Geometry and Applications Founder and Chair since 2001

ICCSA Conference series Scientific Chair (since 2003)

Transactions on Computational Science Journal Springer Editor-in-Chief

Research topics: optimization, reliability, geometric algorithms, data structures representation and visualization, GIS, spatial analysis, biometric modeling

Page 5: Algorithms and Modern Computer Science

Data Structures to be StudiedData Structures to be Studied

Hashing and hash tablesHashing and hash tables TreesTrees Spatial subdivisionsSpatial subdivisions GraphsGraphs Flow networksFlow networks Geometric data structuresGeometric data structures

Page 6: Algorithms and Modern Computer Science

Algorithms to be studiesAlgorithms to be studies

Search heuristicsSearch heuristics Encoding and compression Encoding and compression

techniquestechniques Linear programmingLinear programming Dynamic programmingDynamic programming Game design techniquesGame design techniques Randomized algorithmsRandomized algorithms

Page 7: Algorithms and Modern Computer Science

Long-Term Goals of Research in Long-Term Goals of Research in Computer ScienceComputer Science

Provide a solution to a problemProvide a solution to a problem Decrease possibility of an errorDecrease possibility of an error Improve methodology or invent a Improve methodology or invent a

novel solutionnovel solution Make solution more robustMake solution more robust Make solution more efficientMake solution more efficient Make solution less memory Make solution less memory

consumingconsuming

Page 8: Algorithms and Modern Computer Science

Examples of data structures Examples of data structures applications in areas of computer applications in areas of computer

sciencescience Typical applications:Typical applications:

• Heaps for data ordering and faster access in Heaps for data ordering and faster access in operating systemsoperating systems

• K-d trees for multi-dimensional database K-d trees for multi-dimensional database searchessearches

• B, B*, B+ trees for file accessesB, B*, B+ trees for file accesses• Geometric data structures for geographical Geometric data structures for geographical

data representation and processingdata representation and processing• Compression algorithms for remote access, Compression algorithms for remote access,

Internet, network transmission and securityInternet, network transmission and security• Search heuristics for game strategy Search heuristics for game strategy

implementationimplementation

Page 9: Algorithms and Modern Computer Science

Recent trendsRecent trends

The old definition of computer The old definition of computer science—the study of phenomena science—the study of phenomena surrounding computers—is now surrounding computers—is now obsolete. Computing is the study of obsolete. Computing is the study of natural and artificial information natural and artificial information processes.processes.

ACM Communications 50-07-2007ACM Communications 50-07-2007

Page 10: Algorithms and Modern Computer Science

More Advanced Applications More Advanced Applications

Data structures in Optimization and Data structures in Optimization and Computer SimulationComputer Simulation

Data structures in Image Processing and Data structures in Image Processing and Computer GraphicsComputer Graphics

Data structures in GIS (Geographical Data structures in GIS (Geographical Information Systems) and statistical Information Systems) and statistical analysisanalysis

Data structures in biometricsData structures in biometrics

Page 11: Algorithms and Modern Computer Science

Back then…

Page 12: Algorithms and Modern Computer Science

And now…And now…

Einar Rustad, VP Business Development,Dolphin Interconnect Solutions

Page 13: Algorithms and Modern Computer Science

But algorithms still should work, But algorithms still should work, or else …or else …

Page 14: Algorithms and Modern Computer Science

State of the art in computingState of the art in computing

Horst SimonDirector NERSC, Lawrence Berkeley National Laboratory

Page 15: Algorithms and Modern Computer Science

High performance computingHigh performance computing

Page 16: Algorithms and Modern Computer Science

Increased Scientific DemandsIncreased Scientific Demands

Page 17: Algorithms and Modern Computer Science

• Space partitioningSpace partitioning• TreesTrees• Geometric data Geometric data

structuresstructures

Part 1. Optimization and Part 1. Optimization and Computer ModelingComputer Modeling

Biological systems (plants, corals)

Granular-type materials (silo, shaker, billiards)

Molecular systems (fluids, lipid bilayers, protein docking)

GIS terrain modeling

Page 18: Algorithms and Modern Computer Science

Pool of Data StructuresPool of Data StructuresPool of Data StructuresPool of Data Structures

INCIRCLE P P P P( , , , )1 2 3 4 0 INCIRCLE P P P P( , , , )1 2 3 4 0 INCIRCLE P P P P( , , , )1 2 3 4 0

P1P2

P3

P4

P1

P2

P3

P4

P1P2

P3

P4

Dynamic Delaunay triangulation

Spatial subdivisionsk cells

Segment trees

K-d treesInterval treesCombination of data structures

Page 19: Algorithms and Modern Computer Science

Collision detection optimizationCollision detection optimizationCollision detection optimizationCollision detection optimization

Problem: Problem: A set of A set of nn moving particles is given in the plane or moving particles is given in the plane or 3D with equations of their motion. It is required to detect 3D with equations of their motion. It is required to detect and handle collisions between objects and/or boundaries. and handle collisions between objects and/or boundaries.

Collisions are instantaneous and one-on-one only.Collisions are instantaneous and one-on-one only. Approach: Approach: Use dynamic data structures in the context of Use dynamic data structures in the context of

time-step event oriented simulation model. time-step event oriented simulation model.

Data structures implemented are:Data structures implemented are: dynamic generalized DTdynamic generalized DT regular spatial subdivisionregular spatial subdivision regular spatial treeregular spatial tree set of segment treeset of segment tree

Page 20: Algorithms and Modern Computer Science

The nearest-neighbor problemThe nearest-neighbor problemTask:Task: To find the nearest-neighbor in a system of circular objects To find the nearest-neighbor in a system of circular objects

{Gavrilova 01}{Gavrilova 01}

Approach:Approach: To use generalized Voronoi diagram in Manhattan and To use generalized Voronoi diagram in Manhattan and power metric and k-d tree as a data structure.power metric and k-d tree as a data structure.

TThe Initial Distribution Generator (IDG)he Initial Distribution Generator (IDG) module: module:

UUsed to create various sed to create various input input configurations: configurations: thethe uniform uniform distribution of sites in a square, distribution of sites in a square, the the uniform distribution of sites uniform distribution of sites in a circle, cross, ring, degenerate grid and degenerate circlein a circle, cross, ring, degenerate grid and degenerate circle. . The parameters for automatic generation are: The parameters for automatic generation are: the number of the number of sitessites, the distribution of their radii, the size of the area, and the , the distribution of their radii, the size of the area, and the type of the distributiontype of the distribution..

TThe Nearest-Neighbour Monitor (NNM)he Nearest-Neighbour Monitor (NNM) module: module:

The program constructs the additively weighted supremum VD, The program constructs the additively weighted supremum VD, the power diagram and the k-d tree in supremum metricthe power diagram and the k-d tree in supremum metric; ; performs series of nearest-neighbour searchesperforms series of nearest-neighbour searches and displays and displays statistics. statistics.

Tests:Tests: large data sets (10000 particles), silo model large data sets (10000 particles), silo model

Page 21: Algorithms and Modern Computer Science

Example: supremum VD and DTExample: supremum VD and DTThe supremum weighted Voronoi diagram (left) and the corresponding The supremum weighted Voronoi diagram (left) and the corresponding Delaunay triangulation (right) for 1000 randomly distributed sites .Delaunay triangulation (right) for 1000 randomly distributed sites .

Page 22: Algorithms and Modern Computer Science

Study of porous materials in 3dStudy of porous materials in 3dCollaborators:Collaborators: N.N. Medvedev, V.A.Luchnikov, V. P. Voloshin, Russian N.N. Medvedev, V.A.Luchnikov, V. P. Voloshin, Russian

Academy of Sciences, Novosibirsk [Luchnikov 01].Academy of Sciences, Novosibirsk [Luchnikov 01].Task:Task: To study the properties of the system of polydisperse spheres To study the properties of the system of polydisperse spheres

in 3D, confined inside a cylindrical container.in 3D, confined inside a cylindrical container.Approach:Approach: A boundary of a container is considered as one of the A boundary of a container is considered as one of the

elements of the system. elements of the system. To compute the Voronoi network for a set of balls in a cylinder we To compute the Voronoi network for a set of balls in a cylinder we

use the modification of the known 3D incremental construction use the modification of the known 3D incremental construction technique, discussed in {Gavrilova et. al.} technique, discussed in {Gavrilova et. al.}

The center of an empty sphere, which moves inside the system so The center of an empty sphere, which moves inside the system so that it touches at least three objects at any moment of time, that it touches at least three objects at any moment of time, defines an edge of the 3D Voronoi network.defines an edge of the 3D Voronoi network.

Tests: Tests: porous materials, molecular structuresporous materials, molecular structures

Page 23: Algorithms and Modern Computer Science

Example: 3D Euclidean Voronoi Example: 3D Euclidean Voronoi diagramdiagram

3D Euclidean Voronoi diagram: hyperbolic arcs identify voids – 3D Euclidean Voronoi diagram: hyperbolic arcs identify voids – empty spaces around items obtained by Monte Carlo empty spaces around items obtained by Monte Carlo method. method.

Page 24: Algorithms and Modern Computer Science

ExperimentsExperiments

The approach was tested on The approach was tested on a system representing a system representing dense packing of 300 dense packing of 300 Lennard-Jones atoms. Lennard-Jones atoms. The The largest channels of the largest channels of the Voronoi network occur Voronoi network occur near to the wall of the near to the wall of the cylinder.cylinder. A fraction of A fraction of large channels along the large channels along the wall is higher for the wall is higher for the model with themodel with the fixed fixed diameterdiameter (right) than for (right) than for the model with relaxed the model with relaxed diameter (left). diameter (left).

Page 25: Algorithms and Modern Computer Science

• Space partitioningSpace partitioning• TreesTrees• Geometric data Geometric data

structuresstructures• CompressionCompression• Search heuristicsSearch heuristics

Part 2. Image processing and Part 2. Image processing and Computer GraphicsComputer Graphics

Image reconstruction Image compression Morphing Detail enhancement Image comparison Pattern recognition

Page 26: Algorithms and Modern Computer Science

Pattern MatchingPattern Matching

Aside from a problem of measuring Aside from a problem of measuring the distance, pattern matching the distance, pattern matching between the template and the given between the template and the given image is a very serious problem on image is a very serious problem on its own.its own.

Page 27: Algorithms and Modern Computer Science

Template Matching approach to Template Matching approach to Symbol RecognitionSymbol Recognition

Compare an image with each template and see which one gives the best mach (courtesy of Prof. Jim Parker, U of C)

Page 28: Algorithms and Modern Computer Science

Good MatchGood Match

Image

Template

Most of the pixels overlap means a good match (courtesy of Prof. Jim Parker, U of C)

Page 29: Algorithms and Modern Computer Science

Distance TransformDistance Transform

Given an Given an n x mn x m binary image binary image II of white and black pixels, of white and black pixels, the distance transform of the distance transform of II is a map that assigns to is a map that assigns to each pixel the distance to the nearest black pixel (a each pixel the distance to the nearest black pixel (a featurefeature).).

Page 30: Algorithms and Modern Computer Science

Medial axis transformMedial axis transform

The The medial axismedial axis, or , or skeletonskeleton of the of the set D, denoted M(D), is defined as set D, denoted M(D), is defined as the locus of points inside D which lie the locus of points inside D which lie at the centers of all closed discs (or at the centers of all closed discs (or spheres) which are maximal in D, spheres) which are maximal in D, together with the limit points of this together with the limit points of this locus.locus.

Page 31: Algorithms and Modern Computer Science

Medial axis transformMedial axis transform

Page 32: Algorithms and Modern Computer Science

Voronoi diagram in 3DVoronoi diagram in 3D

Page 33: Algorithms and Modern Computer Science

• Space partitioningSpace partitioning• GridsGrids• Distance metricsDistance metrics• Geometric data Geometric data

structuresstructures

Part 3. Spatial Data and GISPart 3. Spatial Data and GIS

Terrain visualization Terrain modeling Urban planning City planning GIS systems design Navigation and tracking

problems Statistical analysis

Page 34: Algorithms and Modern Computer Science

GIS studies - SPARCS LabGIS studies - SPARCS Lab

Collaborators:Collaborators: S. Bertazzon, Dept. of Geography, S. Bertazzon, Dept. of Geography, C. Gold, Hong Kong Polytechnic, M. Goodchild, C. Gold, Hong Kong Polytechnic, M. Goodchild, Santa BarbaraSanta Barbara

Problem: Problem: study or patterns and correlation among study or patterns and correlation among attributed geographical entities, including attributed geographical entities, including health, demographic, education etc. statistics.health, demographic, education etc. statistics.

Approach:Approach: pattern analysis using pattern analysis using 3D Voronoi 3D Voronoi diagram, spatial statistics and autocorrelation diagram, spatial statistics and autocorrelation using Lusing Lpp metrics, pattern matching and metrics, pattern matching and visualizationvisualization

Page 35: Algorithms and Modern Computer Science

Terrain modelsTerrain models

Page 36: Algorithms and Modern Computer Science

Quantitative Map AnalysisQuantitative Map Analysis

0 100 Km.

Population, ’96

P o p u la tio n D is tr ib u tio n in A lb e rta , 1 9 9 6 ce n su s

Page 37: Algorithms and Modern Computer Science

DEM: Digital Elevation ModelDEM: Digital Elevation Model

• Contains only relative Height

• Regular interval

• Pixel color determine height

•Discrete resolution

Page 38: Algorithms and Modern Computer Science

Non-Photo-Realistic Real-time Non-Photo-Realistic Real-time 3D Terrain Rendering 3D Terrain Rendering

• Uses DEM as input of the application

•Generates frame coherent animated view in real-time

•Uses texturing, shades, particles etc. for layer visualization

Page 39: Algorithms and Modern Computer Science

• HashingHashing• Space partitioningSpace partitioning• TreesTrees• Geometric data Geometric data

structuresstructures• SearchingSearching

Part 4. BiometricsPart 4. Biometrics

Biometric identification Biometric recognition Biometric synthesis

Page 40: Algorithms and Modern Computer Science

BackgroundBackground Biometrics refers to the automatic identification Biometrics refers to the automatic identification

of a person based on his/her physiological or of a person based on his/her physiological or behavioral characteristics.behavioral characteristics.

Page 41: Algorithms and Modern Computer Science

Thermogram vs. distance transformThermogram vs. distance transform

Thermogram of an ear (Brent Griffith, Infrared Thermogram of an ear (Brent Griffith, Infrared Thermography Laboratory, Lawrence Berkeley Thermography Laboratory, Lawrence Berkeley National LaboratoryNational Laboratory ))

Page 42: Algorithms and Modern Computer Science

Nearest Neighbor ApproachNearest Neighbor Approach

Voronoi diagramVoronoi diagram Directions of Directions of feature pointsfeature points

Page 43: Algorithms and Modern Computer Science

Delaunay Triangulation of Minutiae Delaunay Triangulation of Minutiae PointsPoints

Page 44: Algorithms and Modern Computer Science

(a) Binary Hand (b) Hand Contour

Page 45: Algorithms and Modern Computer Science

Spatial InterpolationSpatial Interpolation using using RBF(Radial Basis Functions) RBF(Radial Basis Functions)

Deformation in 2D and 3D

Page 46: Algorithms and Modern Computer Science

SummarySummary

Data structures and algorithms Data structures and algorithms studies in the course are powerful studies in the course are powerful tools not only for basic operation of tools not only for basic operation of computer systems and networks but computer systems and networks but also a vast array of techniques for also a vast array of techniques for advancing the state of the research advancing the state of the research in various computer science in various computer science disciplines. disciplines.