public boolean isActive(int t){
		//this function figures out whether the overlap score of this column 
		//is among the top DesiredLocalActivity-percent of its neighbor
		//if it is set it active, if not remain inactive
		if(overlap>0){
			int tie=1;
			int ahead=0;
			for(Column c : neighbor){
				if(c.overlap > this.overlap){
					ahead++;
					continue;
				}
				else if(c.overlap == this.overlap) tie++;
			}
			//int maxLocalRank= DesiredLocalActivity;
			int maxLocalRank= (int) Math.round(neighbor.size()*DesiredLocalActivityRatio);
			//test display
			//System.out.print(maxLocalRank);
			//System.out.print("["+this.posRow+","+this.posColumn+"];");
			
			if(ahead+tie <= maxLocalRank){
				active=true;
				activeQueue.offer(t);
				return true;
			}else if(ahead < maxLocalRank){
				if(Math.random() < (double)1/tie){
					active=true;
					activeQueue.offer(t);
					return true;
				}
			}
		}
		return false;
	}