Maximum Clique Problem. Team Bushido bit.ly/parallel-computing-fall-2014

Size: px
Start display at page:

Download "Maximum Clique Problem. Team Bushido bit.ly/parallel-computing-fall-2014"

Transcription

1 Maximum Clique Problem Team Bushido bit.ly/parallel-computing-fall-2014

2 Agenda Problem summary Research Paper 1 Research Paper 2 Research Paper 3 Software Design Demo of Sequential Program

3 Summary Of the Problem What is a clique? Find maximum clique NP Complete

4 Research Paper 1 Author: Depolli, Matjaž and Konc, Janez and Rozman, Kati and Trobec, Roman and Janežič, Dušanka Title: Exact Parallel Maximum Clique Algorithm for General and Protein Graphs Journal: Journal of Chemical Information and Modeling Volume: 53 Number: 9 Pages: Date: August 21, 2013 Number of pages: 12

5 Research Paper 1 Protein Graphs - Product graphs Sequential approach - MaxCliqueSeq (MCS) Parallel approach - MaxCliquePara (MCP)

6 Research Paper 1 Protein Graphs Vertices Edges Product graphs Why? detect structural similarities development of new drugs Exact Parallel Maximum Clique Algorithm for General and Protein Graphs, part of Figure 2 on page 2219

7 Research Paper 1 MaxCliqueSeq - Maximum clique algorithm Approximate Graph Coloring Initial Vertex Ordering Use of bit strings for encoding adjacency matrix Combination has proven faster than other techniques for different protein graphs

8 Research Paper 1 Approximate coloring Assigns colors to vertices, adjacent vertices different Number of colors used as bound condition in MCS Coloring is NP complete, but approximate algorithm works on greedy strategy. O(n 2 ) Number of colors presents upper bound to size of maximum clique MCS uses it to prune branches of search tree

9 Research Paper 1 Initial vertex ordering Order in which vertices are fed to the coloring algorithm affects overall MCS performance Coloring is tighter if vertices are fed in increasing order of degree Vertices with same degrees are ordered in increasing order if ex-degree Preprocessing involves: ex-degree calculation > sort by degree > sort by ex-degree > renumbering vertex with highest degree 1, then 2 and so on

10 Research Paper 1 Use of bit strings Encode adjacency matrix Bit strings offer fast set operations Slower in counting number of elements or extracting elements with lowest or highest degree

11 Research Paper 2 Author: Schmidt, Matthew C. and Samatova, Nagiza F. and Thomas, Kevin and Park, Byung-Hoon Title: A Scalable, Parallel Algorithm for Maximal Clique Enumeration Journal: J. Parallel Distrib. Comput. Volume: 69 Number: 4 Pages: Date: April, 2009 Number of pages: 12

12 Problems addressed Finding maximal clique for practical applications consisting of huge number of vertices(thousands & more) Huge combinatorial search space Unbalanced load distribution

13 Solution Depth first backtracking search constraining search space and memory Decomposition of search tree Improved load balancing by on demand distribution of data

14 Sequential Approach - Backtracking algorithm Current vertex / / 1,2,3,4,5 / not list 3 4 output 2 Candidate 2 2 1,3,4,5 / ,3 1,4 / 5 2,5 4 / ,2,3 / / 4 2,3,4 / / 4 2,5,4 / /

15 Improving serial algorithm efficiency 3 possibilities to represent graph will be considered 1. Adjacency list 2. Adjacency bit matrix 3. Hash table of edges

16 Proposed parallel approach 1. Decomposes the search tree traversal into independent tasks of traversing unexplored search subtrees. 2. Candidate data structure is the unexplored search subtree that consists of the vertex being visited by the search node along with the 3 lists. 3. Subtrees may vary greatly in size 4. Also certain subtrees may generate more maximal cliques than others 5. On demand distribution of load between the computing nodes

17 Proposed parallel approach 1. Divide the vertices of graph to the computing nodes 2. Each node maintains the candidate path structure in a stack for the vertex assigned 3. Each of the node then runs the sequential clique algorithm and adds new candidate paths (unexplored subtrees) to the stack in the process 4. If any of the node completes task earlier a. Get the load(candidate path structure) from the random thread within same process b. If all threads are idle in that process then get the load from a random process using interprocess communication 5. When all processes become idle, they can terminate

18 Parallel approach 1. Time for the parallel algorithm with p processors T (p) = T init + max ( T enum (i)+ T idle (i) ) where 1 i p 2. Should be minimum 3. Ideally all the computing tasks should end at same time T enum (i)+ T idle (i) should be same for all processors 4. Speedup = T(p)/ T(2p) 5. For linear speedup T init and T idle (i) should be minimum

19 Algorithm Design Reading input graph 1. All processes need graph data 2. Parallel read limited by file scalability 3. One process reads the graph 4. Broadcast to other processes

20 Algorithm Design Initial load distribution 1. Initial distribution include dividing vertices amongst the computing nodes 2. T init should be as small as possible 3. More time required if single process does this initial distribution to the other processes 4. Each thread within the process will select vertices on its own using thread number and process rank

21 Algorithm Design Stack Splitting 1. Candidate path structures (Unexplored subtrees) transferred from bottom of stack 2. Candidate paths will be examined from top of stack 3. Bottom candidates represent unexplored subtrees at higher level of subtrees 4. Likely to generate more work (candidates) therefore avoiding too many on demand transfer requests.

22 Research Paper 3 Author: S Szabó Title: Parallel algorithms for finding cliques in a graph Journal: Journal of Physics: Conference Series}, Issue: 1 Volume: 268 Number: 1 Date: 2011 Number of pages: 21

23 Research Paper 3 1. Split Partitions Graph G = (V, E) V partitioned into 3 sets C 1, C 2, C 3 C 1,C 3 C 1 and C 3 are not connected. Subgraphs G 1 = C 1 U C 2, G 2 = C 2 U C 3

24 Research Paper 3 2. Coloring Technique Split the vertices into t partitions C 1, C 2, C 3.. C t the size of the maximum clique <= t Provides an upper bound on the size of the clique

25 Research Paper 3 3. Dominating Nodes Graph G =(V, E) N(v) = neighbours of v v V Node a is dominated by Node b if they are not connected and N(a) N(b)

26 a b d e f b dominates a

27 Research Paper 3 Dominance relation is transitive Algorithm to find node dominance: Divide the whole Vertex Set V into two lists L 1 and L 2 L 1 = N(a) L 2 = V-N(a)-a Used in Carraghan-Pardalos clique search algorithm

28 Research Paper 3 4. Dominating edges Graph G = (V, E) Edge (a, u) is dominated by edge (u, b) if b is not connected to a and N(a) N(u) N(u) N(b) Edge dominance is transitive

29 Sequential program demo

30 Thank you!

Maximum Clique Solver using Bitsets on GPUs

Maximum Clique Solver using Bitsets on GPUs Maximum Clique Solver using Bitsets on GPUs Matthew VanCompernolle 1, Lee Barford 1,2, and Frederick Harris, Jr. 1 1 Department of Computer Science and Engineering, University of Nevada, Reno 2 Keysight

More information

Search Algorithms for Discrete Optimization Problems

Search Algorithms for Discrete Optimization Problems Search Algorithms for Discrete Optimization Problems Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003. 1 Topic

More information

Minimal Dominating Sets in Graphs: Enumeration, Combinatorial Bounds and Graph Classes

Minimal Dominating Sets in Graphs: Enumeration, Combinatorial Bounds and Graph Classes Minimal Dominating Sets in Graphs: Enumeration, Combinatorial Bounds and Graph Classes J.-F. Couturier 1 P. Heggernes 2 D. Kratsch 1 P. van t Hof 2 1 LITA Université de Lorraine F-57045 Metz France 2 University

More information

This document is the Accepted Manuscript version of a Published Work that appeared in final form in Journal of Chemical Information and Modeling

This document is the Accepted Manuscript version of a Published Work that appeared in final form in Journal of Chemical Information and Modeling This document is the Accepted Manuscript version of a Published Work that appeared in final form in Journal of Chemical Information and Modeling (pubs.acs.org/jcim), copyright c American Chemical Society

More information

The Maximum Clique Problem

The Maximum Clique Problem November, 2012 Motivation How to put as much left-over stuff as possible in a tasty meal before everything will go off? Motivation Find the largest collection of food where everything goes together! Here,

More information

A Comparison of Decomposition Methods for the Maximum Common Subgraph Problem

A Comparison of Decomposition Methods for the Maximum Common Subgraph Problem A Comparison of Decomposition Methods for the Maximum Common Subgraph Problem Maël MINOT LIRIS UMR 5205 CNRS Université de Lyon INSA de Lyon, France mael.minot@liris.cnrs.fr Samba Ndojh NDIAYE LIRIS UMR

More information

Scalable Algorithmic Techniques Decompositions & Mapping. Alexandre David

Scalable Algorithmic Techniques Decompositions & Mapping. Alexandre David Scalable Algorithmic Techniques Decompositions & Mapping Alexandre David 1.2.05 adavid@cs.aau.dk Introduction Focus on data parallelism, scale with size. Task parallelism limited. Notion of scalability

More information

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University Search & Optimization Search and Optimization method deals with

More information

Introduction to Combinatorial Algorithms

Introduction to Combinatorial Algorithms Fall 2009 Intro Introduction to the course What are : Combinatorial Structures? Combinatorial Algorithms? Combinatorial Problems? Combinatorial Structures Combinatorial Structures Combinatorial structures

More information

Lecture 4: Graph Algorithms

Lecture 4: Graph Algorithms Lecture 4: Graph Algorithms Definitions Undirected graph: G =(V, E) V finite set of vertices, E finite set of edges any edge e = (u,v) is an unordered pair Directed graph: edges are ordered pairs If e

More information

Randomized Algorithms

Randomized Algorithms Randomized Algorithms Last time Network topologies Intro to MPI Matrix-matrix multiplication Today MPI I/O Randomized Algorithms Parallel k-select Graph coloring Assignment 2 Parallel I/O Goal of Parallel

More information

Lecture 3, Review of Algorithms. What is Algorithm?

Lecture 3, Review of Algorithms. What is Algorithm? BINF 336, Introduction to Computational Biology Lecture 3, Review of Algorithms Young-Rae Cho Associate Professor Department of Computer Science Baylor University What is Algorithm? Definition A process

More information

A Performance Analysis on Maximal Common Subgraph Algorithms

A Performance Analysis on Maximal Common Subgraph Algorithms A Performance Analysis on Maximal Common Subgraph Algorithms Ruud Welling University of Twente P.O. Box 217, 7500AE Enschede The Netherlands r.h.a.welling@student.utwente.nl ABSTRACT Graphs can be used

More information

CAD Algorithms. Categorizing Algorithms

CAD Algorithms. Categorizing Algorithms CAD Algorithms Categorizing Algorithms Mohammad Tehranipoor ECE Department 2 September 2008 1 Categorizing Algorithms Greedy Algorithms Prim s Algorithm (Minimum Spanning Tree) A subgraph that is a tree

More information

The Maximum Common Subgraph Problem: Faster Solutions via Vertex Cover

The Maximum Common Subgraph Problem: Faster Solutions via Vertex Cover The Maximum Common Subgraph Problem: Faster Solutions via Vertex Cover Faisal N. Abu-Khzam Division of Computer Science and Mathematics Lebanese American University Beirut, Lebanon faisal.abukhzam@lau.edu.lb

More information

A6-R3: DATA STRUCTURE THROUGH C LANGUAGE

A6-R3: DATA STRUCTURE THROUGH C LANGUAGE A6-R3: DATA STRUCTURE THROUGH C LANGUAGE NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF

More information

Search Algorithms for Discrete Optimization Problems

Search Algorithms for Discrete Optimization Problems Search Algorithms for Discrete Optimization Problems Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003. Topic

More information

Geometric data structures:

Geometric data structures: Geometric data structures: Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade Sham Kakade 2017 1 Announcements: HW3 posted Today: Review: LSH for Euclidean distance Other

More information

Computing optimal total vertex covers for trees

Computing optimal total vertex covers for trees Computing optimal total vertex covers for trees Pak Ching Li Department of Computer Science University of Manitoba Winnipeg, Manitoba Canada R3T 2N2 Abstract. Let G = (V, E) be a simple, undirected, connected

More information

Parallelizing Maximal Clique Enumeration in Haskell

Parallelizing Maximal Clique Enumeration in Haskell Parallelizing Maximal Clique Enumeration in Haskell Andres Löh (joint work with Toni Cebrián) Well-Typed LLP 7 February 2012 Background: The Parallel GHC Project The Parallel GHC Project Currently the

More information

The Size Robust Multiple Knapsack Problem

The Size Robust Multiple Knapsack Problem MASTER THESIS ICA-3251535 The Size Robust Multiple Knapsack Problem Branch and Price for the Separate and Combined Recovery Decomposition Model Author: D.D. Tönissen, Supervisors: dr. ir. J.M. van den

More information

Chapter 11 Search Algorithms for Discrete Optimization Problems

Chapter 11 Search Algorithms for Discrete Optimization Problems Chapter Search Algorithms for Discrete Optimization Problems (Selected slides) A. Grama, A. Gupta, G. Karypis, and V. Kumar To accompany the text Introduction to Parallel Computing, Addison Wesley, 2003.

More information

Implementing Scalable Parallel Search Algorithms for Data-Intensive Applications

Implementing Scalable Parallel Search Algorithms for Data-Intensive Applications Implementing Scalable Parallel Search Algorithms for Data-Intensive Applications Ted Ralphs Industrial and Systems Engineering Lehigh University http://www.lehigh.edu/~tkr2 Laszlo Ladanyi IBM T.J. Watson

More information

Efficient query processing

Efficient query processing Efficient query processing Efficient scoring, distributed query processing Web Search 1 Ranking functions In general, document scoring functions are of the form The BM25 function, is one of the best performing:

More information

Arabesque. A system for distributed graph mining. Mohammed Zaki, RPI

Arabesque. A system for distributed graph mining. Mohammed Zaki, RPI rabesque system for distributed graph mining Mohammed Zaki, RPI Carlos Teixeira, lexandre Fonseca, Marco Serafini, Georgos Siganos, shraf boulnaga, Qatar Computing Research Institute (QCRI) 1 Big Data

More information

REDUCING GRAPH COLORING TO CLIQUE SEARCH

REDUCING GRAPH COLORING TO CLIQUE SEARCH Asia Pacific Journal of Mathematics, Vol. 3, No. 1 (2016), 64-85 ISSN 2357-2205 REDUCING GRAPH COLORING TO CLIQUE SEARCH SÁNDOR SZABÓ AND BOGDÁN ZAVÁLNIJ Institute of Mathematics and Informatics, University

More information

2. (a) Explain when the Quick sort is preferred to merge sort and vice-versa.

2. (a) Explain when the Quick sort is preferred to merge sort and vice-versa. Code No: RR210504 Set No. 1 1. (a) Order the following functions according to their order of growth (from the lowest to the highest). (n-2)!, 5 log (n+100) 10,2 2n, 0.001n 4 +3n 3 +1, ln 2 n, n 1/3, 3

More information

CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up. Nicki Dell Spring 2014

CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up. Nicki Dell Spring 2014 CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up Nicki Dell Spring 2014 Final Exam As also indicated on the web page: Next Tuesday, 2:30-4:20 in this room Cumulative but

More information

Search Algorithms. IE 496 Lecture 17

Search Algorithms. IE 496 Lecture 17 Search Algorithms IE 496 Lecture 17 Reading for This Lecture Primary Horowitz and Sahni, Chapter 8 Basic Search Algorithms Search Algorithms Search algorithms are fundamental techniques applied to solve

More information

CS301 - Data Structures Glossary By

CS301 - Data Structures Glossary By CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Coloring the nodes of a directed graph

Coloring the nodes of a directed graph Acta Univ. Sapientiae, Informatica, 6, 1 (2014) 117 131 DOI: 10.2478/ausi-2014-0021 Coloring the nodes of a directed graph Sándor SZABÓ University of Pécs Institute of Mathematics and Informatics, Ifjúság

More information

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Lecture 16, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In This Lecture Parallel formulations of some important and fundamental

More information

CS 231: Algorithmic Problem Solving

CS 231: Algorithmic Problem Solving CS 231: Algorithmic Problem Solving Naomi Nishimura Module 7 Date of this version: January 28, 2019 WARNING: Drafts of slides are made available prior to lecture for your convenience. After lecture, slides

More information

Practice Final Exam 1

Practice Final Exam 1 Algorithm esign Techniques Practice Final xam Instructions. The exam is hours long and contains 6 questions. Write your answers clearly. You may quote any result/theorem seen in the lectures or in the

More information

Branch-and-bound: an example

Branch-and-bound: an example Branch-and-bound: an example Giovanni Righini Università degli Studi di Milano Operations Research Complements The Linear Ordering Problem The Linear Ordering Problem (LOP) is an N P-hard combinatorial

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Nebel, Hué and Wölfl (Universität Freiburg) Constraint

More information

A Decomposition for Chordal graphs and Applications

A Decomposition for Chordal graphs and Applications A Decomposition for Chordal graphs and Applications Michel Habib Joint work with Vincent Limouzy and Juraj Stacho Pretty Structure, Existencial Polytime Jack Edmonds Birthday, 7-9 april 2009 Schedule Chordal

More information

Solution of Maximum Clique Problem. by Using Branch and Bound Method

Solution of Maximum Clique Problem. by Using Branch and Bound Method Applied Mathematical Sciences, Vol. 8, 2014, no. 2, 81-90 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/10.12988/ams.2014.310601 Solution of Maximum Clique Problem by Using Branch and Bound Method Mochamad

More information

Some graph theory applications. communications networks

Some graph theory applications. communications networks Some graph theory applications to communications networks Keith Briggs Keith.Briggs@bt.com http://keithbriggs.info Computational Systems Biology Group, Sheffield - 2006 Nov 02 1100 graph problems Sheffield

More information

Interaction Between Input and Output-Sensitive

Interaction Between Input and Output-Sensitive Interaction Between Input and Output-Sensitive Really? Mamadou M. Kanté Université Blaise Pascal - LIMOS, CNRS Enumeration Algorithms Using Structure, Lorentz Institute, August 26 th, 2015 1 Introduction

More information

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique Example As an Example, let s consider the formula: F(x,y,z) = x y z + x yz + x yz + xyz + xy z The complete sum of

More information

Complementary Graph Coloring

Complementary Graph Coloring International Journal of Computer (IJC) ISSN 2307-4523 (Print & Online) Global Society of Scientific Research and Researchers http://ijcjournal.org/ Complementary Graph Coloring Mohamed Al-Ibrahim a*,

More information

Community Detection. Community

Community Detection. Community Community Detection Community In social sciences: Community is formed by individuals such that those within a group interact with each other more frequently than with those outside the group a.k.a. group,

More information

Task Description: Finding Similar Documents. Document Retrieval. Case Study 2: Document Retrieval

Task Description: Finding Similar Documents. Document Retrieval. Case Study 2: Document Retrieval Case Study 2: Document Retrieval Task Description: Finding Similar Documents Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade April 11, 2017 Sham Kakade 2017 1 Document

More information

Backtracking. Chapter 5

Backtracking. Chapter 5 1 Backtracking Chapter 5 2 Objectives Describe the backtrack programming technique Determine when the backtracking technique is an appropriate approach to solving a problem Define a state space tree for

More information

Search and Optimization

Search and Optimization Search and Optimization Search, Optimization and Game-Playing The goal is to find one or more optimal or sub-optimal solutions in a given search space. We can either be interested in finding any one solution

More information

Lecture 5: Search Algorithms for Discrete Optimization Problems

Lecture 5: Search Algorithms for Discrete Optimization Problems Lecture 5: Search Algorithms for Discrete Optimization Problems Definitions Discrete optimization problem (DOP): tuple (S, f), S finite set of feasible solutions, f : S R, cost function. Objective: find

More information

Contents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11

Contents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11 Preface xvii Acknowledgments xix CHAPTER 1 Introduction to Parallel Computing 1 1.1 Motivating Parallelism 2 1.1.1 The Computational Power Argument from Transistors to FLOPS 2 1.1.2 The Memory/Disk Speed

More information

Comparing the Best Maximum Clique Finding Algorithms, Which are Using Heuristic Vertex Colouring

Comparing the Best Maximum Clique Finding Algorithms, Which are Using Heuristic Vertex Colouring Comparing the Best Maximum Clique Finding Algorithms, Which are Using Heuristic Vertex Colouring DENISS KUMLANDER Department of Informatics Tallinn University of Technology Raja St.15, 12617 Tallinn ESTONIA

More information

Coupling graph perturbation theory with scalable parallel algorithms for large-scale enumeration of maximal cliques in biological graphs

Coupling graph perturbation theory with scalable parallel algorithms for large-scale enumeration of maximal cliques in biological graphs Coupling graph perturbation theory with scalable parallel algorithms for large-scale enumeration of maximal cliques in biological graphs N. F. Samatova 1,2,+, M. C. Schmidt 1,2,, W. Hendrix 1,2,, P. Breimyer

More information

Parallel Computing in Combinatorial Optimization

Parallel Computing in Combinatorial Optimization Parallel Computing in Combinatorial Optimization Bernard Gendron Université de Montréal gendron@iro.umontreal.ca Course Outline Objective: provide an overview of the current research on the design of parallel

More information

Computing Largest Correcting Codes and Their Estimates Using Optimization on Specially Constructed Graphs p.1/30

Computing Largest Correcting Codes and Their Estimates Using Optimization on Specially Constructed Graphs p.1/30 Computing Largest Correcting Codes and Their Estimates Using Optimization on Specially Constructed Graphs Sergiy Butenko Department of Industrial Engineering Texas A&M University College Station, TX 77843

More information

Graph Algorithms. Parallel and Distributed Computing. Department of Computer Science and Engineering (DEI) Instituto Superior Técnico.

Graph Algorithms. Parallel and Distributed Computing. Department of Computer Science and Engineering (DEI) Instituto Superior Técnico. Graph Algorithms Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico May, 0 CPD (DEI / IST) Parallel and Distributed Computing 0-0-0 / Outline

More information

21# 33# 90# 91# 34# # 39# # # 31# 98# 0# 1# 2# 3# 4# 5# 6# 7# 8# 9# 10# #

21# 33# 90# 91# 34# # 39# # # 31# 98# 0# 1# 2# 3# 4# 5# 6# 7# 8# 9# 10# # 1. Prove that n log n n is Ω(n). York University EECS 11Z Winter 1 Problem Set 3 Instructor: James Elder Solutions log n n. Thus n log n n n n n log n n Ω(n).. Show that n is Ω (n log n). We seek a c >,

More information

3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING 3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

More information

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li Parallel Physically Based Path-tracing and Shading Part 3 of 2 CIS565 Fall 202 University of Pennsylvania by Yining Karl Li Jim Scott 2009 Spatial cceleration Structures: KD-Trees *Some portions of these

More information

Decomposition of log-linear models

Decomposition of log-linear models Graphical Models, Lecture 5, Michaelmas Term 2009 October 27, 2009 Generating class Dependence graph of log-linear model Conformal graphical models Factor graphs A density f factorizes w.r.t. A if there

More information

Maximum Clique Problem

Maximum Clique Problem Maximum Clique Problem Dler Ahmad dha3142@rit.edu Yogesh Jagadeesan yj6026@rit.edu 1. INTRODUCTION Graph is a very common approach to represent computational problems. A graph consists a set of vertices

More information

Anytime AND/OR Depth-first Search for Combinatorial Optimization

Anytime AND/OR Depth-first Search for Combinatorial Optimization Anytime AND/OR Depth-first Search for Combinatorial Optimization Lars Otten and Rina Dechter Dept. of Computer Science University of California, Irvine Outline AND/OR Search Spaces. Conflict: Decomposition

More information

General Methods and Search Algorithms

General Methods and Search Algorithms DM811 HEURISTICS AND LOCAL SEARCH ALGORITHMS FOR COMBINATORIAL OPTIMZATION Lecture 3 General Methods and Search Algorithms Marco Chiarandini 2 Methods and Algorithms A Method is a general framework for

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

Introduction to Parallel Computing

Introduction to Parallel Computing Introduction to Parallel Computing George Karypis Sorting Outline Background Sorting Networks Quicksort Bucket-Sort & Sample-Sort Background Input Specification Each processor has n/p elements A ordering

More information

Chapter-6 Backtracking

Chapter-6 Backtracking Chapter-6 Backtracking 6.1 Background Suppose, if you have to make a series of decisions, among various choices, where you don t have enough information to know what to choose. Each decision leads to a

More information

Branch and Bound. Live-node: A node that has not been expanded. It is similar to backtracking technique but uses BFS-like search.

Branch and Bound. Live-node: A node that has not been expanded. It is similar to backtracking technique but uses BFS-like search. Branch and Bound Definitions: Branch and Bound is a state space search method in which all the children of a node are generated before expanding any of its children. Live-node: A node that has not been

More information

Combinatorial Search; Monte Carlo Methods

Combinatorial Search; Monte Carlo Methods Combinatorial Search; Monte Carlo Methods Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico May 02, 2016 CPD (DEI / IST) Parallel and Distributed

More information

Artificial Intelligence

Artificial Intelligence Torralba and Wahlster Artificial Intelligence Chapter 8: Constraint Satisfaction Problems, Part I 1/48 Artificial Intelligence 8. CSP, Part I: Basics, and Naïve Search What to Do When Your Problem is to

More information

54 Years of Graph Isomorphism Testing

54 Years of Graph Isomorphism Testing 54 Years of Graph Isomorphism Testing Brendan McKay Australian National University isomorphism 1 isomorphism 2 The concept of isomorphism We have some objects consisting of some finite sets and some relations

More information

Efficient Subgraph Matching by Postponing Cartesian Products

Efficient Subgraph Matching by Postponing Cartesian Products Efficient Subgraph Matching by Postponing Cartesian Products Computer Science and Engineering Lijun Chang Lijun.Chang@unsw.edu.au The University of New South Wales, Australia Joint work with Fei Bi, Xuemin

More information

Graph Partitioning for Scalable Distributed Graph Computations

Graph Partitioning for Scalable Distributed Graph Computations Graph Partitioning for Scalable Distributed Graph Computations Aydın Buluç ABuluc@lbl.gov Kamesh Madduri madduri@cse.psu.edu 10 th DIMACS Implementation Challenge, Graph Partitioning and Graph Clustering

More information

Dominating Set on Bipartite Graphs

Dominating Set on Bipartite Graphs Dominating Set on Bipartite Graphs Mathieu Liedloff Abstract Finding a dominating set of minimum cardinality is an NP-hard graph problem, even when the graph is bipartite. In this paper we are interested

More information

Accelerating the Prediction of Protein Interactions

Accelerating the Prediction of Protein Interactions Accelerating the Prediction of Protein Interactions Alex Rodionov, Jonathan Rose, Elisabeth R.M. Tillier, Alexandr Bezginov October 21 21 Motivation The human genome is sequenced, but we don't know what

More information

Artificial Intelligence

Artificial Intelligence Torralba and Wahlster Artificial Intelligence Chapter 8: Constraint Satisfaction Problems, Part I 1/48 Artificial Intelligence 8. CSP, Part I: Basics, and Naïve Search What to Do When Your Problem is to

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Frank C. Langbein F.C.Langbein@cs.cf.ac.uk Department of Computer Science Cardiff University 13th February 2001 Constraint Satisfaction Problems (CSPs) A CSP is a high

More information

Solving scheduling problems using parallel message-passing based constraint programming

Solving scheduling problems using parallel message-passing based constraint programming Solving scheduling problems using parallel message-passing based constraint programming Feng Xie Andrew Davenport Department of Computing and Software, Department of Business Analytics and Mathematical

More information

Multicore Triangle Computations Without Tuning

Multicore Triangle Computations Without Tuning Multicore Triangle Computations Without Tuning Julian Shun and Kanat Tangwongsan Presentation is based on paper published in International Conference on Data Engineering (ICDE), 2015 1 2 Triangle Computations

More information

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods 5.8J Integer Programming and Combinatorial Optimization Fall 9 A knapsack problem Enumerative Methods Let s focus on maximization integer linear programs with only binary variables For example: a knapsack

More information

Web Structure Mining Community Detection and Evaluation

Web Structure Mining Community Detection and Evaluation Web Structure Mining Community Detection and Evaluation 1 Community Community. It is formed by individuals such that those within a group interact with each other more frequently than with those outside

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

More information

Sorting (Chapter 9) Alexandre David B2-206

Sorting (Chapter 9) Alexandre David B2-206 Sorting (Chapter 9) Alexandre David B2-206 1 Sorting Problem Arrange an unordered collection of elements into monotonically increasing (or decreasing) order. Let S = . Sort S into S =

More information

Global Register Allocation - Part 2

Global Register Allocation - Part 2 Global Register Allocation - Part 2 Y N Srikant Computer Science and Automation Indian Institute of Science Bangalore 560012 NPTEL Course on Compiler Design Outline Issues in Global Register Allocation

More information

B553 Lecture 12: Global Optimization

B553 Lecture 12: Global Optimization B553 Lecture 12: Global Optimization Kris Hauser February 20, 2012 Most of the techniques we have examined in prior lectures only deal with local optimization, so that we can only guarantee convergence

More information

On Graph Query Optimization in Large Networks

On Graph Query Optimization in Large Networks On Graph Query Optimization in Large Networks Peixiang Zhao, Jiawei Han Department of omputer Science University of Illinois at Urbana-hampaign pzhao4@illinois.edu, hanj@cs.uiuc.edu September 14th, 2010

More information

Scalable GPU Graph Traversal!

Scalable GPU Graph Traversal! Scalable GPU Graph Traversal Duane Merrill, Michael Garland, and Andrew Grimshaw PPoPP '12 Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming Benwen Zhang

More information

Extremal Graph Theory. Ajit A. Diwan Department of Computer Science and Engineering, I. I. T. Bombay.

Extremal Graph Theory. Ajit A. Diwan Department of Computer Science and Engineering, I. I. T. Bombay. Extremal Graph Theory Ajit A. Diwan Department of Computer Science and Engineering, I. I. T. Bombay. Email: aad@cse.iitb.ac.in Basic Question Let H be a fixed graph. What is the maximum number of edges

More information

Clustering Billions of Images with Large Scale Nearest Neighbor Search

Clustering Billions of Images with Large Scale Nearest Neighbor Search Clustering Billions of Images with Large Scale Nearest Neighbor Search Ting Liu, Charles Rosenberg, Henry A. Rowley IEEE Workshop on Applications of Computer Vision February 2007 Presented by Dafna Bitton

More information

Parallel Query Optimisation

Parallel Query Optimisation Parallel Query Optimisation Contents Objectives of parallel query optimisation Parallel query optimisation Two-Phase optimisation One-Phase optimisation Inter-operator parallelism oriented optimisation

More information

Simplicity is Beauty: Improved Upper Bounds for Vertex Cover

Simplicity is Beauty: Improved Upper Bounds for Vertex Cover Simplicity is Beauty: Improved Upper Bounds for Vertex Cover Jianer Chen, Iyad A. Kanj, and Ge Xia Department of Computer Science, Texas A&M University, College Station, TX 77843 email: {chen, gexia}@cs.tamu.edu

More information

Cost Optimal Parallel Algorithm for 0-1 Knapsack Problem

Cost Optimal Parallel Algorithm for 0-1 Knapsack Problem Cost Optimal Parallel Algorithm for 0-1 Knapsack Problem Project Report Sandeep Kumar Ragila Rochester Institute of Technology sr5626@rit.edu Santosh Vodela Rochester Institute of Technology pv8395@rit.edu

More information

Graph Definitions. In a directed graph the edges have directions (ordered pairs). A weighted graph includes a weight function.

Graph Definitions. In a directed graph the edges have directions (ordered pairs). A weighted graph includes a weight function. Graph Definitions Definition 1. (V,E) where An undirected graph G is a pair V is the set of vertices, E V 2 is the set of edges (unordered pairs) E = {(u, v) u, v V }. In a directed graph the edges have

More information

DESIGN AND ANALYSIS OF ALGORITHMS

DESIGN AND ANALYSIS OF ALGORITHMS NPTEL MOOC,JAN-FEB 0 Week, Module DESIGN AND ANALYSIS OF ALGORITHMS Depth first search (DFS) MADHAVAN MUKUND, CHENNAI MATHEMATICAL INSTITUTE http://www.cmi.ac.in/~madhavan Depth first search Start from

More information

LECTURE 17 GRAPH TRAVERSALS

LECTURE 17 GRAPH TRAVERSALS DATA STRUCTURES AND ALGORITHMS LECTURE 17 GRAPH TRAVERSALS IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD STRATEGIES Traversals of graphs are also called searches We can use either breadth-first

More information

Monte Carlo Methods; Combinatorial Search

Monte Carlo Methods; Combinatorial Search Monte Carlo Methods; Combinatorial Search Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico November 22, 2012 CPD (DEI / IST) Parallel and

More information

DATA STRUCTURES AND ALGORITHMS

DATA STRUCTURES AND ALGORITHMS DATA STRUCTURES AND ALGORITHMS UNIT 1 - LINEAR DATASTRUCTURES 1. Write down the definition of data structures? A data structure is a mathematical or logical way of organizing data in the memory that consider

More information

Graph Theory. Connectivity, Coloring, Matching. Arjun Suresh 1. 1 GATE Overflow

Graph Theory. Connectivity, Coloring, Matching. Arjun Suresh 1. 1 GATE Overflow Graph Theory Connectivity, Coloring, Matching Arjun Suresh 1 1 GATE Overflow GO Classroom, August 2018 Thanks to Subarna/Sukanya Das for wonderful figures Arjun, Suresh (GO) Graph Theory GATE 2019 1 /

More information

Locality- Sensitive Hashing Random Projections for NN Search

Locality- Sensitive Hashing Random Projections for NN Search Case Study 2: Document Retrieval Locality- Sensitive Hashing Random Projections for NN Search Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade April 18, 2017 Sham Kakade

More information

Simple and Fast: Improving a Branch-And-Bound Algorithm for Maximum Clique

Simple and Fast: Improving a Branch-And-Bound Algorithm for Maximum Clique Simple and Fast: Improving a Branch-And-Bound Algorithm for Maximum Clique Torsten Fahle University of Paderborn Department of Mathematics and Computer Science Fürstenallee 11, D-33102 Paderborn, Germany

More information

Parallel Traveling Salesman. PhD Student: Viet Anh Trinh Advisor: Professor Feng Gu.

Parallel Traveling Salesman. PhD Student: Viet Anh Trinh Advisor: Professor Feng Gu. Parallel Traveling Salesman PhD Student: Viet Anh Trinh Advisor: Professor Feng Gu Agenda 1. Traveling salesman introduction 2. Genetic Algorithm for TSP 3. Tree Search for TSP Travelling Salesman - Set

More information

PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE

PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE Artificial Intelligence, Computational Logic PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE Lecture 2 Uninformed Search vs. Informed Search Sarah Gaggl Dresden, 28th April 2015 Agenda 1 Introduction

More information

Parallel Systems Course: Chapter VIII. Sorting Algorithms. Kumar Chapter 9. Jan Lemeire ETRO Dept. Fall Parallel Sorting

Parallel Systems Course: Chapter VIII. Sorting Algorithms. Kumar Chapter 9. Jan Lemeire ETRO Dept. Fall Parallel Sorting Parallel Systems Course: Chapter VIII Sorting Algorithms Kumar Chapter 9 Jan Lemeire ETRO Dept. Fall 2017 Overview 1. Parallel sort distributed memory 2. Parallel sort shared memory 3. Sorting Networks

More information