Póth Miklós Polytechnical Engineering College, Subotica

Slides:



Advertisements
Similar presentations
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
Advertisements

Improved Algorithms for Inferring the Minimum Mosaic of a Set of Recombinants Yufeng Wu and Dan Gusfield UC Davis CPM 2007.
Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
Introduction to Algorithms Rabie A. Ramadan rabieramadan.org 2 Some of the sides are exported from different sources.
Lecture 3: Parallel Algorithm Design
Dynamic Programming.
Branch & Bound Algorithms
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
Discrete Structure Li Tak Sing( 李德成 ) Lectures
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Optimizing General Compiler Optimization M. Haneda, P.M.W. Knijnenburg, and H.A.G. Wijshoff.
1 Engineering Computation Part 4. 2 Enrique Castillo University of Cantabria An algorithm that permits solving many problems in Algebra. Applications.
UNC Chapel Hill Lin/Manocha/Foskey Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject.
Ch 13 – Backtracking + Branch-and-Bound
NEW APPROACH TO CALCULATION OF RANGE OF POLYNOMIALS USING BERNSTEIN FORMS.
Backtracking.
Chapter 3: The Fundamentals: Algorithms, the Integers, and Matrices
1 Chapter 1 Analysis Basics. 2 Chapter Outline What is analysis? What to count and consider Mathematical background Rates of growth Tournament method.
Algorithms  Al-Khwarizmi, arab mathematician, 8 th century  Wrote a book: al-kitab… from which the word Algebra comes  Oldest algorithm: Euclidian algorithm.
Design and Analysis of Algorithms - Chapter 111 How to tackle those difficult problems... There are two principal approaches to tackling NP-hard problems.
Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
CMPT 438 Algorithms. Why Study Algorithms? Necessary in any computer programming problem ▫Improve algorithm efficiency: run faster, process more data,
Discrete Structures Lecture 12: Trees Ji Yanyan United International College Thanks to Professor Michael Hvidsten.
1 Markov Decision Processes Infinite Horizon Problems Alan Fern * * Based in part on slides by Craig Boutilier and Daniel Weld.
Search by partial solutions.  nodes are partial or complete states  graphs are DAGs (may be trees) source (root) is empty state sinks (leaves) are complete.
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
Asymptotic Behavior Algorithm : Design & Analysis [2]
Model 5 Long Distance Phone Calls By Benjamin Cutting
Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject to some constraints. (There may.
Greatest Common Divisors & Least Common Multiples  Definition 4 Let a and b be integers, not both zero. The largest integer d such that d|a and d|b is.
Computer Sciences Department1.  Property 1: each node can have up to two successor nodes (children)  The predecessor node of a node is called its.
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Emission Discrete Tomography and Optimization Problems Attila Kuba Department of Image Processing and Computer Graphics University of Szeged.
CMPT 438 Algorithms.
Ch. 7 – Matrices and Systems of Equations
Póth Miklós Subotica Tech
Divide and Conquer.
Lap Chi Lau we will only use slides 4 to 19
Topics in Algorithms Lap Chi Lau.
Chapter 4 Divide-and-Conquer
Non-additive Security Games
Time complexity Here we will consider elements of computational complexity theory – an investigation of the time (or other resources) required for solving.
Boundary Element Analysis of Systems Using Interval Methods
Major Design Strategies
Computing Connected Components on Parallel Computers
Chapter 4 Divide-and-Conquer
Tools of Web Development 1: Module A: Numbering Systems
Discrete Tomography Péter Balázs Department of Image Processing and
Optimal Algorithms Search and Sort.
Binary and Ternary Search
Analysis and design of algorithm
Types of Algorithms.
Craig Schroeder October 26, 2004
Hidden Markov Models Part 2: Algorithms
Branch and Bound.
Numerical Analysis Lecture 16.
Orthogonality and Least Squares
Principles of Computing – UFCFA3-30-1
Chapter 4 Divide-and-Conquer
Backtracking and Branch-and-Bound
ECE457 Applied Artificial Intelligence Fall 2007 Lecture #2
Major Design Strategies
Matrix A matrix is a rectangular arrangement of numbers in rows and columns Each number in a matrix is called an Element. The dimensions of a matrix are.
Prepared by Po-Chuan on 2016/05/24
Major Design Strategies
Orthogonality and Least Squares
Ch. 7 – Matrices and Systems of Equations
Chapter 2. Simplex method
Presentation transcript:

Póth Miklós Polytechnical Engineering College, Subotica Branch and Bound Method for Discrete Tomography Reconstruction of hv-convex Binary Matrices Póth Miklós Polytechnical Engineering College, Subotica

Discrete Tomography Reconstruction of a discrete set from its projections (2-10, in our case 2). Binary Tomography: the matrix has only binary values. Trivial necessary condition for existence of the solution: rowsum(15) = colsum(15). CINTI 2008

Examples CINTI 2008

Examples CINTI 2008

Classification CINTI 2008

Branch and Bound (B&B) Global Optimization Method. For problems with finite, but very large number of solutions. For problems where no polynomial algorithm is known. Can be slow (exponential growth with problem size). In some cases faster convergence. CINTI 2008

Branch and Bound (B&B) The search space is very large. B&B works with the divide and conquer principle: the search space is subdivided into smaller subregions (branching). Strength of B&B: when bounds on a large subregion show that it contains only inferior solutions, and so the entire subregion can be discarded without further examination. CINTI 2008

Convexity The convexity property means that the series of 1’s is not broken: Horizontal convexity (h-convexity) Vertical convexity (v-convexity) Horizontal and vertical convexity (hv-convexity) No convexity CINTI 2008

Convexity h-convex v-convex hv-convex no-convex By introducing hv-convexity we exclude the switching components. CINTI 2008

Explanation of the method We have n-k+1 possibilities to place k black pixels on n positions (in a convex way). R=[2 3 2 1] C=[1 3 3 1] Three possibilities to place two 1’s on four positions CINTI 2008

Tree development The tree after two levels of development CINTI 2008

Edge cutting The four digit number at the nodes shows the current column sum. Does any of the four digits exceed the given column sum? If so, we cut that edge. On the previous picture the leftmost and rightmost nodes fail to satisfy this condition (2210 vs. 1331 and 0122 vs. 1331). CINTI 2008

Edge cutting Since we aim to reconstruct a hv-convex matrix, we know that in any column of the matrix after a 1-to-0 transition no 1 can follow. To track the occurance of 1-to-0 transitions, we put a marker (dot) on the digit where the transition occurred. CINTI 2008

Tree analysis The number of levels of the tree equals the number of rows of the matrix to be reconstructed (assuming that a solution exists). The number of solutions equals the number of leaves. CINTI 2008

Performance and speed-up Let’s consider the matrix with the following row and column sum C=[4 3 2 1] R=[1 2 3 4] CINTI 2008

Performance and speed-up After a 90° CW rotation of the above matrix, R and C becomes: R=[4 3 2 1] C=[4 3 2 1] CINTI 2008

Row sum maximum start Matrix rotation does not necessarily help to increase the computational speed. Very often, the majority of the 1’s is placed in the middle of the matrix. CINTI 2008

Row sum maximum start R=[2 2 6 8 7 3 2 1] C=[2 3 3 6 7 6 3 1] In this case we’ll have at least 42 nodes on level 2. Possible solution: to start from the row with most ones. CINTI 2008

Developing the tree from row with most 1’s Row sum maximum start Developing the tree from row with most 1’s CINTI 2008

Conclusion We showed a new method for reconstructing binary matrices from its orthogonal projections. This method finds all the possible results that satisfy the row sum and column sum constraint and the hv-convexity property. So before reconstruction, it is suggested to analyze the matrix first, and according to the elements of R and C to decide which method to use. CINTI 2008

Thank you for your attention. Questions? CINTI 2008