|  |  | @ -226,7 +226,7 @@ namespace pomdp { | 
			
		
	
		
			
				
					|  |  |  |             std::vector<storm::storage::BitVector> useIntersects; | 
			
		
	
		
			
				
					|  |  |  |             std::vector<storm::storage::BitVector> useInfo; | 
			
		
	
		
			
				
					|  |  |  |             for(uint64_t i = 0; i < intersects.size(); ++i) { | 
			
		
	
		
			
				
					|  |  |  |                 if (upperBoundElements > 1000 && intersects[i].getNumberOfSetBits() < intersectSetSkip - 2) { | 
			
		
	
		
			
				
					|  |  |  |                 if (upperBoundElements > 10000 && intersects[i].getNumberOfSetBits() < intersectSetSkip - 3) { | 
			
		
	
		
			
				
					|  |  |  |                     skipped += (carl::pow(two, intersects[i].getNumberOfSetBits()) * origSets.size()); | 
			
		
	
		
			
				
					|  |  |  |                     STORM_LOG_DEBUG("Skipped " << skipped); | 
			
		
	
		
			
				
					|  |  |  |                 } else { | 
			
		
	
	
		
			
				
					|  |  | @ -243,7 +243,7 @@ namespace pomdp { | 
			
		
	
		
			
				
					|  |  |  |             std::vector<storm::storage::BitVector> newInfo; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             for (uint64_t i = 0; i < origSets.size(); ++i) { | 
			
		
	
		
			
				
					|  |  |  |                 if (upperBoundElements > 1000 && origSets[i].getNumberOfSetBits() < origSetSkip - 2) { | 
			
		
	
		
			
				
					|  |  |  |                 if (upperBoundElements > 20000 && origSets[i].getNumberOfSetBits() < origSetSkip - 3) { | 
			
		
	
		
			
				
					|  |  |  |                     skipped += (carl::pow(two, origSets[i].getNumberOfSetBits()) * useIntersects.size()); | 
			
		
	
		
			
				
					|  |  |  |                     STORM_LOG_DEBUG("Skipped " << skipped); | 
			
		
	
		
			
				
					|  |  |  |                     continue; | 
			
		
	
	
		
			
				
					|  |  | @ -273,9 +273,11 @@ namespace pomdp { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             auto res =  count(origSets, newIntersects, newInfo, newVal, !plus, remdepth - 1); | 
			
		
	
		
			
				
					|  |  |  |             if (plus) { | 
			
		
	
		
			
				
					|  |  |  |                 return std::make_pair(res.first - skipped, res.second); | 
			
		
	
		
			
				
					|  |  |  |                 storm::RationalNumber tmp = res.first - skipped; | 
			
		
	
		
			
				
					|  |  |  |                 return std::make_pair(storm::utility::max(tmp, val), res.second); | 
			
		
	
		
			
				
					|  |  |  |             } else { | 
			
		
	
		
			
				
					|  |  |  |                 return std::make_pair(res.first, res.second + skipped); | 
			
		
	
		
			
				
					|  |  |  |                 storm::RationalNumber tmp = res.second + skipped; | 
			
		
	
		
			
				
					|  |  |  |                 return std::make_pair(res.first, storm::utility::min(tmp, val)); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
	
		
			
				
					|  |  | @ -294,7 +296,7 @@ namespace pomdp { | 
			
		
	
		
			
				
					|  |  |  |                 entry.set(i); | 
			
		
	
		
			
				
					|  |  |  |                 info.push_back(entry); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |             auto res = count(winningSets, winningSets, info, totalForObs, true, 6); | 
			
		
	
		
			
				
					|  |  |  |             auto res = count(winningSets, winningSets, info, totalForObs, true, 40); | 
			
		
	
		
			
				
					|  |  |  |             lower += res.first; | 
			
		
	
		
			
				
					|  |  |  |             upper += res.second; | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
	
		
			
				
					|  |  | 
 |