当前位置: 首页>>代码示例>>Java>>正文


Java MeetingProbabilitySet类代码示例

本文整理汇总了Java中routing.maxprop.MeetingProbabilitySet的典型用法代码示例。如果您正苦于以下问题:Java MeetingProbabilitySet类的具体用法?Java MeetingProbabilitySet怎么用?Java MeetingProbabilitySet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MeetingProbabilitySet类属于routing.maxprop包,在下文中一共展示了MeetingProbabilitySet类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setUp

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
public void setUp() throws Exception {
	super.setUp();
	core.NetworkInterface.reset();
	core.DTNHost.reset();
	TestUtils tu = new TestUtils(null, null, new TestSettings());
	msets = new ArrayList<MeetingProbabilitySet>();
	mapping = new HashMap<Integer, MeetingProbabilitySet>();
	hostsSet = new HashSet<DTNHost>();
	
	for (int i=0; i<NROF_HOSTS; i++) {
		DTNHost host = tu.createHost();
		MeetingProbabilitySet set = new MeetingProbabilitySet(
				MeetingProbabilitySet.INFINITE_SET_SIZE, 1.0);
		msets.add(set);
		hostsSet.add(host);
		mapping.put(host.getAddress(), set);
	}
			
	mpd = new MaxPropDijkstra(mapping);
	targets = new HashSet<Integer>();
}
 
开发者ID:MaX121,项目名称:Bachelor-Thesis,代码行数:22,代码来源:MaxPropDijkstraTest.java

示例2: testProbabilityValuesFromThePaper

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
/**
 * Tests the values that are given as an example in the original paper
 */
public void testProbabilityValuesFromThePaper() {		
	List<Integer> nodes = new ArrayList<Integer>();
	nodes.add(1);
	nodes.add(2);
	nodes.add(3);
	nodes.add(4);
	double unknownProb = 1.0/nodes.size();
	
	MeetingProbabilitySet mps = new MeetingProbabilitySet(1.0,nodes);
	assertEquals(unknownProb, mps.getProbFor(1));
	assertEquals(unknownProb, mps.getProbFor(2));
	
	mps.updateMeetingProbFor(1); // h0 meets h1

	assertEquals(0.625, mps.getProbFor(1));
	assertEquals(0.125, mps.getProbFor(2));	
}
 
开发者ID:MaX121,项目名称:Bachelor-Thesis,代码行数:21,代码来源:MaxPropDijkstraTest.java

示例3: setUp

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
public void setUp() throws Exception {
	super.setUp();
	core.NetworkInterface.reset();
	core.DTNHost.reset();
	TestUtils tu = new TestUtils(null, null, new TestSettings());
	msets = new ArrayList<MeetingProbabilitySet>();
	mapping = new HashMap<Integer, MeetingProbabilitySet>();
	hostsSet = new HashSet<DTNHost>();

	for (int i=0; i<NROF_HOSTS; i++) {
		DTNHost host = tu.createHost();
		MeetingProbabilitySet set = new MeetingProbabilitySet(
				MeetingProbabilitySet.INFINITE_SET_SIZE, 1.0);
		msets.add(set);
		hostsSet.add(host);
		mapping.put(host.getAddress(), set);
	}

	mpd = new MaxPropDijkstra(mapping);
	targets = new HashSet<Integer>();
}
 
开发者ID:raveious,项目名称:delay-tolerant-network,代码行数:22,代码来源:MaxPropDijkstraTest.java

示例4: testProbabilityValuesFromThePaper

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
/**
 * Tests the values that are given as an example in the original paper
 */
public void testProbabilityValuesFromThePaper() {
	List<Integer> nodes = new ArrayList<Integer>();
	nodes.add(1);
	nodes.add(2);
	nodes.add(3);
	nodes.add(4);
	double unknownProb = 1.0/nodes.size();

	MeetingProbabilitySet mps = new MeetingProbabilitySet(1.0,nodes);
	assertEquals(unknownProb, mps.getProbFor(1));
	assertEquals(unknownProb, mps.getProbFor(2));

	mps.updateMeetingProbFor(1); // h0 meets h1

	assertEquals(0.625, mps.getProbFor(1));
	assertEquals(0.125, mps.getProbFor(2));
}
 
开发者ID:raveious,项目名称:delay-tolerant-network,代码行数:21,代码来源:MaxPropDijkstraTest.java

示例5: MaxPropRouterWithEstimation

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
/**
 * Copy constructor. Creates a new router based on the given prototype.
 * @param r The router prototype where setting values are copied from
 */
protected MaxPropRouterWithEstimation(MaxPropRouterWithEstimation r) {
	super(r);
	this.alpha = r.alpha;
	this.timescale = r.timescale;
	this.probs = new MeetingProbabilitySet(
			MeetingProbabilitySet.INFINITE_SET_SIZE, this.alpha);
	this.allProbs = new HashMap<Integer, MeetingProbabilitySet>();
	this.dijkstra = new MaxPropDijkstra(this.allProbs);
	this.ackedMessageIds = new HashSet<String>();
	this.avgSamples = new int[BYTES_TRANSFERRED_AVG_SAMPLES];
	initMeetings();
}
 
开发者ID:MaX121,项目名称:Bachelor-Thesis,代码行数:17,代码来源:MaxPropRouterWithEstimation.java

示例6: updateTransitiveProbs

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
/**
 * Updates transitive probability values by replacing the current 
 * MeetingProbabilitySets with the values from the given mapping
 * if the given sets have more recent updates.
 * @param p Mapping of the values of the other host
 */
private void updateTransitiveProbs(Map<Integer, MeetingProbabilitySet> p) {
	for (Map.Entry<Integer, MeetingProbabilitySet> e : p.entrySet()) {
		MeetingProbabilitySet myMps = this.allProbs.get(e.getKey()); 
		if (myMps == null || 
			e.getValue().getLastUpdateTime() > myMps.getLastUpdateTime() ) {
			this.allProbs.put(e.getKey(), e.getValue().replicate());
		}
	}
}
 
开发者ID:MaX121,项目名称:Bachelor-Thesis,代码行数:16,代码来源:MaxPropRouterWithEstimation.java

示例7: MaxPropRouter

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
/**
 * Copy constructor. Creates a new router based on the given prototype.
 * @param r The router prototype where setting values are copied from
 */
protected MaxPropRouter(MaxPropRouter r) {
	super(r);
	this.alpha = r.alpha;
	this.probs = new MeetingProbabilitySet(probSetMaxSize, this.alpha);
	this.allProbs = new HashMap<Integer, MeetingProbabilitySet>();
	this.dijkstra = new MaxPropDijkstra(this.allProbs);
	this.ackedMessageIds = new HashSet<String>();
	this.avgSamples = new int[BYTES_TRANSFERRED_AVG_SAMPLES];
}
 
开发者ID:MaX121,项目名称:Bachelor-Thesis,代码行数:14,代码来源:MaxPropRouter.java

示例8: updateTransitiveProbs

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
/**
 * Updates transitive probability values by replacing the current
 * MeetingProbabilitySets with the values from the given mapping
 * if the given sets have more recent updates.
 * @param p Mapping of the values of the other host
 */
private void updateTransitiveProbs(Map<Integer, MeetingProbabilitySet> p) {
	for (Map.Entry<Integer, MeetingProbabilitySet> e : p.entrySet()) {
		MeetingProbabilitySet myMps = this.allProbs.get(e.getKey());
		if (myMps == null ||
			e.getValue().getLastUpdateTime() > myMps.getLastUpdateTime() ) {
			this.allProbs.put(e.getKey(), e.getValue().replicate());
		}
	}
}
 
开发者ID:raveious,项目名称:delay-tolerant-network,代码行数:16,代码来源:MaxPropRouterWithEstimation.java

示例9: MaxPropRouter

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
/**
 * Copy constructor. Creates a new router based on the given prototype.
 * @param r The router prototype where setting values are copied from
 */
protected MaxPropRouter(MaxPropRouter r) {
	super(r);
	this.alpha = r.alpha;
	this.probs = new MeetingProbabilitySet(probSetMaxSize, this.alpha);
	this.allProbs = new HashMap<Integer, MeetingProbabilitySet>();
	this.dijkstra = new MaxPropDijkstra(this.allProbs);
	this.ackedMessageIds = new HashSet<String>();
	this.avgSamples = new int[BYTES_TRANSFERRED_AVG_SAMPLES];
	this.sentMessages = new HashMap<DTNHost, Set<String>>();
}
 
开发者ID:raveious,项目名称:delay-tolerant-network,代码行数:15,代码来源:MaxPropRouter.java

示例10: testPath

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
public void testPath() {
	targets.add(1);
	targets.add(2);
	targets.add(3);
	targets.add(4);
	targets.add(5);
	
	MeetingProbabilitySet mps0 = mapping.get(0);
	MeetingProbabilitySet mps1 = mapping.get(1);
	
	mps1.updateMeetingProbFor(2); // h1 meets h2
	assertEquals(1.0, mps1.getProbFor(2));

	mps1.updateMeetingProbFor(3); // h1 meets h3
	assertEquals(0.5, mps1.getProbFor(2));
	assertEquals(0.5, mps1.getProbFor(3));

	/* h4 meets h5 and h6 */
	mapping.get(4).updateMeetingProbFor(5);
	mapping.get(4).updateMeetingProbFor(6);
	
	mps1.updateMeetingProbFor(4); // h1 meets h4
	assertEquals(0.25, mps1.getProbFor(2));
	assertEquals(0.25, mps1.getProbFor(3));
	assertEquals(0.5, mps1.getProbFor(4));
	
	mps0.updateMeetingProbFor(1); // h0 meets h1
	mps1.updateMeetingProbFor(0); // and vice versa
	assertEquals(1.0, mps0.getProbFor(1));
	assertEquals(0.5, mps1.getProbFor(0));
	assertEquals(0.125, mps1.getProbFor(2));
	assertEquals(0.125, mps1.getProbFor(3));
	assertEquals(0.25, mps1.getProbFor(4));
	
	mps1.updateMeetingProbFor(4); // h1 meets h4 again
	assertEquals(1.0, mps0.getProbFor(1)); // should stay the same
	assertEquals(0.25, mps1.getProbFor(0));
	assertEquals(0.0625, mps1.getProbFor(2));
	assertEquals(0.0625, mps1.getProbFor(3));
	assertEquals(0.625, mps1.getProbFor(4));
	
	Map<Integer, Double> result = mpd.getCosts(0, targets);
	
	assertEquals(0.0, result.get(1));
	assertEquals(1-0.0625, result.get(2));
	assertEquals(1-0.625, result.get(4));
	assertEquals( (1-0.625)+(1-0.5), result.get(5));
}
 
开发者ID:MaX121,项目名称:Bachelor-Thesis,代码行数:49,代码来源:MaxPropDijkstraTest.java

示例11: testPath

import routing.maxprop.MeetingProbabilitySet; //导入依赖的package包/类
public void testPath() {
	targets.add(1);
	targets.add(2);
	targets.add(3);
	targets.add(4);
	targets.add(5);

	MeetingProbabilitySet mps0 = mapping.get(0);
	MeetingProbabilitySet mps1 = mapping.get(1);

	mps1.updateMeetingProbFor(2); // h1 meets h2
	assertEquals(1.0, mps1.getProbFor(2));

	mps1.updateMeetingProbFor(3); // h1 meets h3
	assertEquals(0.5, mps1.getProbFor(2));
	assertEquals(0.5, mps1.getProbFor(3));

	/* h4 meets h5 and h6 */
	mapping.get(4).updateMeetingProbFor(5);
	mapping.get(4).updateMeetingProbFor(6);

	mps1.updateMeetingProbFor(4); // h1 meets h4
	assertEquals(0.25, mps1.getProbFor(2));
	assertEquals(0.25, mps1.getProbFor(3));
	assertEquals(0.5, mps1.getProbFor(4));

	mps0.updateMeetingProbFor(1); // h0 meets h1
	mps1.updateMeetingProbFor(0); // and vice versa
	assertEquals(1.0, mps0.getProbFor(1));
	assertEquals(0.5, mps1.getProbFor(0));
	assertEquals(0.125, mps1.getProbFor(2));
	assertEquals(0.125, mps1.getProbFor(3));
	assertEquals(0.25, mps1.getProbFor(4));

	mps1.updateMeetingProbFor(4); // h1 meets h4 again
	assertEquals(1.0, mps0.getProbFor(1)); // should stay the same
	assertEquals(0.25, mps1.getProbFor(0));
	assertEquals(0.0625, mps1.getProbFor(2));
	assertEquals(0.0625, mps1.getProbFor(3));
	assertEquals(0.625, mps1.getProbFor(4));

	Map<Integer, Double> result = mpd.getCosts(0, targets);

	assertEquals(0.0, result.get(1));
	assertEquals(1-0.0625, result.get(2));
	assertEquals(1-0.625, result.get(4));
	assertEquals( (1-0.625)+(1-0.5), result.get(5));
}
 
开发者ID:raveious,项目名称:delay-tolerant-network,代码行数:49,代码来源:MaxPropDijkstraTest.java


注:本文中的routing.maxprop.MeetingProbabilitySet类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。