830 likes | 979 Views
Interactive Visual Classification with Euler Diagrams. Gennaro Cordasco , Rosario De Chiara Università degli Studi di Salerno, Italy . Andrew Fish * University of Brighton, UK. *funded by UK EPSRC grant EP/E011160: Visualization with Euler Diagrams. Overview . Classification Problem
E N D
Interactive Visual Classification with Euler Diagrams GennaroCordasco, Rosario De Chiara UniversitàdegliStudidi Salerno, Italy Andrew Fish* University of Brighton, UK *funded by UK EPSRC grant EP/E011160: Visualization with Euler Diagrams.
Overview • Classification Problem • related Euler Diagram applications • Diagram Abstraction Problem • Concepts needed • e.g. weakly reducible, marked points, … • On-line algorithms • complexity analysis • EulerVC application demo Andrew Fish, University of Brighton, UK
Classification Problem • Resource classification is often challenging for users, and commonly hierarchical classifications are not sufficient for their needs. • Free-form tagging approaches provide a flat space, utilising different tagging and visualisation mechanisms. • What about using non-hierarchical classification structures, and what about the use of (Euler) diagrams…? Andrew Fish, University of Brighton, UK
Related Euler Diagram Applications • LHS [Inria]: Visualizing the numbers of documents matching a query from a library database, facilitating query modifications. • RHS [Salerno]: File organisation with VennFS allows the user to draw Euler Diagrams in order to organize files within categories. Andrew Fish, University of Brighton, UK
The main problem • To compute the set of zones associated to a given collection of curves • Zones are not so easy to describe, they can be non-convex, non-simply connected,… • How to update the zone set when we add curves? Andrew Fish, University of Brighton, UK
Euler Diagram Example LHS: A concrete diagram with 4 contours (simple closed curves in plane) and 6 zones (regions inside a set of contours and outside the rest). RHS: Depicts the abstract diagram/set system, which is the abstraction of the LHS: d= {A,B,C,D}, {∅,{B},{C},{D},{A,B},{B,C}} A B C {A,B} D {B,C} {B} {D} {C} ∅
Euler Diagram Problems: static Generation Abstract ED/ Set System Concrete ED Abstraction Andrew Fish, University of Brighton, UK
Euler Diagram Problems: dynamic Generation Abstract ED Concrete ED Transformations Transformations Abstraction Andrew Fish, University of Brighton, UK
Euler Diagram Problems: dynamic Wellformedness conditions Generation Abstract ED Concrete ED Transformations Transformations Abstraction Andrew Fish, University of Brighton, UK
ED wellformedness conditions • contours are simple closed curves, each with a single, unique label; • contours meet transversely (so no tangential meetings or concurrency) and at most two contours meet at a single point; • zones cannot be disconnected • i.e. each minimal region is a zone. • Or, if you prefer… wellformed Euler diagrams can be thought of as “simple Euler diagrams”; i.e. simple Venn diagrams where some regions of intersection can be empty/missing”. Andrew Fish, University of Brighton, UK
Fast DiagramInterpretation Given a wellformed concrete Euler diagram d: • compute the abstract Euler diagram for d A 4 Zones: {A} {A,B} {B} ∅ B Andrew Fish, University of Brighton, UK
Fast DiagramInterpretation Given a wellformed concrete Euler diagram d: • compute the abstract Euler diagram for d • evaluate if the addition of a new contour or removal of an existing contour yields a wellformed diagram (and update the abstract diagram accordingly). A A C B B C Andrew Fish, University of Brighton, UK
Fast DiagramInterpretation • On-line approach • We consider the diagram construction using the natural operations of contour addition/removal. A A A B B B C C Timeline Andrew Fish, University of Brighton, UK
Fast DiagramInterpretation • On-line approach • We consider the diagram construction using the natural operations of contour addition/removal. • What class of diagrams is this? A A A B B B C C Timeline Andrew Fish, University of Brighton, UK
Weakly reducible Euler Diagrams • Reducible Venn diagrams [e.g. see Ruskey 97] • the removal of one of its curves yields a Venn diagram • Reducible Euler diagrams • the removal of one of its curves yields a WF Euler diagram • Completely reducible Euler diagrams • There is a sequence of curve removals that yields the empty ED through WF diagrams (or a sequence of curve additions from the empty ED). • Weakly reducible Euler diagrams • There is a sequence of curve removals and additions that yields the empty ED through WF diagrams. Andrew Fish, University of Brighton, UK
Weakly reducible Euler Diagrams WF Euler diagrams ? Reducible Weakly Reducible ? Completely Reducible Andrew Fish, University of Brighton, UK
Weakly reducible Euler Diagrams WF Euler diagrams ? Reducible Weakly Reducible ? Completely Reducible Andrew Fish, University of Brighton, UK
Weakly reducible Euler Diagrams WF Euler diagrams ? Reducible Weakly Reducible ? Link to Proof Completely Reducible Andrew Fish, University of Brighton, UK
Weakly reducible Euler Diagrams WF Euler diagrams ? Reducible Weakly Reducible ? Link to Proof Completely Reducible Andrew Fish, University of Brighton, UK
Wellformedness online verification • Theorem 1: Let d = C, Z, be a weakly reducible Euler diagram, then |Z| = ip(d) + cc(d) + 1 where • cc(d) denotes the number of components • ip(d) denotes number of intersection points 1 component 6 intersectionpoints 1+6+1=8 zones 2 component 2 intersectionpoints 2+2+1=5 zones 3 component 4 intersectionpoints 3+4+1=8 zones
Wellformedness online verification • Theorem 1: Let d = C, Z, be a weakly reducible Euler diagram, then |Z| = ip(d) + cc(d) + 1 where • cc(d) denotes the number of components • ip(d) denotes number of intersection points • Proof: by induction for single component case • Use that the addition of a new contour generates x > 1 intersection points splitting the new contour into x segments, each of which splits a different zone (otherwise the component was not connected) and so we have x new zones. A Andrew Fish, University of Brighton, UK
Wellformedness online verification • Theorem 1: Let d = C, Z, be a weakly reducible Euler diagram, then |Z| = ip(d) + cc(d) + 1 where • cc(d) denotes the number of components • ip(d) denotes number of intersection points • Corollary of Proof: The addition of a simple closed curve A to a weakly reducible diagram d which only meets d in transverse intersections at points which are not intersection points of d yields a WF Euler diagram iffd+A satisfies the “zones condition” above. A Andrew Fish, University of Brighton, UK
Wellformedness online verification • Theorem 1: Let d = C, Z, be a weakly reducible Euler diagram, then |Z| = ip(d) + cc(d) + 1 where • cc(d) denotes the number of components • ip(d) denotes number of intersection points • Corollary of Proof: The addition of a simple closed curve A to a weakly reducible diagram d which only meets d in transverse intersections at points which are not intersection points of d yields a WF Euler diagram iffd+A satisfies the “zones condition” above. • The point(s): • We have enough points to “mark” the zone set • Can check wellformedness after curve addition by counting A Andrew Fish, University of Brighton, UK
Euler Diagram Abstraction For our interface, we want both: • Quick construction method • Quick interpretation method So, we consider the use of ellipses. Given two ellipses A and B, one can quickly find: • their intersection points (in particular, since in a wellformed diagram tangential points are not allowed, we will have 0, 2 or 4 intersection points); • their relationship (that is, if they overlap, if one is contained in the other or if they are disjoint) Andrew Fish, University of Brighton, UK
MarkedPoints • We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the closure of z. C E D A B Andrew Fish, University of Brighton, UK
MarkedPoints • We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the closure of z. C E D A B Andrew Fish, University of Brighton, UK
MarkedPoints • We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the closure of z. C E D A B Andrew Fish, University of Brighton, UK
MarkedPoints • We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the closure of z. C E D A B Andrew Fish, University of Brighton, UK
MarkedPoints • We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the closure of z. C E D A B Andrew Fish, University of Brighton, UK
MarkedPoints • We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the closure of z. C E D A B Andrew Fish, University of Brighton, UK
MarkedPoints • We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the closure of z. And we can update this set of marked points appropriately upon the addition or removal of curves. C E D A B Andrew Fish, University of Brighton, UK
EllipseAddition Reject A d is a wellformed diagram d C d +Eis a wellformed diagram D E E A Cont(E) Over(E) Inter(E) E yes no B E E Andrew Fish, University of Brighton, UK
EllipseAddition Reject A d is a wellformed diagram d C d +Eis a wellformed diagram D E E A Cont(E) Over(E) Inter(E) E yes no B Zd={, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}} E E Andrew Fish, University of Brighton, UK
EllipseAddition d is a wellformed diagram Reject A d is a wellformed diagram d C d +Eis a wellformed diagram D E E A Cont(E) Over(E) Inter(E) E yes no B Zd={, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}} E E Andrew Fish, University of Brighton, UK
EllipseAddition Compute E's relationship with d Reject A d is a wellformed diagram d C d +Eis a wellformed diagram E x2 D E E x1 A x3 x6 Cont(E) Over(E) Inter(E) x4 E x5 yes no B Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)= Over(E)={A,B,C} Inter(E)={x1,x2,x3,x4,x5,x6} E E Andrew Fish, University of Brighton, UK
EllipseAddition Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)= Over(E)={A,B,C} Inter(E)={x1,x2,x3,x4,x5,x6} Is d +E wellformed ? Reject A d is a wellformed diagram d C d +Eis a wellformed diagram E x2 D E E x1 A x3 x6 Cont(E) Over(E) Inter(E) x4 E x5 yes no B E E By using Thm 1 Andrew Fish, University of Brighton, UK
EllipseAddition Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)= Over(E)={A,B,C} Inter(E)={x1,x2,x3,x4,x5,x6} Each arc splits exactly one zone Compute Split zones Reject A d is a wellformed diagram d C d +Eis a wellformed diagram E x2 D E E x1 A x3 x6 Cont(E) Over(E) Inter(E) x4 E x5 yes no B E E Andrew Fish, University of Brighton, UK
EllipseAddition Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)= Over(E)={A,B,C} Inter(E)={x1,x2,x3,x4,x5,x6} Each arc splits exactly one zone Compute Split zones Split Zones={, {C}, {B,C},{B},{A,B},{A}} Reject A d is a wellformed diagram d C d +Eis a wellformed diagram E x2 D E E x1 A x3 x6 Cont(E) Over(E) Inter(E) x4 E x5 yes no B E E Andrew Fish, University of Brighton, UK
EllipseAddition Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)= Over(E)={A,B,C} Inter(E)={x1,x2,x3,x4,x5,x6} Generate new zones Split Zones={, {C}, {B,C},{B},{A,B},{A}} New Zones={{E}, {C,E}, {B,C,E}, {B,E}, {A,B,E}, {A,E}} Reject A d is a wellformed diagram d C d +Eis a wellformed diagram E x2 D E E x1 A x3 x6 Cont(E) Over(E) Inter(E) x4 E x5 yes no B E E Andrew Fish, University of Brighton, UK
EllipseAddition Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)= Over(E)={A,B,C} Inter(E)={x1,x2,x3,x4,x5,x6} Update marked points Points x2 and x3 are swapped with y1 and y2, respectively. For instance, y1 previously marking {C} in d now marks {C,E}, whilst {C} is marked by x2. d C Reject A d is a wellformed diagram E x2 D x1 y1 A d +Eis a wellformed diagram y2 E E x3 x6 x4 x5 Cont(E) Over(E) Inter(E) E B yes no E E Andrew Fish, University of Brighton, UK
EllipseAddition Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)= Over(E)={A,B,C} Inter(E)={x1,x2,x3,x4,x5,x6} Update covered zones Zones {A,C} and {A,B,C} are not split and their marking points, y3 and y4, are in interior(E), so these zones need to be updated and become {A,C,E} and {A,B,C,E}. d C Reject A d is a wellformed diagram E x2 D x1 y1 A d +Eis a wellformed diagram y2 E E x3 y3 x6 y4 x4 x5 Cont(E) Over(E) Inter(E) E B yes no E E Andrew Fish, University of Brighton, UK
EllipseAddition d+E is a wellformed diagram Reject A d is a wellformed diagram C d +Eis a wellformed diagram E D E E A Cont(E) Over(E) Inter(E) E yes no B Zd+E={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} E E Andrew Fish, University of Brighton, UK
EllipseAddition d+E is a wellformed diagram Reject A d is a wellformed diagram d C d +Eis a wellformed diagram E x2 D E E x1 A x3 x6 Cont(E) Over(E) Inter(E) x4 E x5 yes no B Zd+E={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} E E Andrew Fish, University of Brighton, UK Skip Ellipse Deletion
EllipseRemoval d=d+E Reject A d is a wellformed diagram C C d -Cis a wellformed diagram C E D C A C Cont(E) Over(E) Inter(E) C yes no B Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} C C Andrew Fish, University of Brighton, UK
EllipseRemoval d=d+E Reject A d is a wellformed diagram d C C d -Cis a wellformed diagram C E x2 D C x1 A C x3 x6 Cont(E) Over(E) Inter(E) x4 C x5 yes no B Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} C C Andrew Fish, University of Brighton, UK
EllipseRemoval d is a wellformed diagram Reject A d is a wellformed diagram C C d -Cis a wellformed diagram C E D C A C Cont(E) Over(E) Inter(E) C yes no B Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} C C Andrew Fish, University of Brighton, UK
EllipseRemoval Compute C’s relationship with d-C Reject A d is a wellformed diagram C C d -Cis a wellformed diagram z2 C E D C z1 A C z6 z3 z5 Cont(E) Over(E) Inter(E) z4 C yes no B Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z1,z2,z3,z4,z5,z6} C C Andrew Fish, University of Brighton, UK
EllipseRemoval Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z1,z2,z3,z4,z5,z6} Is d-Cwellformed? Reject A d is a wellformed diagram C C d -Cis a wellformed diagram z2 C E D C z1 A C z6 z3 z5 Cont(E) Over(E) Inter(E) z4 C yes no B C C Only disconnected zones need to be checked. Andrew Fish, University of Brighton, UK
EllipseRemoval Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z1,z2,z3,z4,z5,z6} Each arc splits exactly one zone Compute Split zones • Split Zones={,{B}, {E},{A,E}, {B,E}, {A,B,E}} Reject A d is a wellformed diagram C C d -Cis a wellformed diagram z2 C E D C z1 A C z6 z3 z5 Cont(E) Over(E) Inter(E) z4 C yes no B C C Andrew Fish, University of Brighton, UK
EllipseRemoval Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z1,z2,z3,z4,z5,z6} Each arc splits exactly one zone Merge zones Reject A d is a wellformed diagram C C d -Cis a wellformed diagram z2 C E D C z1 A C z6 z3 z5 Cont(E) Over(E) Inter(E) z4 C yes no B C C Andrew Fish, University of Brighton, UK