public MarkovModel sample()

in bigtop-data-generators/bigpetstore-data-generator/src/main/java/org/apache/bigtop/datagenerators/bigpetstore/generators/purchase/MarkovModelProductCategorySampler.java [82:118]


	public MarkovModel<Product> sample() throws Exception
	{
		generateWeights();

		MarkovModelBuilder<Product> builder = new MarkovModelBuilder<Product>();

		for(Product product1 : productCategory.getProducts())
		{
			builder.addStartState(product1, 1.0);

			double weightSum = 0.0;
			for(Product product2 : productCategory.getProducts())
			{
				if(!product1.equals(product2))
				{
					weightSum += productPairWeight(product1, product2);
				}
			}

			for(Product product2 : productCategory.getProducts())
			{
				double weight = 0.0;
				if(!product1.equals(product2))
				{
					weight = (1.0 - loopbackWeight) * productPairWeight(product1, product2) / weightSum;
				}
				else
				{	weight = loopbackWeight;

				}

				builder.addTransition(product1, product2, weight);
			}
		}

		return builder.build();
	}