anchor.diff:                           searchLen
               checkOneType (fun str searchLen -> CYKMatrixBFS.recognize str rules nonterminals S searchLen false)
                            (fun toCheck -> isAnswerValid toCheck)
  -                         "not parallel"
  +                         "gpu"
                            str
                            searchLen
   
   //        check "abb"      2
  -        check "abb"      3    
  +//        check "abb"      3    
   //        check "aaabbcc"  5
   //        check "aaabb"    5
   //        check "aaaaabbb" 6
  
positive.code:     //
      //    B -> B B, 0.2
      //    B -> 'b', 0.4
      //    B -> 'c', 0.4
      
          let rules = new RulesHolder(crl, srl, erl)
  
  
negative.code:             assert (isAnswerValid toCheckBFS (String.length str) searchLen)
              let sameCells (i, j) = 
  //                (Probability.unwrap toCheck.[i, j]) = (Probability.unwrap toCheckBFS.[i, j])
                  (Probability.unwrap toCheck.[i, j]) - (Probability.unwrap toCheckBFS.[i, j]) < 0.0000000001
              let sameAnswers =
                  Seq.forall (fun i -> (Seq.forall (fun j -> sameCells (i,j)) [0 .. toCheck.GetLength(0) - 1]))
                             [0 .. toCheck.GetLength(0) - 1] 
              assert sameAnswers
  //            printMatrix toCheck (String.length str) searchLen 
  //            printMatrix toCheckBFS (String.length str) searchLen 
  
          let checkOneType task check taskType str searchLen =        
              let stopWatch = System.Diagnostics.Stopwatch.StartNew()
  //            List.iter (fun _ -> task str searchLen |> ignore) [1..10] 
              let toCheck = task str searchLen           
              stopWatch.Stop()
              printfn "type: %s, str length: %i, search length: %i, time(ms): %f." taskType (String.length str) searchLen stopWatch.Elapsed.TotalMilliseconds
              
          let checkTime str searchLen =
  //            checkOneType (fun str searchLen -> CYKMatrixBFS.recognize str rules nonterminals S searchLen true)
  //                         (fun toCheck -> isAnswerValid toCheck)
  //                         "parallel"
  //                         str
  //                         searchLen
              checkOneType (fun str searchLen -> CYKMatrix.recognize str rules nonterminals S searchLen)
                           (fun toCheck -> isAnswerValid toCheck)
                           "okhotin"
  