algorithms and modern computer science dr. marina l. gavrilova dept of comp. science, university of...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
Back then…
And now…And now…
Einar Rustad, VP Business Development,Dolphin Interconnect Solutions
But algorithms still should work, But algorithms still should work, or else …or else …
State of the art in computingState of the art in computing
Horst SimonDirector NERSC, Lawrence Berkeley National Laboratory
High performance computingHigh performance computing
Increased Scientific DemandsIncreased Scientific Demands
• 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
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
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
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
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 .
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
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.
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).
• 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
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.
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)
Good MatchGood Match
Image
Template
Most of the pixels overlap means a good match (courtesy of Prof. Jim Parker, U of C)
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).).
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.
Medial axis transformMedial axis transform
Voronoi diagram in 3DVoronoi diagram in 3D
• 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
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
Terrain modelsTerrain models
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
DEM: Digital Elevation ModelDEM: Digital Elevation Model
• Contains only relative Height
• Regular interval
• Pixel color determine height
•Discrete resolution
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
• HashingHashing• Space partitioningSpace partitioning• TreesTrees• Geometric data Geometric data
structuresstructures• SearchingSearching
Part 4. BiometricsPart 4. Biometrics
Biometric identification Biometric recognition Biometric synthesis
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.
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 ))
Nearest Neighbor ApproachNearest Neighbor Approach
Voronoi diagramVoronoi diagram Directions of Directions of feature pointsfeature points
Delaunay Triangulation of Minutiae Delaunay Triangulation of Minutiae PointsPoints
(a) Binary Hand (b) Hand Contour
Spatial InterpolationSpatial Interpolation using using RBF(Radial Basis Functions) RBF(Radial Basis Functions)
Deformation in 2D and 3D
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.