question: private Cluster < SubspaceModel > runFastDOC ( Database database , Relation < V > relation , ArrayModifiableDBIDs S , int d , int n , int m , int r ) { long [ ] D = null ; DBIDVar dV = DBIDUtil . newVar ( ) ; FiniteProgress iprogress = LOG . isVerbose ( ) ? new FiniteProgress ( "Iteration progress for current cluster" , m * n , LOG ) : null ; Random random = rnd . getSingleThreadedRandom ( ) ; DBIDArrayIter iter = S . iter ( ) ; outer : for ( int i = 0 ; i < n ; ++ i ) { iter . seek ( random . nextInt ( S . size ( ) ) ) ; for ( int j = 0 ; j < m ; ++ j ) { DBIDs randomSet = DBIDUtil . randomSample ( S , r , random ) ; long [ ] nD = BitsUtil . zero ( d ) ; for ( int k = 0 ; k < d ; ++ k ) { if ( dimensionIsRelevant ( k , relation , randomSet ) ) { BitsUtil . setI ( nD , k ) ; } } if ( D == null || BitsUtil . cardinality ( nD ) > BitsUtil . cardinality ( D ) ) { D = nD ; dV . set ( iter ) ; if ( BitsUtil . cardinality ( D ) >= d_zero ) { if ( iprogress != null ) { iprogress . setProcessed ( iprogress . getTotal ( ) , LOG ) ; } break outer ; } } LOG . incrementProcessed ( iprogress ) ; } } LOG . ensureCompleted ( iprogress ) ; if ( D == null || BitsUtil . cardinality ( D ) == 0 ) { return null ; } SubspaceMaximumDistanceFunction df = new SubspaceMaximumDistanceFunction ( D ) ; DistanceQuery < V > dq = database . getDistanceQuery ( relation , df ) ; RangeQuery < V > rq = database . getRangeQuery ( dq , DatabaseQuery . HINT_SINGLE ) ; DBIDs C = DBIDUtil . intersection ( S , rq . getRangeForDBID ( dV , w ) ) ; return ( C . size ( ) > 0 ) ? makeCluster ( relation , C , D ) : null ; }
target:  Performs a single run of FastDOC, finding a single cluster.