280 lines
9.5 KiB
TeX
280 lines
9.5 KiB
TeX
|
|
|
|
|
|
\ifthenelse {\boolean{paper}}
|
|
{
|
|
\abstract{
|
|
This paper discusses representing Euler Diagrams as graphs, or sets of relationships.
|
|
By representing Euler diagrams in this way,
|
|
algorithms to invesigate properties of the diagrams, are possible, without
|
|
having to resort
|
|
to extra unecessary CPU expensive area operations on the concrete diagrams.
|
|
|
|
The graph representations presented here form the basis for several algorithms
|
|
and time saving procedures, implemented in the FMMD analysis tool.
|
|
|
|
}
|
|
}
|
|
{ %% Introduction
|
|
\section{Introduction}
|
|
This paper discusses representing Euler Diagrams as graphs, or sets of relationships.
|
|
By representing Euler diagrams in this way,
|
|
algorithms to invesigate properties of the diagrams, are possible, without
|
|
having to resort
|
|
to extra unecessary CPU expensive area operations on the concrete diagrams.
|
|
|
|
The graph representations presented here form the basis for several algorithms
|
|
and time saving procedures, implemented in the FMMD analysis tool.
|
|
}
|
|
|
|
|
|
\section{Introduction : Euler Diagram }
|
|
|
|
Classical Euler diagrams consist of closed curves in the plane which are used to represent sets.
|
|
The spaitial relationship between the curves defines the set theoretic relationships, as defined below.
|
|
\begin{itemize}
|
|
\item Intersection - if the curves defining the area within curves overlap
|
|
\item Sub-set - if a curve is enclosed by another
|
|
\item disjoint - if the curves are separate
|
|
\end{itemize}
|
|
|
|
The definitions above allow us to read an Euler diagram
|
|
and write down set theory equations.
|
|
The interest here, is to define relationships between the contours, that allow
|
|
processing and parsing of the diagram without resorting to area operations in the concerete plane.
|
|
|
|
\section{Defining `pure intersection' and `enclosure'}
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt,keepaspectratio=true]{./eulerg/eulerg1.jpg}
|
|
% eulerg1.jpg: 513x215 pixel, 72dpi, 18.10x7.58 cm, bb=0 0 513 215
|
|
\caption{An Euler Diagram showing enclosure and Pure Intersection}
|
|
\label{fig:eulerg1}
|
|
\end{figure}
|
|
|
|
The set theory term `intersection' can apply to both the curves overlapping and to the sub-set case.
|
|
Intersection in a concrete diagram can mean two curves bisecting.
|
|
For instance in diagram \ref{fig:eulerg1} the set theoretic intersection between
|
|
$A$ and $B$ exists, even though the curves do not bisect in the concrete plane.
|
|
|
|
$$ A \cap B \neq \emptyset $$
|
|
|
|
as does the intersection $D$ and $E$
|
|
|
|
$$ D \cap E \neq \emptyset $$
|
|
|
|
Clearly though these intersections are different, because
|
|
in the $A$, $B$ case
|
|
$$ A \backslash B = \emptyset \wedge B \backslash A \neq \emptyset $$
|
|
This is not the case for $D$, $E$ where:
|
|
$$ D \backslash E \neq \emptyset \wedge E \backslash D \neq \emptyset $$
|
|
|
|
\paragraph{Enclosure}
|
|
To distinguish between these we can term the $A$, $B$ case to be
|
|
$A$ `enclosed' by $B$. We can express this as a directed relationship.
|
|
|
|
$$ B {\enc} A $$
|
|
|
|
|
|
\paragraph{Pure Intersection}
|
|
In the $D$, $E$ case we have
|
|
|
|
We can say that where the areas defined by the curves intersect but no one curve encloses the
|
|
other, we can term this `pure intersection'.
|
|
We can express this as a non directed relationship.
|
|
|
|
$$ D \pin E $$
|
|
|
|
|
|
\paragraph{Mutual exclusivity of `pure intersection' and `enclosure'}
|
|
|
|
Clearly these two properties are mutually exclusive. No
|
|
contour can be both purely intersected and enclosed with the same contour.
|
|
Also enclosure, is transitive. That is to say if B encloses A, and A encloses C
|
|
then B encloses C, see figure \ref{fig:eulerg_enc}.
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt,keepaspectratio=true]{./eulerg/eulerg_enc.jpg}
|
|
% eulerg_enc.jpg: 315x269 pixel, 72dpi, 11.11x9.49 cm, bb=0 0 315 269
|
|
\caption{Enclosure, a transitive relationship}
|
|
\label{fig:eulerg_enc}
|
|
\end{figure}
|
|
|
|
$$ B {\enc} A \wedge A {\enc} C \implies B {\enc} C $$
|
|
|
|
\begin{definition}
|
|
Enlcosure relationships are transitive
|
|
\end{definition}
|
|
|
|
\section{Representing Euler Diagrams as sets of relationships}
|
|
|
|
The diagram in figure \ref{fig:eulerg1} can be represented by the following relationships.
|
|
|
|
$$ B {\enc} A $$
|
|
$$ D {\pin} E $$
|
|
|
|
|
|
The diagram in figure \ref{fig:eulerg_enc} can be represented by the following relationships.
|
|
|
|
$$ B {\enc} A $$
|
|
$$ A {\enc} C $$
|
|
|
|
\section{Represeting Euler diagrams as graphs}
|
|
|
|
As the relationships {\em enclosure} and {\pic} are mutually exclusive
|
|
and {\em enclosure} is transitive and {\pic} is not, we can represent
|
|
an {\em enclosure} relationship as a directed vertice and
|
|
{\pic} as non-directed.
|
|
|
|
The diagram in figure \ref{fig:eulerg1} can now be represented as a graph thus:
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=70pt,bb=0 0 128 108,keepaspectratio=true]{./eulerg/eulerg_g.jpg}
|
|
% eulerg_g.jpg: 128x108 pixel, 72dpi, 4.52x3.81 cm, bb=0 0 128 108
|
|
\caption{Graph Representaion of figure \ref{fig:eulerg1}}
|
|
\label{fig:eulerg1_g}
|
|
\end{figure}
|
|
|
|
|
|
The diagram in figure \ref{fig:eulerg_enc} can now be represented as a graph thus:
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=100pt,bb=0 0 240 43,keepaspectratio=true]{./eulerg/eulerg_enc_g.jpg}
|
|
% eulerg_enc_g.jpg: 240x43 pixel, 72dpi, 8.47x1.52 cm, bb=0 0 240 43
|
|
\caption{Graph representation of figure \ref{fig:eulerg_enc}}
|
|
\label{fig:eulerg_enc_g}
|
|
\end{figure}
|
|
|
|
|
|
\pagebreak[0]
|
|
\section{The {\pic}}
|
|
|
|
Contours may be connected via `pure intersection' relationships to form
|
|
`chains' of contours reachable by pure intersection.
|
|
|
|
Figure \ref{fig:eulerg_pic} shows a {\pic} consisting of contours $M,N,O,P$ and $Q$.
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=300pt,keepaspectratio=true]{./eulerg/eulerg_pic.jpg}
|
|
% eulerg_pic.jpg: 955x286 pixel, 72dpi, 33.69x10.09 cm, bb=0 0 955 286
|
|
\caption{{\pic} with Enclosure}
|
|
\label{fig:eulerg_pic}
|
|
\end{figure}
|
|
|
|
\textbf{rule:}
|
|
\begin{definition}
|
|
If any contour in a {\pic} is enclosed by any contour not belonging to the chain,
|
|
all the countours within the
|
|
{\pic} will be enclosed by it. This is because a contour
|
|
enclosing which bisects(????) another contour in a {\pic}
|
|
becomes part of the pure~intersection~chain. Hmmmm thats true but a better way to say it ????
|
|
\end{definition}
|
|
|
|
%The diagram in figure \ref{fig:eulerg_enc} can be represented by the following relationships.
|
|
|
|
|
|
The diagram in figure \ref{fig:eulerg_pic} can be represented by the following relationships.
|
|
|
|
|
|
$$ M {\pin} N $$
|
|
$$ N {\pin} O $$
|
|
$$ O {\pin} P $$
|
|
$$ O {\pin} Q $$
|
|
$$ Q {\enc} P $$
|
|
$$ A {\enc} M $$
|
|
$$ A {\enc} N $$
|
|
$$ A {\enc} O $$
|
|
$$ A {\enc} P $$
|
|
$$ A {\enc} Q $$
|
|
|
|
|
|
To form the {\pic} we can follow
|
|
reachable pure intersection relationships.
|
|
|
|
$ M {\pin} N {\pin} O {\pin} P $ are part of the same chain.
|
|
following from $O$, $O {\pin} Q$.
|
|
Thus by the definition of being reachable by pure instersection relationships,$M,N,O,P,Q$
|
|
are in the same {\pic}, even though $Q$ encloses $P$.
|
|
|
|
We can define this {\pic} as $PIC1$ as a set of contours.
|
|
|
|
$$ PIC1 = \{ M,N,O,P,Q \} $$
|
|
|
|
Contour $A$, by virtue of not bisecting any contour in the pure instersection
|
|
chain $PIC1$, does not belong to $PIC1$. Because it encloses one of the contours, it
|
|
encloses all contours in the chain.
|
|
Knowing this can save on unecessary area operations on the concrete diagram.
|
|
|
|
% \subsection{The Pure intersection chain PIC1}
|
|
% \begin{figure}[h]
|
|
% \centering
|
|
% \includegraphics[width=200pt,bb=0 0 955 286,keepaspectratio=true]{./eulerg_pic_g.jpg}
|
|
% % eulerg_pic.jpg: 955x286 pixel, 72dpi, 33.69x10.09 cm, bb=0 0 955 286
|
|
% \caption{The pure Intersection PIC1 as a graph}
|
|
% \label{fig:eulerg_pic1}
|
|
% \end{figure}
|
|
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt,bb=0 0 330 158,keepaspectratio=true]{./eulerg/eulerg_pic_g.jpg}
|
|
% eulerg_pic_g.jpg: 330x158 pixel, 72dpi, 11.64x5.57 cm, bb=0 0 330 158
|
|
\caption{The Pure Intersection Chain PIC1 as a graph}
|
|
\label{fig:eulerg_pic_g}
|
|
\end{figure}
|
|
|
|
Figure \ref{fig:eulerg_pic_g} only shows the {\pic}, but does not show the contour ($A$)
|
|
enclosing $PIC1$. Figure \ref{fig:eulerg_pic_g_a}
|
|
shows contour A enclosing all elements in $PIC1$
|
|
|
|
\pagebreak[0]
|
|
\subsection{Enclosure and pure intersection in the graph}
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt,bb=0 0 330 162,keepaspectratio=true]{./eulerg/eulerg_pic_g_a.jpg}
|
|
% eulerg_pic_g_a.jpg: 330x162 pixel, 72dpi, 11.64x5.72 cm, bb=0 0 330 162
|
|
\caption{PIC1 including enclosing contour A as a graph}
|
|
\label{fig:eulerg_pic_g_a}
|
|
\end{figure}
|
|
|
|
Because we know that a contour enclosing a contour within a {\pic} but not belonging
|
|
to it, encloses all elements of the {\pic}, we can draw this in a less cluttered way
|
|
see figure \ref{fig:eulerg_pic_g_a_unc}.
|
|
|
|
\pagebreak[0]
|
|
\subsection{Reducing clutter in the graph}
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt,bb=0 0 330 162]{./eulerg/eulerg_pic_g_a_unc.jpg}
|
|
% eulerg_pic_g_a_unc.jpg: 330x162 pixel, 72dpi, 11.64x5.72 cm, bb=0 0 330 162
|
|
\caption{Uncluttered graph of euler diagram in figure \ref{fig:eulerg_pic}}
|
|
\label{fig:eulerg_pic_g_a_unc}
|
|
\end{figure}
|
|
|
|
|
|
\pagebreak[4]
|
|
\section{reduction of searches for available zones}
|
|
|
|
|
|
Another property of any {\pic} $PIC$, is that
|
|
the maximum number of euler zones within it is
|
|
|
|
$$ MaxZones = 2^{|PIC|} $$
|
|
|
|
Because no contours external to the {\pic}
|
|
bi-sect any in it, no extra zones can be formed.
|
|
By enclosing a {\pic} with
|
|
a contour, we change the nature of the zones within
|
|
the {\pic}, but the number of zones contributed by the {\pic}
|
|
stays the same.
|
|
\begin{definition}
|
|
A pure intersection chain has a maximum number of possible Euler zones, and exists as independent entities in the diagram. This
|
|
allows us to analyses {\pic}s separately, thus reducing the $2^N$ overhead of analysing an Euler diagram for available zones.
|
|
\end{definition}
|
|
|
|
|
|
\vspace{40pt}
|
|
|