# Schematic illustration — base R
par(mfrow=c(1,2), mar=c(2,2,3,1))
# Left: EOM selects root
plot.new(); plot.window(xlim=c(0,10), ylim=c(0,10))
title("Vanilla EOM → 1 cluster", cex.main=0.95)
segments(5,1,5,4,lwd=3,col="#2166AC") # root
segments(5,4,2,4,lwd=2); segments(5,4,8,4,lwd=2)
segments(2,4,2,7,lwd=2,col="grey60"); segments(8,4,8,7,lwd=2,col="grey60")
segments(2,7,1,7,lwd=2); segments(2,7,3,7,lwd=2)
segments(8,7,7,7,lwd=2); segments(8,7,9,7,lwd=2)
rect(4.4,1.1,5.6,3.9, col="#2166AC40", border=NA)
rect(1.4,4.1,2.6,6.9, col="grey80", border=NA)
rect(7.4,4.1,8.6,6.9, col="grey80", border=NA)
text(5,0.5,"ROOT selected\n(stability = 5.2)",col="#2166AC",cex=0.75,font=2)
text(2,7.5,"C1 (stab=1.1)",col="grey40",cex=0.65)
text(8,7.5,"C2 (stab=0.8)",col="grey40",cex=0.65)
text(5,4.5,"Children sum = 1.9 < Root 5.2",col="grey40",cex=0.65)
# Right: allow_single_cluster=FALSE overrides root
plot.new(); plot.window(xlim=c(0,10), ylim=c(0,10))
title("allow_single_cluster=FALSE → 2 clusters", cex.main=0.95)
segments(5,1,5,4,lwd=3,col="grey70")
segments(5,4,2,4,lwd=2); segments(5,4,8,4,lwd=2)
segments(2,4,2,7,lwd=2,col="#1B7837")
segments(8,4,8,7,lwd=2,col="#B2182B")
segments(2,7,1,7,lwd=2); segments(2,7,3,7,lwd=2)
segments(8,7,7,7,lwd=2); segments(8,7,9,7,lwd=2)
rect(1.4,4.1,2.6,6.9, col="#1B783730", border=NA)
rect(7.4,4.1,8.6,6.9, col="#B2182B30", border=NA)
text(5,0.5,"ROOT overridden\n(children activated)",col="grey50",cex=0.75)
text(2,7.5,"C1 selected",col="#1B7837",cex=0.65,font=2)
text(8,7.5,"C2 selected",col="#B2182B",cex=0.65,font=2)
text(5,4.5,"Children C1 + C2 now selected",col="grey40",cex=0.65)