I know it's been a while since @Ganesh posted this question, but hopefully you're still interested in a response.

I've written some R code that does what you want, I think:

    library(ggplot2)
    library(MASS)
    
    #################################################
    #################################################
    ## Steps:                                      ##
    ##  1. draw b 'blue' points and r 'red' points ##
    ##  2. perform LDA                             ##
    ##  3. check error rate                        ##
    #################################################
    #################################################
    
    ##################################################
    # function: drawPoints                           #
    #                                                #
    # description: draws b + r points uniformly from #
    #              a unit square                     #
    #                                                #
    # inputs: b - number of 'blue' points to draw    #
    #         r - number of 'red' points to draw     #
    #                                                #
    # outputs: list containing 'blue' points and     #
    #          'red' points in that order            #
    ##################################################
    
    drawPoints <- function(b,r) {
       	x <- runif(b+r)
	    y <- runif(b+r)
	    class <- c(rep('b',b),rep('r',r))
	    return(data.frame(x = x, y = y, class = class))
    }
    
    ##################################################
    # function: checkOverlap                         #
    #                                                #
    # description: if the data is linearly separable #
    #              there is no overlap in the convex #
    #              hulls of the different classes    #
    #                                                #
    # inputs: df - data frame containing classified  #
    #              points                            #
    #                                                #
    # outputs: FALSE if 0 error rate                 #
    #          TRUE otherwise                        #
    ##################################################
    
    checkOverlap <- function(df) {
	    disc.anal <- lda(class ~ x + y, data = df)
	    return(!identical(predict(disc.anal)$class,df$class))
    }
    
    ######################################################
    ######################################################
    ## Simulate many trials to estimate rate of overlap ##
    ######################################################
    ######################################################
    
    trials <- 1000
    performance <- rep(as.numeric(NA),10)
    for(i in 1:10) {
	    results <- replicate(n = trials, expr = checkOverlap(drawPoints(10,i)))
	    performance[i] <- prop.table(table(results))['TRUE']
    }
    qplot(x = 1:length(performance), y = performance,
      xlab = 'Number of Red Points',
      ylab = 'Proportion of Simulations with Overlap',
      main = 'Proportion of Simulations with Overlap, 10 Blue Points')