\section{Efficient Processing of Vague Topological Predicates}
\label{sec:improvement}

The implementation of \name\ includes an improvement for the processing of vague topological predicates. The proposed improvement, called \emph{MBRs for Vague Topological Predicates} (\emph{\nameimp}), makes use of \emph{Minimum Boundary Rectangles} (MBR) of the kernel and conjecture parts of vague spatial objects to return the results of vague topological predicates \emph{in some situations}. In these situations, \nameimp\ can avoid the computation of crisp 9-intersection matrices of a vague topological predicate. As a result, the time to process spatial queries is reduced.

We consider two situations, named \emph{disjointness between MBRs} and \emph{set containment between MBRs}. The disjointness between MBRs encompasses two specific cases, as depicted in Figure~\ref{fig:mbr}a. The first case occurs if the MBRs of the union between the kernel and the conjecture of two vague spatial objects are disjoint. The second case occurs if the MBRs of the kernel and the conjecture of two vague spatial objects are disjoint. Note that the second case can happen even when the first case holds. Further, we cannot guarantee that the conjecture parts intersects due to the dead spaces of MBRs, and thus, we cannot return maybe. Let $A$ and $B$ two vague spatial objects. Let also $\mathit{MBR}_{o}$ be a MBR of a crisp spatial object $o$. We define the \emph{disjointness between MBRs} $S_{\mathit{d}}(A, B)$ as follows.
%
\begin{ldef}[l]
S_{\mathit{d}}(A, B) =
\begin{cases}
\mathit{true}
& \textrm{if } ((\mathit{MBR}_{A_k} \union \mathit{MBR}_{A_c}) \intersection (\mathit{MBR}_{B_k} \union \mathit{MBR}_{B_c}) = \varnothing)\ \logor\\
& \quad\; (\mathit{MBR}_{A_k} \intersection \mathit{MBR}_{B_k} = \varnothing \logand \mathit{MBR}_{A_k} \intersection \mathit{MBR}_{B_c} = \varnothing\ \logand\\
& \quad\ \ \mathit{MBR}_{A_c} \intersection \mathit{MBR}_{B_k} = \varnothing \logand \mathit{MBR}_{A_c} \intersection \mathit{MBR}_{B_c} = \varnothing)\\
\mathit{false} & \textrm{otherwise}
\end{cases}
\end{ldef}

By using this definition, we are able to return \emph{true} for vague disjoint if $S_{\mathit{d}}(A, B) = \mathit{true}$ holds, and return \emph{false} for vague meets, vague intersects, vague overlap, and vague equals if $S_{\mathit{d}}(A, B) = \mathit{false}$ holds. Otherwise, the predicate is evaluated with the computation of crisp 9-intersection matrices. 

Regarding the set containment between MBRs, it also encompasses two specific cases (Figure~\ref{fig:mbr}b). The first case occurs if the MBR of the kernel of the first vague spatial object is not inside the MBR of the union between the kernel and the conjecture of the second vague spatial object. The second case occurs if the MBR of the kernel of the first vague spatial object and the MBRs of the kernel and the conjecture of the second vague spatial object are disjoint. Let $A$ and $B$ be two vague spatial objects. Let also $\mathit{MBR}_{o}$ be a MBR of a crisp spatial object $o$. We define the \emph{set containment between MBRs} $S_{\mathit{sc}}(A, B)$ as follows.
%
\begin{ldef}[l]
S_{\mathit{sc}}(A, B) =
\begin{cases}
\mathit{true}
& \textrm{if } (\mathit{MBR}_{A_k} \nsubseteq (\mathit{MBR}_{B_k} \union \mathit{MBR}_{B_c}))\ \logor \\
& \quad (\mathit{MBR}_{A_k} \intersection \mathit{MBR}_{B_k} = \varnothing \logand \mathit{MBR}_{A_k} \intersection \mathit{MBR}_{B_c} = \varnothing)\\
\mathit{false} & \hspace{-1mm}\textrm{otherwise}
\end{cases}
\end{ldef}

By using this definition, we are able to return \emph{false} for vague inside and vague coveredBy if $S_{\mathit{sc}}(A, B) = \mathit{true}$ holds. Otherwise, the respective predicate is evaluated. Similarly, if $S_{\mathit{sc}}(B, A) = \mathit{true}$ holds, then we can return \emph{false} for vague contains and vague covers, and evaluate the respective predicates otherwise.

\begin{figure}[t]
	\begin{center}
		\begin{tabular}{c@{\hspace{0.35cm}}c@{\hspace{1.2cm}}c@{\hspace{0.35cm}}c}			
			\begin{tabular}{c}
				\includegraphics[scale=0.27]{figs/mbrdisjoint1}
			\end{tabular}
			&
			\begin{tabular}{c}
				\includegraphics[scale=0.27]{figs/mbrdisjoint2}
			\end{tabular}
            &
            \begin{tabular}{c}
				\includegraphics[scale=0.27]{figs/mbrinside1}
			\end{tabular}
			&
			\begin{tabular}{c}
				\includegraphics[scale=0.28]{figs/mbrinside2}
			\end{tabular} \\
			\multicolumn{2}{ c }{(a)} & \multicolumn{2}{ c }{(b)}
		\end{tabular}		
		\caption{\label{fig:mbr} Examples of the situations where the \nameimp\ improvement is applied: (a) the disjointness between MBRs and (b) the set containment between MBRs. Black regions represent the kernel, while gray regions represent the conjecture.}
	\end{center}
\end{figure}