Directed Acyclic Graph Tool Alice Robson: UNIGE (with thanks to Colin Bernet)

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Exact Inference in Bayes Nets
Data Structures & Java Generics Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Spark: Cluster Computing with Working Sets
The Out of Kilter Algorithm in Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal.
Breadth First Search
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
 Today: WHAT to build  Next week: how to look GOOD.
Binary Search Trees CMSC 132 Chapter 8.1 Nelson Padua-Perez Bill Pugh.
Testing for Connectedness & Cycles Connectedness of an Undirected Graph Implementation of Connectedness detection Algorithm. Implementation of Strong Connectedness.
File Concept l Contiguous logical address space l Types: Data: numeric, character, binary Program: source, object (load image) Documents.
Topological Sort Introduction. Definition of Topological Sort. Topological Sort is Not Unique. Topological Sort Algorithm. An Example. Implementation.
Alexander Hartmann.  Free service offered by Google that generates detailed statistics about the visitors to a website. A premium version is also available.
3.0 State Space Representation of Problems 3.1 Graphs 3.2 Formulating Search Problems 3.3 The 8-Puzzle as an example 3.4 State Space Representation using.
Dependency Tracking in software systems Presented by: Ashgan Fararooy.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Lucas Bang Lecture 15: Linked data structures.
Computer Science 112 Fundamentals of Programming II Introduction to Graphs.
Implementing Scene Graphs, CSG Trees Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, January 26, 2004.
…using Git/Tortoise Git
CS261 – Recitation 5 Fall Outline Assignment 3: Memory and Timing Tests Binary Search Algorithm Binary Search Tree Add/Remove examples 1.
The Volcano Query Optimization Framework S. Sudarshan (based on description in Prasan Roy’s thesis Chapter 2)
SICP Search Algorithms Why search Data structures that support search Breadth first vs. depth first.
Event Data History David Adams BNL Atlas Software Week December 2001.
Data Mining By Dave Maung.
Datasets on the GRID David Adams PPDG All Hands Meeting Catalogs and Datasets session June 11, 2003 BNL.
Trees (Ch. 9.2) Longin Jan Latecki Temple University based on slides by Simon Langley and Shang-Hua Teng.
Search Engines1 Searching the Web Web is vast. Information is scattered around and changing fast. Anyone can publish on the web. Two issues web users have.
10 Tips for a Successful Website #1 BRAND UNITY Keep the look and feel consistent with your offline branding (corporate ID). Make sure your branding is.
Developing a Software Package for Conceptualizing Molecular Findings Xinghua Lu, Harry Hocheiser & Vicky Chen Dept Biomedical Informatics.
David Adams ATLAS Virtual Data in ATLAS David Adams BNL May 5, 2002 US ATLAS core/grid software meeting.
Graph RAT A framework for integrating social and content data By Daniel McEnnis University of Waikato To what extent do artists cluster into genres Pattern.
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
Rudiments of Trees a Joshua presentation DATA STRUCTURES.
Trees (Ch. 9.2) Longin Jan Latecki Temple University based on slides by Simon Langley and Shang-Hua Teng.
7 Finding Bridge in a Graph. What is a bridge ? A C D B F G E.
Design of Nonmasking Tree Algorithm Goal: design a tree construction protocol systematically by constructing its invariant and fault-span.
© Prentice Hall1 DATA MINING Web Mining Margaret H. Dunham Department of Computer Science and Engineering Southern Methodist University Companion slides.
Introduction to FCC Software FCC Istanbul 11 March, 2016 Alice Robson (CERN/UNIGE) on behalf of / with thanks to the FCC software group.
Nonlinear Revision Control for Images Hsiang-Ting Chen National Tsing Hua University Li-Yi Wei Microsoft Research Chun-Fa Chang National Taiwan University.
Spanning Trees Alyce Brady CS 510: Computer Algorithms.
Asstt. Professor Adeel Akram. Other Novel Routing Approaches Link reversal Aimed for highly dynamic networks Goal: to identify some path, as opposed.
Data Structures and Algorithms I
Lecture 3: Uninformed Search
papas: CMS single particle tuning
CSE 373 Topological Sort Graph Traversals
Data Structures and Algorithms I
FCC Software Status Readiness for FCC-ee Physics
Module 10: File-System Interface
Chapter 11: File-System Interface
Source Code for Data Structures and Algorithm Analysis in C (Second Edition) – by Weiss
Csc 2720 Instructor: Zhuojun Duan
Implementation of a Solution to the
More Graph Algorithms.
Lecture 15 CSE 331 Sep 29, 2014.
Graphs Chapter 13.
Testing for Connectedness and Cycles
"Learning how to learn is life's most important skill. " - Tony Buzan
Chapter 11 Data Compression
Graphs.
CSE 373 Data Structures and Algorithms
GENI Summer Camp Project Resilient Networks with DAG
Chapter 10: File-System Interface
A Introduction to Computing II Lecture 13: Trees
Graph Algorithms "A charlatan makes obscure what is clear; a thinker makes clear what is obscure. " - Hugh Kingsmill CLRS, Sections 22.2 – 22.4.
How to use hash tables to solve olympiad problems
Depth-First Search CSE 2011 Winter April 2019.
Module 10: File-System Interface
Data Structures and Algorithms I
Presentation transcript:

Directed Acyclic Graph Tool Alice Robson: UNIGE (with thanks to Colin Bernet)

Directed Acyclic Graph (DAG) Node represents an item Links between Nodes are directed Each Node can have multiple children multiple parents There are no cycles in the directed graph Aim of this implementation :- to support DAG where the Nodes may represent different types

DAG tool implements Visitor Pattern: It includes Node Class Visitor Class Interface BFSVisitorPattern Class (implementation of Visitor Class) Where T = Node content N = Node The Classes are deliberately kept simple. Users may also implement their own specialist visitors/or their own Node classes.

Node Class Implementation

Visitor Class Implementation

Breadth First Search Algorithm Visitor Pattern Eg Start at Node 0- traverseChildren returns Nodes: 0, 1, 2, 3, 4, 5, 6 traverseUndirected returns Nodes: 0, 1, 2, 3, 4, 5, 6, 7, 8 Start at Node 4 traverseParents returns Nodes: 4, 1, 7, 0, 8

Examples Three examples have been constructed - they use same graph structure - different types of content (1)Using Boost::Any: Node (2)Using Polymorphic classes: Node (3)Using a unique (encoded) long: Node

Boost:Any Allows any object to be wrapped inside. Very easy to wrap stuff up, To unravel requires working out what it is and casting to original type eg

Long Encoded Identifier The long encodes information about the Node contents eg Datatype (eg CLUSTER, TRACK, PARTICLE) SubType (eg RAW, SMEARED, MERGED) Unique long This is approach planned for PAPAS C++ FASTSIM implementation. Will be used alongside structures such as std::unordered_map Given a long encoded id – we can decide what it is and find the corresponding item.

Available on Git Hub Hoping to add other relevant examples as they become available.