public boolean overlapWithObstacles(BitSet bs) {
		if (obstacles == null || obstacles.isEmpty())
			return false;
		int length = bs.length();
		if (length <= 0)
			return false;
		for (Obstacle obs : obstacles) {
			for (int i = 0; i < length; i++) {
				if (bs.get(i) && obs.contains(atom[i]))
					return true;
			}
		}
		return false;
	}