Skip to content

Commit 98df6d5

Browse files
committed
Added discrete weibull distribution
Removed cutoff at 1000 friends per iteration
1 parent b65842a commit 98df6d5

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

src/main/java/ldbc/snb/datagen/generator/KnowsGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public void generateKnows( ArrayList<Person> persons, int seed, float upperBound
2222
randomFarm.resetRandomGenerators(seed);
2323
for( int i = 0; i < persons.size(); ++i ) {
2424
Person p = persons.get(i);
25-
for( int j = i+1; (p.maxNumKnows()*upperBound > p.knows().size()) && (j < (i + 1000)) && (j < persons.size()); ++j ) {
25+
for( int j = i+1; (p.maxNumKnows()*upperBound > p.knows().size()) /*&& (j < (i + 1000))*/ && (j < persons.size()); ++j ) {
2626
if( know(p, persons.get(j), j - i, upperBound)) {
2727
createKnow(p, persons.get(j));
2828
}

src/main/java/ldbc/snb/datagen/generator/distribution/WeibullDistribution.java renamed to src/main/java/ldbc/snb/datagen/generator/distribution/DiscreteWeibullDistribution.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,28 @@
1111
/**
1212
* Created by aprat on 5/03/15.
1313
*/
14-
public class WeibullDistribution extends BucketedDistribution {
14+
public class DiscreteWeibullDistribution extends BucketedDistribution {
1515

1616
private ArrayList<Bucket> buckets_;
17-
private org.apache.commons.math3.distribution.WeibullDistribution weibull_;
18-
private double LAMBDA_ = 0.3881;
19-
private double K_ = 0.2622;
17+
private double BETA_ = 0.7787;
18+
private double P_ = 0.07;
2019

2120
@Override
2221
public ArrayList<Bucket> getBuckets() {
23-
weibull_ = new org.apache.commons.math3.distribution.WeibullDistribution(LAMBDA_,K_);
2422

2523
ArrayList<Double> histogram = new ArrayList<Double>();
2624
for( int i = 1; i <= DatagenParams.numPersons; ++i ) {
27-
System.out.println(weibull_.probability(i));
28-
histogram.add(DatagenParams.numPersons * weibull_.probability(i));
25+
double prob = Math.pow(1.0-P_,Math.pow(i,BETA_))-Math.pow((1.0-P_),Math.pow(i+1,BETA_));
26+
histogram.add(DatagenParams.numPersons * prob);
27+
//System.out.println(DatagenParams.numPersons * prob);
2928
}
3029

31-
buckets_ = Bucket.bucketizeHistogram(histogram,100);
30+
buckets_ = Bucket.bucketizeHistogram(histogram,10000);
31+
32+
/*for( Bucket e : buckets_) {
33+
System.out.println((e.min())+" "+e.max());
34+
}
35+
*/
3236
return buckets_;
3337
}
3438
}

0 commit comments

Comments
 (0)