code: def meanMutualInformation(sp, activeColumnsCurrentEpoch, columnsUnderInvestigation = []):
    
    if len(columnsUnderInvestigation) == 0:
      columns = range(np.prod(sp.getColumnDimensions()))
    else:
      columns = columnsUnderInvestigation
    numCols = len(columns)
    sumMutualInfo = 0
    normalizingConst = numCols*(numCols - 1)/2
    for i in range(numCols):
      for j in range(i+1, numCols):
        sumMutualInfo += mutualInformation(sp, activeColumnsCurrentEpoch, columns[i], columns[j])
  
    return sumMutualInfo/normalizingConst
docs: Computes the mean of the mutual information 
    of pairs taken from a list of columns.