|
Alan Kaminsky
|
|
•
|
|
Department of Computer Science
|
|
•
|
|
Rochester Institute of Technology
|
|
•
|
|
4486 +
2220 =
6706
|
|
Home Page
|
Simulation Simplified
7. Random Subsets and Permutations
Class P2Pedia01
import edu.rit.util.Random;
import edu.rit.util.RandomSubset;
public class P2Pedia01
{
public static void main
(String[] args)
throws Exception
{
if (args.length != 4) usage();
int N = Integer.parseInt (args[0]);
int K = Integer.parseInt (args[1]);
int T = Integer.parseInt (args[2]);
long seed = Long.parseLong (args[3]);
Random prng = Random.getInstance (seed);
int[][] conn = new int[N][K+1];
for (int i = 0; i < N; ++ i) conn[i][0] = (i + 1)%N;
int sumPathLength = 0;
for (int trial = 0; trial < T; ++ trial)
{
for (int i = 0; i < N; ++ i)
{
RandomSubset rs = new RandomSubset (prng, N)
.remove (i) .remove ((i + 1)%N);
for (int j = 1; j <= K; ++ j) conn[i][j] = rs.next();
}
int orig = prng.nextInt (N);
int match = prng.nextInt (N);
sumPathLength +=
shortestPathLength (conn, orig, match);
System.out.printf ("Trial %d%n", trial);
System.out.printf (" Node Connected to nodes%n");
for (int i = 0; i < N; ++ i)
{
System.out.printf (" %-4d", i);
for (int j = 0; j <= K; ++ j)
{
System.out.printf (" %d", conn[i][j]);
}
System.out.println();
}
System.out.printf (" Originating node = %d%n", orig);
System.out.printf (" Matching node = %d%n", match);
}
System.out.printf ("Average query path length = %.2f%n",
((double) sumPathLength)/((double) T));
}
private static int shortestPathLength
(int[][] conn,
int orig,
int match)
{
return 0; // STUB
}
private static void usage()
{
System.err.println
("Usage: java P2Pedia01 <N> <K> <T> <seed>");
System.exit (1);
}
}
|
Alan Kaminsky
|
|
•
|
|
Department of Computer Science
|
|
•
|
|
Rochester Institute of Technology
|
|
•
|
|
4486 +
2220 =
6706
|
|
Home Page
|
Copyright © 2011 Alan Kaminsky.
All rights reserved.
Last updated 31-Aug-2011.
Please send comments to ark@cs.rit.edu.