Post on 23-Mar-2016
description
transcript
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.
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
2
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
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.
4
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?
5
6
Euler Diagram ExampleLHS: 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}}
ABC
D{A,B}
{B} {B,C}
{C} {D}
∅
Andrew Fish, University of Brighton, UK 7
Euler Diagram Problems: static
Concrete EDAbstract ED/ Set System
Abstraction
Generation
Andrew Fish, University of Brighton, UK 8
Euler Diagram Problems: dynamic
Concrete EDAbstract ED
Abstraction
Generation
TransformationsTransformations
Andrew Fish, University of Brighton, UK 9
Euler Diagram Problems: dynamic
Concrete EDAbstract ED
Abstraction
Generation
TransformationsTransformations
Wellformedness conditions
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 InterpretationGiven a wellformed concrete Euler diagram d:1. compute the abstract Euler diagram for d
A
B
4 Zones:{A}{A,B}{B}∅
Andrew Fish, University of Brighton, UK 12
Fast Diagram InterpretationGiven a wellformed concrete Euler diagram d:1. compute the abstract Euler diagram for d 2. 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
B
A
B
C
C
Andrew Fish, University of Brighton, UK 13
• On-line approach– We consider the diagram construction using the
natural operations of contour addition/removal.
Fast Diagram Interpretation
A
B
A
B
A
C
B
C
Timeline
Andrew Fish, University of Brighton, UK 14
• On-line approach– We consider the diagram construction using the
natural operations of contour addition/removal.– What class of diagrams is this?
Fast Diagram Interpretation
A
B
A
B
A
C
B
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.
Andrew Fish, University of Brighton, UK 16
Weakly reducible Euler Diagrams
ReducibleWeakly Reducible
Completely Reducible
WF Euler diagrams
?
?
Andrew Fish, University of Brighton, UK 17
Weakly reducible Euler Diagrams
ReducibleWeakly Reducible
Completely Reducible
WF Euler diagrams
?
?
Andrew Fish, University of Brighton, UK 18
Weakly reducible Euler Diagrams
ReducibleWeakly Reducible
Completely Reducible
WF Euler diagrams
?
?
Link to Proof
Andrew Fish, University of Brighton, UK 19
Weakly reducible Euler Diagrams
ReducibleWeakly Reducible
Completely Reducible
WF Euler diagrams
?
?
Link to Proof
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 component6 intersection points 1+6+1=8 zones
2 component2 intersection points 2+2+1=5 zones
3 component4 intersection points 3+4+1=8 zones
Andrew Fish, University of Brighton, UK 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.
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
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.
A
B
C
D E
2( )m x m R ( ) ( )m x cl zm
Andrew Fish, University of Brighton, UK 26
Marked Points
A
B
C
D E
• 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.
2( )m x m R ( ) ( )m x cl zm
Andrew Fish, University of Brighton, UK 27
Marked Points
A
B
C
D E
• 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.
2( )m x m R ( ) ( )m x cl zm
Andrew Fish, University of Brighton, UK 28
Marked Points
A
B
C
D E
• 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.
2( )m x m R ( ) ( )m x cl zm
Andrew Fish, University of Brighton, UK 29
Marked Points
A
B
C
D E
• 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.
2( )m x m R ( ) ( )m x cl zm
Andrew Fish, University of Brighton, UK 30
Marked Points
A
B
C
D E
• 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.
2( )m x m R ( ) ( )m x cl zm
Andrew Fish, University of Brighton, UK 31
Marked Points
A
B
C
D E
• 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.
2( )m x m R ( ) ( )m x cl zm
Andrew Fish, University of Brighton, UK 32
Ellipse Addition
A
B
C
D
d
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Andrew Fish, University of Brighton, UK 33
Ellipse Addition
A
B
C
D
d
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Zd={, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}}
Andrew Fish, University of Brighton, UK 34
Ellipse Additiond is a wellformed diagram
A
B
C
D
d
Zd={, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}}
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Andrew Fish, University of Brighton, UK 35
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Ellipse Addition
A
B
C
D E
x1
x2
x3
x4x5
x6
d
Compute E's relationship with d
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}
Andrew Fish, University of Brighton, UK 36
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Ellipse Addition
A
B
C
D E
x1
x2
x3
x4x5
x6
d
Is d +E wellformed ?
By using Thm 1
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}
Andrew Fish, University of Brighton, UK 37
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Ellipse AdditionCompute Split zones
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
A
B
C
D E
dx2
x3
x4x5
x6
x1
Andrew Fish, University of Brighton, UK 38
Compute Split zones
Split Zones={, {C}, {B,C},{B},{A,B},{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}
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Ellipse Addition
A
B
C
D E
dx2
x3
x4x5
x6
x1
Each arc splits exactly one zone
Andrew Fish, University of Brighton, UK 39
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}}
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Ellipse AdditionZd={,{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}
A
B
C
D E
dx2
x3
x4x5
x6
x1
Andrew Fish, University of Brighton, UK 40
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.
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Ellipse Addition
A
B
C
D E
x1
x2
x3
x4x5
x6
d
y1
y2
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}
Andrew Fish, University of Brighton, UK 41
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}.
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
Ellipse Addition
A
B
C
D E
x1
x2
x3
x4x5
x6
d
y1
y2y3
y4
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}
Andrew Fish, University of Brighton, UK 42
Ellipse Additiond+E is a wellformed diagram
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}}
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
A
B
C
D E
Andrew Fish, University of Brighton, UK 43
Ellipse Additiond+E is a wellformed diagram
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}}
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagram
A
B
C
D E
dx2
x3
x4x5
x6
x1
Skip Ellipse Deletion
Andrew Fish, University of Brighton, UK 44
Ellipse Removald=d+E
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}}
Remove a
contour C
Compute C's
relationship with d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
A
B
C
D E
C
C
C
C
C
Andrew Fish, University of Brighton, UK 45
Ellipse Removald=d+E
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}}
A
B
C
D E
d
Remove a
contour C
Compute C's
relationship with d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
C
C
C
C
Cx1
x2
x3
x4x5
x6
Andrew Fish, University of Brighton, UK 46
Ellipse Removald is a wellformed diagram
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}}
Remove a
contour C
Compute C's
relationship with d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
A
B
C
D E
C
C
C
C
C
Andrew Fish, University of Brighton, UK 47
Ellipse RemovalCompute C’s relationship with d-C
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 a
contour C
Compute C's
relationship with d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
A
B
C
D E
C
C
C
C
Cz2
z3
z4
z5
z6
z1
Andrew Fish, University of Brighton, UK 48
Ellipse RemovalIs d-C wellformed?
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 a
contour C
Compute C's
relationship with d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
A
B
C
D E
C
C
C
C
Cz2
z3
z4
z5
z6
z1
Only disconnected zones need to be checked.
Andrew Fish, University of Brighton, UK 49
Compute Split zones
Split Zones={ ,{B}, {E}, {A,E}, {B,E}, {A,B,E}}
Ellipse Removal
Remove a
contour C
Compute C's
relationship with d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
A
B
C
D E
C
C
C
C
Cz2
z3
z4
z5
z6
z1
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
Andrew Fish, University of Brighton, UK 50
Merge zones
Ellipse Removal
Remove a
contour C
Compute C's
relationship with d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
A
B
C
D E
C
C
C
C
Cz2
z3
z4
z5
z6
z1
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
Andrew Fish, University of Brighton, UK 51
Ellipse RemovalRemove marked points that belong to C
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 a
contour C
Compute C's
relationship with d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
A
B
C
D E
C
C
C
C
Cz2
z3
z4
z5
z6
z1
Andrew Fish, University of Brighton, UK 52
Ellipse RemovalRemove marked points that belong to C
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 a
contour C
Compute C's
relationship with d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
A
B
C
D E
C
C
C
C
C
Andrew Fish, University of Brighton, UK 53
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}.
Ellipse RemovalZd={, {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 a
contour C Compute
C's relationship with
d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
A
B
C
D E
C
C
C
C
C
Andrew Fish, University of Brighton, UK 54
d-C is a wellformed diagram
Ellipse Removal
Remove a
contour C Compute
C's relationship with
d-C
Is d - C wellformed
?
Remove C from d Compute
Split zones
MergeZones
Update Marked Points
Update covered Zones
Cont(E)Over(E
)Inter(E)
Reject A
noyes
d is a wellformed diagram
C
C
d -C is a wellformed diagram
C
C
C
C
C
Zd-C={, {A}, {B}, {E}, {D}, {A,B}, {A,E}, {B,E}, {A,B,E},}
A
B
D E
Andrew Fish, University of Brighton, UK 55
Complexity
• Ellipse addition and removal algorithms are similar and their complexity is
56
Complexity
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagramO(|C|)
O(|C|)
O(|C| log |C|)O(|C|)
O(|C|)
O(|Z|)
For each other curve, compute intersection points with E; if curve C disjoint then check if marked point for C is in interior (E)
57
Complexity
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagramO(|C|)
O(|C|)
O(|C| log |C|)O(|C|)
O(|C|)
O(|Z|)
Check no tangential/triple points created. Check WF using the number of intersection points of E with other curves (Thm 1)
58
Complexity
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagramO(|C|)
O(|C|)
O(|C| log |C|)O(|C|)
O(|C|)
O(|Z|)
a) Each arc splits exactly 1 zone
b) # arcs = O(|C|)c) Consecutive
arcs split zones which differ by one exactly contour, so we order the points of inter(E).
59
Complexity
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagramO(|C|)
O(|C|)
O(|C| log |C|)O(|C|)
O(|C|)
O(|Z|)
Add E to split zones
60
Complexity
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagramO(|C|)
O(|C|)
O(|C| log |C|)O(|C|)
O(|C|)
O(|Z|)
Iterate through Inter(E) and perform set membership check
61
Complexity
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)
Reject A
noyes
d is a wellformed diagram
E
EE
E
E
d +E is a wellformed diagramO(|C|)
O(|C|)
O(|C| log |C|)O(|C|)
O(|C|)
O(|Z|)
Iterate through non-split zone set and check if their marked point is in interior(E)
62
A naive approach
Draw a new
contour E
A new contour
is added
Duplicate each zone
Check Zones
d is an Euler diagram
E
E
O(1)
O(|Z|)
O(|Z|f(|C|))
O(|Z|f(|C|))
f(|C|) = time needed to check if
a given zone is present in d + E
Andrew Fish, University of Brighton, UK 63
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
“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
Andrew Fish, University of Brighton, UK 65
BookmarkTags
66
EulerVC: skip slides; demo tool
Andrew Fish, University of Brighton, UK 67
EulerVC
Andrew Fish, University of Brighton, UK 68
EulerVC
Andrew Fish, University of Brighton, UK 69
EulerVC
Andrew Fish, University of Brighton, UK 70
EulerVC
Andrew Fish, University of Brighton, UK 71
EulerVC
Andrew Fish, University of Brighton, UK 72
EulerVC
Andrew Fish, University of Brighton, UK 73
EulerVC
Andrew Fish, University of Brighton, UK 74
EulerVC
Andrew Fish, University of Brighton, UK 75
EulerVC
Andrew Fish, University of Brighton, UK 76
EulerVC
Andrew Fish, University of Brighton, UK 77
EulerVC
Andrew Fish, University of Brighton, UK 78
EulerVC
Andrew Fish, University of Brighton, UK 79
EulerVC
Andrew Fish, University of Brighton, UK 80
EulerVC
81
EulerVC
Andrew Fish, University of Brighton, UK 82
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
Blank