Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interactive Visual Classification with Euler Diagrams

Similar presentations


Presentation on theme: "Interactive Visual Classification with Euler Diagrams"— Presentation transcript:

1 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.

2 Andrew Fish, University of Brighton, UK
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

3 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

4 Related Euler Diagram Applications
Problems with Library information queries: different method of query entry (textual), was not used to tag items… Problems with VennFS – 1. Scaling and 2. Computation. We help with scaling by introducing EulerView, whist we address computation here. 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

5 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

6 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} {C} {D}

7 Euler Diagram Problems: static
Generation Abstract ED/ Set System Concrete ED Abstraction Andrew Fish, University of Brighton, UK

8 Euler Diagram Problems: dynamic
Generation Abstract ED Concrete ED Transformations Transformations Abstraction Andrew Fish, University of Brighton, UK

9 Euler Diagram Problems: dynamic
Wellformedness conditions Generation Abstract ED Concrete ED Transformations Transformations Abstraction Andrew Fish, University of Brighton, UK

10 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

11 Fast Diagram Interpretation
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

12 Fast Diagram Interpretation
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

13 Fast Diagram Interpretation
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

14 Fast Diagram Interpretation
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

15 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. Add definitions in the slide or just explain them ? Andrew Fish, University of Brighton, UK

16 Weakly reducible Euler Diagrams
Completely Reducible WF Euler diagrams ? ? If you are bored during the rest of the talk then please try and fill in the blanks  Andrew Fish, University of Brighton, UK

17 Weakly reducible Euler Diagrams
Completely Reducible WF Euler diagrams ? ? If you are bored during the rest of the talk then please try and fill in the blanks  Andrew Fish, University of Brighton, UK

18 Weakly reducible Euler Diagrams
Completely Reducible WF Euler diagrams ? ? Link to Proof If you are bored during the rest of the talk then please try and fill in the blanks  Andrew Fish, University of Brighton, UK

19 Weakly reducible Euler Diagrams
Completely Reducible WF Euler diagrams ? ? Link to Proof If you are bored during the rest of the talk then please try and fill in the blanks  Andrew Fish, University of Brighton, UK

20 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 intersection points 1+6+1=8 zones 2 component 2 intersection points 2+2+1=5 zones 3 component 4 intersection points 3+4+1=8 zones

21 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. If we add a curve joining two different components then one segement of the curve does not split the region in between them, but the second segement in that region does. And we reduce the number of components by 1 which counters the non-split case. A Andrew Fish, University of Brighton, UK

22 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 iff d+A satisfies the “zones condition” above. A Andrew Fish, University of Brighton, UK

23 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 iff d+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

24 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

25 Andrew Fish, University of Brighton, UK
Marked Points 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

26 Andrew Fish, University of Brighton, UK
Marked Points 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

27 Andrew Fish, University of Brighton, UK
Marked Points 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

28 Andrew Fish, University of Brighton, UK
Marked Points 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

29 Andrew Fish, University of Brighton, UK
Marked Points 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

30 Andrew Fish, University of Brighton, UK
Marked Points 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

31 Andrew Fish, University of Brighton, UK
Marked Points 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 Might be better to include slide here showing the update of marked points upon curve addition. B Andrew Fish, University of Brighton, UK

32 Compute E's relationship with d
Ellipse Addition d is a wellformed diagram d C d +E is a wellformed diagram D E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) E yes no B Reject A E E Andrew Fish, University of Brighton, UK

33 Compute E's relationship with d
Ellipse Addition d is a wellformed diagram d C d +E is a wellformed diagram D E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) E yes no B Reject A Zd={, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}} E E Andrew Fish, University of Brighton, UK

34 Compute E's relationship with d
Ellipse Addition d is a wellformed diagram d is a wellformed diagram d C d +E is a wellformed diagram D E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) E yes no B Reject A Zd={, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}} E E Andrew Fish, University of Brighton, UK

35 Compute E's relationship with d
Ellipse Addition Compute E's relationship with d d is a wellformed diagram d C d +E is a wellformed diagram E x2 D x1 E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones x3 x6 Cont(E) Over(E) Inter(E) x4 x5 E yes no B Reject A 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

36 Compute E's relationship with d
Ellipse Addition 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 ? d is a wellformed diagram d C d +E is a wellformed diagram E x2 D x1 E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones x3 x6 Cont(E) Over(E) Inter(E) x4 x5 E yes no B Reject A E By using Thm 1 E Andrew Fish, University of Brighton, UK

37 Compute E's relationship with d
Ellipse Addition 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 d is a wellformed diagram d C d +E is a wellformed diagram E x2 D x1 E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones x3 x6 Cont(E) Over(E) Inter(E) x4 x5 E yes no B Reject A E E Andrew Fish, University of Brighton, UK

38 Compute E's relationship with d
Ellipse Addition 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}} d is a wellformed diagram d C d +E is a wellformed diagram E x2 D x1 E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones x3 x6 Cont(E) Over(E) Inter(E) x4 x5 E yes no B Reject A E E Andrew Fish, University of Brighton, UK

39 Compute E's relationship with d
Ellipse Addition 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}} d is a wellformed diagram d C d +E is a wellformed diagram E x2 D x1 E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones x3 x6 Cont(E) Over(E) Inter(E) x4 x5 E yes no B Reject A E E Andrew Fish, University of Brighton, UK

40 Compute E's relationship with d
Ellipse Addition 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 d is a wellformed diagram E x2 D x1 A y1 d +E is a wellformed diagram y2 x3 E E Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones x6 x4 x5 Cont(E) Over(E) Inter(E) E B yes no Reject A E E Andrew Fish, University of Brighton, UK

41 Compute E's relationship with d
Ellipse Addition 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 d is a wellformed diagram E x2 D x1 A y1 d +E is a wellformed diagram y2 y3 x3 E E Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones x6 y4 x4 x5 Cont(E) Over(E) Inter(E) E B yes no Reject A E E Andrew Fish, University of Brighton, UK

42 Compute E's relationship with d
Ellipse Addition d+E is a wellformed diagram d is a wellformed diagram C d +E is a wellformed diagram E D E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) E yes no B Reject A 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

43 Compute E's relationship with d
Ellipse Addition d+E is a wellformed diagram d is a wellformed diagram d C d +E is a wellformed diagram E x2 D x1 E E A Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones x3 x6 Cont(E) Over(E) Inter(E) x4 x5 E yes no B Reject A 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 Skip Ellipse Deletion Andrew Fish, University of Brighton, UK

44 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal d=d+E d is a wellformed diagram C C C d -C is a wellformed diagram E D C C A Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) C The same for the removal yes no B Reject A 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

45 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal d=d+E d is a wellformed diagram d C C C d -C is a wellformed diagram E x2 D C C x1 A Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones x3 x6 Cont(E) Over(E) Inter(E) x4 x5 C yes no B Reject A 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

46 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal d is a wellformed diagram d is a wellformed diagram C C C d -C is a wellformed diagram E D C C A Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) C yes no B Reject A 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

47 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal Compute C’s relationship with d-C d is a wellformed diagram C C C d -C is a wellformed diagram E z2 D C C A z1 Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones z6 z3 z5 Cont(E) Over(E) Inter(E) z4 C yes no B Reject A 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

48 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal 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-C wellformed? d is a wellformed diagram C C C d -C is a wellformed diagram E z2 D C C A z1 Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones z6 z3 z5 Cont(E) Over(E) Inter(E) z4 C yes no B Reject A C C Only disconnected zones need to be checked. Andrew Fish, University of Brighton, UK

49 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal 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}} d is a wellformed diagram C C C d -C is a wellformed diagram E z2 D C C A z1 Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones z6 z3 z5 Cont(E) Over(E) Inter(E) z4 C yes no B Reject A C C Andrew Fish, University of Brighton, UK

50 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal 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 d is a wellformed diagram C C C d -C is a wellformed diagram E z2 D C C A z1 Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones z6 z3 z5 Cont(E) Over(E) Inter(E) z4 C yes no B Reject A C C Andrew Fish, University of Brighton, UK

51 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal 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} Remove marked points that belong to C d is a wellformed diagram C C C d -C is a wellformed diagram E z2 D C C A z1 Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones z6 z3 z5 Cont(E) Over(E) Inter(E) z4 C yes no B Reject A C C Andrew Fish, University of Brighton, UK

52 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal 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} Remove marked points that belong to C d is a wellformed diagram C C C d -C is a wellformed diagram E D C C A Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) C yes no B Reject A C C Andrew Fish, University of Brighton, UK

53 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal 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} Update covered zones Zone {C,D} is not split by C and its marked point is in interior(C), so it needs to be updated and it becomes {D}. d is a wellformed diagram C C C d -C is a wellformed diagram E D C C A Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) C yes no B Reject A C C Andrew Fish, University of Brighton, UK

54 Compute C's relationship with d-C Remove C from d Compute Split zones
Ellipse Removal d-C is a wellformed diagram d is a wellformed diagram C C d -C is a wellformed diagram E D C C A Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) C yes no B Reject A Zd-C={, {A}, {B}, {E}, {D}, {A,B}, {A,E}, {B,E}, {A,B,E},} C C Andrew Fish, University of Brighton, UK

55 Andrew Fish, University of Brighton, UK
Complexity Ellipse addition and removal algorithms are similar and their complexity is Andrew Fish, University of Brighton, UK

56 Compute E's relationship with d
For each other curve, compute intersection points with E; if curve C disjoint then check if marked point for C is in interior (E) Complexity d is a wellformed diagram O(|Z|) O(|C|) d +E is a wellformed diagram E E Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones O(|C|) O(|C|) Cont(E) Over(E) Inter(E) E yes no Reject A Number of intersection points with E is bounded by 4 times the number of curves. Over(E) is set of curves that overlap, so have an intersection point, Cont(E) is set of curves that contain E so have no intersection but the marked point of these curves is in exterior(E). E E O(|C|) O(|C| log |C|)

57 Compute E's relationship with d
Complexity d is a wellformed diagram O(|Z|) O(|C|) d +E is a wellformed diagram Check no tangential/triple points created. Check WF using the number of intersection points of E with other curves (Thm 1) E E Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones O(|C|) O(|C|) Cont(E) Over(E) Inter(E) E yes no Reject A The first check is simply to check that the number of intersection points of E with each contour is even (so not 1 or 3 here). Then the number of intersection points checks if we have any disconnected zones. [checking we do not have four intersection points isn’t enough, since we can have 4 and have WF diagram e.g. The symmetric venn(5) example]. E E O(|C|) O(|C| log |C|)

58 Compute E's relationship with d
Complexity d is a wellformed diagram O(|Z|) O(|C|) d +E is a wellformed diagram Each arc splits exactly 1 zone # arcs = O(|C|) Consecutive arcs split zones which differ by one exactly contour, so we order the points of inter(E). E E Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones O(|C|) O(|C|) Cont(E) Over(E) Inter(E) E yes no Reject A O(C log C) steps to order the points of intersection of E, there being O(C) such points since E intersects each contour at most 4 times (actually at most twice for WF case), O(C) to compute the first point, then O(1) for the rest giving total of O(C log C). Note that the more naive approach here would be to compute each zone separately, giving O(C) zones to compute, each taking O(C) time, yielding O(C^2). E E O(|C|) O(|C| log |C|)

59 Compute E's relationship with d
Complexity d is a wellformed diagram O(|Z|) O(|C|) d +E is a wellformed diagram E E Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones O(|C|) O(|C|) Cont(E) Over(E) Inter(E) E yes no Reject A As for split zones, although since we have already computed the split zones we just need to add the label E to them. There are O(|C|) zones, so this needs O(|C|) Add E to split zones E E O(|C|) O(|C| log |C|)

60 Compute E's relationship with d
Complexity d is a wellformed diagram O(|Z|) O(|C|) d +E is a wellformed diagram E E Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones O(|C|) O(|C|) Cont(E) Over(E) Inter(E) E yes no Reject A Nunmber intersection points is O(|C|) and each membership check is O(1). The membership check is to see if the marked point for contour is in interior(E). Iterate through Inter(E) and perform set membership check E E O(|C|) O(|C| log |C|)

61 Compute E's relationship with d
Iterate through non-split zone set and check if their marked point is in interior(E) Complexity d is a wellformed diagram O(|Z|) O(|C|) d +E is a wellformed diagram E E Draw a new contour E Compute E's relationship with d Is d +E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones O(|C|) O(|C|) Cont(E) Over(E) Inter(E) E yes no Reject A E E O(|C|) O(|C| log |C|)

62 f(|C|) = time needed to check if a given zone is present in d + E
A naive approach f(|C|) = time needed to check if a given zone is present in d + E d is an Euler diagram O(1) Draw a new contour E A new contour is added Duplicate each zone Check Zones E O(|Z|f(|C|)) E The naive algorithm implements the following idea. When a new contour E is added to a given diagram d, for which we know the zone descriptors, it prepares a list of new candidate zone descriptors for d′ =d + E (by duplicating the set of zone descriptors XZ and adding E to one half of them). Then for each of these it checks whether the described zone is actually present in d′. And f(C) is likely to be bad…at least linear…how would this be done at all? The factor of Z is the problem generally since the number of zones grows quickly (unless we consider sparse diagrams). O(|Z|) O(|Z|f(|C|))

63 Andrew Fish, University of Brighton, UK
EulerVC As a proof of concept we have implemented the algorithms as general purpose Java library And used it to build a small application which allows users to use Euler Diagrams to classify internet bookmarks on their desktop, or on Delicious… Andrew Fish, University of Brighton, UK

64 Andrew Fish, University of Brighton, UK
“Delicious is a social bookmarking web service for storing, sharing, and discovering web bookmarks” (from Wikipedia) Users can tag each of their bookmarks with freely chosen index terms Delicious can be seen as a nonhierarchical classification system, although I prefer to think of them as having less structure, but maybe they are… Andrew Fish, University of Brighton, UK

65 Andrew Fish, University of Brighton, UK
Tags Bookmark Andrew Fish, University of Brighton, UK

66 EulerVC: skip slides; demo tool

67 Andrew Fish, University of Brighton, UK
EulerVC This is the EulerVC (Euler (Diagrams based) Visual Classification) . The use is pretty intuitive. User can draw diagrams and simply place his delicious bookmarks right on the diagram. The classification is naturally induced by using the labels associated to the zone the bookmark is placed in as the set of tags associated to it. Overlapping zones are shaded by using colour blending in order to show clearly which are the sets that generate each zone. Andrew Fish, University of Brighton, UK

68 Andrew Fish, University of Brighton, UK
EulerVC Drawing a new set (that is an ellipse) happens by using the mouse. Please notice that ellipses are arbitrarly rotated. The ellipse and the rotation are drawn by using a single mouse movement. Andrew Fish, University of Brighton, UK

69 Andrew Fish, University of Brighton, UK
EulerVC Associated to every set there’s a name. This will be the tag that is associated to items placed withing its contour. Newly created sets are named NEWSETsomething. Andrew Fish, University of Brighton, UK

70 Andrew Fish, University of Brighton, UK
EulerVC Sets can be renamed Andrew Fish, University of Brighton, UK

71 Andrew Fish, University of Brighton, UK
EulerVC Andrew Fish, University of Brighton, UK

72 Andrew Fish, University of Brighton, UK
EulerVC And moved or redrawn. This allows to redesign the diagram. Current version doens’t handle the case in which an item is left out by a redrawn set. Actually this is more than a bug, because it is quite complex to handle it automatically. We’re working on it. Andrew Fish, University of Brighton, UK

73 Andrew Fish, University of Brighton, UK
EulerVC Set handlers (in blue) allow to move the set around. Andrew Fish, University of Brighton, UK

74 Andrew Fish, University of Brighton, UK
EulerVC Set color is a parameter that can be modified too. Andrew Fish, University of Brighton, UK

75 Andrew Fish, University of Brighton, UK
EulerVC Andrew Fish, University of Brighton, UK

76 Andrew Fish, University of Brighton, UK
EulerVC Andrew Fish, University of Brighton, UK

77 Andrew Fish, University of Brighton, UK
EulerVC The query function lets the user to emphasize boundaries of a selected zone (showed in red in this slide). This lets the user to explore the diagram. In the status bar the associated tags are shown too. Andrew Fish, University of Brighton, UK

78 Andrew Fish, University of Brighton, UK
EulerVC Items are placed withing a zones. It is not possible to place items in the universe, that is the outer zone. This is a precise design because placing items there means to not classify them. Andrew Fish, University of Brighton, UK

79 Andrew Fish, University of Brighton, UK
EulerVC Items can be removed (note that the circled item is not present anymore) Andrew Fish, University of Brighton, UK

80 Andrew Fish, University of Brighton, UK
EulerVC Until now we just shown the functionalities about the set drawing and the item management. Now I’ll show some details about how the items are actually tagged on delicious. Two functionalities get involved in this: export to delicious and import from it. Export will simply run throughout the items placed on the diagrams and will export them on delicious; each bookmark will be tagged by using the zones. Andrew Fish, University of Brighton, UK

81 EulerVC Import from delicious is a slightly more complex work. The import will let the user to place explicitly place the bookmarks on the diagram. When an item is selected, the diagram will be shaded in gray tones in order to emphasize how zones match the tags associated to the selected bookmark: the whiter the zone is the higher is the number of tags matched by that zone. In this slide, for instance, the white zone in the middle of the diagram matches exactly the tags associated to the bookmark.

82 Andrew Fish, University of Brighton, UK
Conclusion Algorithms developed to solve the on-line diagram abstraction problem. EulerVC application constructed useful for: User classification of resources (requires user testing…) Exploratory research of diagram properties like weak reducibility (see Symmetric Venn(5) with Ellipses) Future plans: Handle NWF cases by extending the use of marked pts General resource handling (web pages, photos, files...) Integration with EulerView idea (for larger scale) Investigate diagram classes Andrew Fish, University of Brighton, UK

83 Andrew Fish, University of Brighton, UK
Blank Andrew Fish, University of Brighton, UK


Download ppt "Interactive Visual Classification with Euler Diagrams"

Similar presentations


Ads by Google