Idom.numASup.bnd.tri {pcds} | R Documentation |
Indicator for an upper bound for the domination number of Arc Slice Proximity Catch Digraph (AS-PCD) by the exact algorithm - one triangle case
Description
Returns I(
domination number of AS-PCD whose vertices are the data points Xp
is less than or equal to k
)
,
that is, returns 1 if the domination number of AS-PCD is less than the prespecified value k
, returns 0
otherwise. It also provides the vertices (i.e., data points) in a dominating set of size k
of AS-PCD.
AS proximity regions are constructed with respect to the triangle tri
and
vertex regions are based on the center, M=(m_1,m_2)
in Cartesian coordinates
or M=(\alpha,\beta,\gamma)
in barycentric coordinates
in the interior of the triangle tri
or based on circumcenter of tri
;
default is M="CC"
, i.e., circumcenter of tri
.
The vertices of tri
angle, tri
,
are labeled as 1,2,3
according to the row number the vertex is recorded in tri
.
Loops are allowed in the digraph.
It takes a long time for large number of vertices (i.e., large number of row numbers).
Usage
Idom.numASup.bnd.tri(Xp, k, tri, M = "CC")
Arguments
Xp |
A set of 2D points which constitute the vertices of the AS-PCD. |
k |
A positive integer to be tested for an upper bound for the domination number of AS-PCDs. |
tri |
Three 2D points, stacked row-wise, each row representing a vertex of the triangle. |
M |
The center of the triangle. |
Value
A list
with the elements
domUB |
The suggested upper bound (to be checked) for the domination number of AS-PCD.
It is prespecified as |
Idom.num.up.bnd |
The indicator for the upper bound for domination number of AS-PCD being the
specified value |
ind.dom.set |
The vertices (i.e., data points) in the dominating set of size |
Author(s)
Elvan Ceyhan
See Also
Idom.numCSup.bnd.tri
, Idom.numCSup.bnd.std.tri
, Idom.num.up.bnd
,
and dom.num.exact
Examples
A<-c(1,1); B<-c(2,0); C<-c(1.5,2);
Tr<-rbind(A,B,C);
n<-10
set.seed(1)
Xp<-runif.tri(n,Tr)$gen.points
M<-as.numeric(runif.tri(1,Tr)$g) #try also M<-c(1.6,1.2)
Idom.numASup.bnd.tri(Xp,1,Tr)
for (k in 1:n)
print(c(k,Idom.numASup.bnd.tri(Xp,k,Tr,M)))
Idom.numASup.bnd.tri(Xp,k=4,Tr,M)
P<-c(.4,.2)
Idom.numASup.bnd.tri(P,1,Tr,M)
Idom.numASup.bnd.tri(rbind(Xp,Xp),k=2,Tr,M)