funsCSGamTe {pcds} | R Documentation |
The function gammakCSstd.tri
is for k
(k=2,3,4,5
) points constituting a dominating set for Central Similarity
Proximity Catch Digraphs (CS-PCDs) - standard equilateral triangle case
Description
Four indicator functions: Idom.num2CSstd.tri
, Idom.num3CSstd.tri
, Idom.num4CSstd.tri
, Idom.num5CSstd.tri
and Idom.num6CSstd.tri
.
The function gammakCSstd.tri
returns I({p1
,...,pk
} is a dominating set of the CS-PCD)
where vertices of CS-PCD are the 2D data set Xp
, that is, returns 1 if {p1
,...,pk
}
is a dominating set of CS-PCD, returns 0 otherwise for k=2,3,4,5,6
.
CS proximity region is constructed with respect to T_e=T(A,B,C)=T((0,0),(1,0),(1/2,\sqrt{3}/2))
with expansion parameter t>0
and edge regions are based on center of mass CM=(1/2,\sqrt{3}/6)
.
ch.data.pnts
is for checking whether points p1
,...,pk
are data points in Xp
or not
(default is FALSE
), so by default this function checks whether the points p1
,...,pk
would be a
dominating set if they actually were in the data set.
See also (Ceyhan (2005, 2010)).
Usage
Idom.num2CSstd.tri(p1, p2, Xp, t, ch.data.pnts = FALSE)
Idom.num3CSstd.tri(p1, p2, p3, Xp, t, ch.data.pnts = FALSE)
Idom.num4CSstd.tri(p1, p2, p3, p4, Xp, t, ch.data.pnts = FALSE)
Idom.num5CSstd.tri(p1, p2, p3, p4, p5, Xp, t, ch.data.pnts = FALSE)
Idom.num6CSstd.tri(p1, p2, p3, p4, p5, p6, Xp, t, ch.data.pnts = FALSE)
Arguments
p1 , p2 , p3 , p4 , p5 , p6 |
The points { |
Xp |
A set of 2D points which constitutes the vertices of the CS-PCD. |
t |
A positive real number which serves as the expansion parameter in CS proximity region. |
ch.data.pnts |
A logical argument for checking whether points { |
Value
The function gammakCSstd.tri
returns {p1
,...,pk
} is a dominating set of the CS-PCD) where
vertices of the CS-PCD are the 2D data set Xp
), that is, returns 1 if {p1
,...,pk
}
is a dominating set of CS-PCD, returns 0 otherwise.
Author(s)
Elvan Ceyhan
See Also
Idom.num1CSstd.tri
, Idom.num2PEtri
and Idom.num2PEtetra
Examples
set.seed(123)
#Examples for Idom.num2CSstd.tri
t<-1.5
n<-10 #try also 10, 20 (it may take longer for larger n)
set.seed(1)
Xp<-runif.std.tri(n)$gen.points
Idom.num2CSstd.tri(Xp[1,],Xp[2,],Xp,t)
Idom.num2CSstd.tri(c(.2,.2),Xp[2,],Xp,t)
ind.gam2<-vector()
for (i in 1:(n-1))
for (j in (i+1):n)
{if (Idom.num2CSstd.tri(Xp[i,],Xp[j,],Xp,t)==1)
ind.gam2<-rbind(ind.gam2,c(i,j))}
ind.gam2
#Examples for Idom.num3CSstd.tri
t<-1.5
n<-10 #try also 10, 20 (it may take longer for larger n)
set.seed(1)
Xp<-runif.std.tri(n)$gen.points
Idom.num3CSstd.tri(Xp[1,],Xp[2,],Xp[3,],Xp,t)
ind.gam3<-vector()
for (i in 1:(n-2))
for (j in (i+1):(n-1))
for (k in (j+1):n)
{if (Idom.num3CSstd.tri(Xp[i,],Xp[j,],Xp[k,],Xp,t)==1)
ind.gam3<-rbind(ind.gam3,c(i,j,k))}
ind.gam3
#Examples for Idom.num4CSstd.tri
t<-1.5
n<-10 #try also 10, 20 (it may take longer for larger n)
set.seed(1)
Xp<-runif.std.tri(n)$gen.points
Idom.num4CSstd.tri(Xp[1,],Xp[2,],Xp[3,],Xp[4,],Xp,t)
ind.gam4<-vector()
for (i in 1:(n-3))
for (j in (i+1):(n-2))
for (k in (j+1):(n-1))
for (l in (k+1):n)
{if (Idom.num4CSstd.tri(Xp[i,],Xp[j,],Xp[k,],Xp[l,],Xp,t)==1)
ind.gam4<-rbind(ind.gam4,c(i,j,k,l))}
ind.gam4
Idom.num4CSstd.tri(c(.2,.2),Xp[2,],Xp[3,],Xp[4,],Xp,t,ch.data.pnts = FALSE)
#gives an error message if ch.data.pnts = TRUE since not all points are data points in Xp
#Examples for Idom.num5CSstd.tri
t<-1.5
n<-10 #try also 10, 20 (it may take longer for larger n)
set.seed(1)
Xp<-runif.std.tri(n)$gen.points
Idom.num5CSstd.tri(Xp[1,],Xp[2,],Xp[3,],Xp[4,],Xp[5,],Xp,t)
ind.gam5<-vector()
for (i1 in 1:(n-4))
for (i2 in (i1+1):(n-3))
for (i3 in (i2+1):(n-2))
for (i4 in (i3+1):(n-1))
for (i5 in (i4+1):n)
{if (Idom.num5CSstd.tri(Xp[i1,],Xp[i2,],Xp[i3,],Xp[i4,],Xp[i5,],Xp,t)==1)
ind.gam5<-rbind(ind.gam5,c(i1,i2,i3,i4,i5))}
ind.gam5
Idom.num5CSstd.tri(c(.2,.2),Xp[2,],Xp[3,],Xp[4,],Xp[5,],Xp,t,ch.data.pnts = FALSE)
#gives an error message if ch.data.pnts = TRUE since not all points are data points in Xp
#Examples for Idom.num6CSstd.tri
t<-1.5
n<-10 #try also 10, 20 (it may take longer for larger n)
set.seed(1)
Xp<-runif.std.tri(n)$gen.points
Idom.num6CSstd.tri(Xp[1,],Xp[2,],Xp[3,],Xp[4,],Xp[5,],Xp[6,],Xp,t)
ind.gam6<-vector()
for (i1 in 1:(n-5))
for (i2 in (i1+1):(n-4))
for (i3 in (i2+1):(n-3))
for (i4 in (i3+1):(n-2))
for (i5 in (i4+1):(n-1))
for (i6 in (i5+1):n)
{if (Idom.num6CSstd.tri(Xp[i1,],Xp[i2,],Xp[i3,],Xp[i4,],Xp[i5,],Xp[i6,],Xp,t)==1)
ind.gam6<-rbind(ind.gam6,c(i1,i2,i3,i4,i5,i6))}
ind.gam6
Idom.num6CSstd.tri(c(.2,.2),Xp[2,],Xp[3,],Xp[4,],Xp[5,],Xp[6,],Xp,t,ch.data.pnts = FALSE)
#gives an error message if ch.data.pnts = TRUE since not all points are data points in Xp