⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configuration.java

📁 蚁群聚类的java源码ant colony clustering by java
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*  
    Copyright (C) 2004 Julia Handl
    Email: Julia.Handl@gmx.de

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*/

/*****************************************************************
	Julia Handl - 18004385
	Monash University, 1.7.2001

	File: Configuration.java
	Package: JavaAnts

	Description: Wrapping class for all essential parameter settings

*****************************************************************/


package javaants;

import java.lang.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;


/**
 * Wrapping class for all essential parameter settings.<br>
 * Value- and String-based access to the following parameters is provided:
 * <p>
 * <p>
 * <b>General parameters</b>
 * <ul>
 * <li><i><b>boolean test: </b></i> Enable detailed analysis of sorting progress</li>
 * <li><i><b>boolean testData: </b></i> Enable further analysis (possible only with test data A1)</li>
 * <li><i><b>boolean blocked: </b></i> Internal use: Ensures that only one topic map at a time can be viewed</li>
 * <li><i><b>int method: </b></i> Toggle between old and new ant-algorithm, Ant-Q and the Hybrid</li>
 * <li><i><b>String browser: </b></i> Configured browser path</li>
 * </ul>
 * <p>
 * <b>Map parameters</b>
 * <ul>
 * <li><i><b>int xsize: </b></i> Map width</li>
 * <li><i><b>int ysize: </b></i> Map height</li>
 * <li><i><b>int runs: </b></i> Upper limit on number of runs for the ant-based methods</li>
 * <li><i><b>int iterations: </b></i> Number of iterations per run</li>
 * </ul>
 * <p>
 * <ul>
 * <b>Ant parameters</b>
 * <li><i><b>int nants: </b></i> Size of ant colony</li>
 * <li><i><b>int speed: </b></i> Ant speed limit</li>
 * <li><i><b>boolean homogenous: </b></i> Toggle between homogenous and inhomogenous population</li>
 * <li><i><b>int memsize: </b></i> Ant memory size</li>
 * <li><i><b>int sigma: </b></i> Size of perceived neighbourhood</li>
  * <li><i><b>boolean adaptK: </b></i> Toggle between adaptive and non-adaptive mode for kd and kp</li>
 * <li><i><b>double kd: </b></i> Regulation of dropping probability</li>
 * <li><i><b>double kd_start: </b></i> Lower limit for kd in adaptive mode</li>
 * <li><i><b>double kd_end: </b></i> Upper limit for kd in adaptive mode</li>
 * <li><i><b>double kd_interval: </b></i> Stepwidth for kd in adaptive mode</li>
 * <li><i><b>double kp: </b></i> Regulation of picking probability</li>
 * <li><i><b>double kp_start: </b></i> Lower limit for kp in adaptive mode</li>
 * <li><i><b>double kp_end: </b></i> Upper limit for kp in adaptive mode</li>
 * <li><i><b>double kp_interval: </b></i> Stepwidth for kp in adaptive mode</li>
 * <li><i><b>boolean adaptAlpha: </b></i> Toggle between adaptive and non-adaptive mode for alpha</li>
 * <li><i><b>double alpha: </b></i> Scaling of dissimilarities</li>
 * <li><i><b>double alpha_start: </b></i> Lower limit for alpha in adaptive mode</li>
 * <li><i><b>double alpha_end: </b></i> Upper limit for alpha in adaptive mode</li>
 * <li><i><b>double alpha_interval: </b></i> Stepwidth for alpha in adaptive mode</li>
 * </ul>
 * <p>
 * <ul>
 * <b>Document parameters</b>
 * <li><i><b>int nkeys: </b></i> Dimension of document space</li>
 * <li><i><b>int ndocs: </b></i> Number of documents</li>
 * <li><i><b>double distscale: </b></i> Scaling paramter for dissimilarities</li>
 * <li><i><b>int simMeasure: </b></i> Select similarity measure (Euclidean / Cosine / Overlap)</li>
 * <li><i><b>int textMode: </b></i> Select retrieval mode (Snippets / Full-Text / META-Data)</li>
 * <li><i><b>boolean useDefaults: </b></i> Use default preprocessing?</li>
 * <li><i><b>int lowercutoff: </b></i> Lower bound cutoff frequency</li>
 * <li><i><b>int uppercutoff: </b></i> Upper bound cutoff frequency</li>
 * <li><i><b>int dim: </b></i> LSI Target dimension</li>
 * <li><i><b>int choice: </b></i> Select test distribution</li>
 * </ul>
 * <p>
  */
public class Configuration implements Serializable {

	// General program switches

	private boolean test = false;				
	private boolean testData = false;			
	private boolean blocked = false;			
	private int method = 0;						
	private String browser = "netscape";


	// Map parameters
	private int xsize = 100;
	private int ysize = 100;
	private int iterations = 10000;
	private int runs = 50;
	
		
	// Ant parameters
	private int nants = 20;
	private int speed = 50;
	private boolean homogenous = false;
	private int memsize = 20;
	private int sigma = 2;
	private double kd = 0.01;
	private double kp = 0.01;
	private double kd_end = 0.01;
	private double kd_start = 0.1;
	private double kd_interval = 0.001;
	private double kp_end = 0.01;
	private double kp_start = 0.1;
	private double kp_interval = 0.001;


	private boolean adaptK = false;				/** Toggle between adaptive and non-adaptive mode*/
	private boolean adaptAlpha = true;			/** Toggle between adaptive and non-adaptive mode*/
	private double alpha_end = 1.0;
	private double alpha_start = 0.1;
	private double alpha_interval = 0.01;
	private double alpha = 1.0;



	// Document Parameters
	private double distscale;
	private int nkeys = 2;
	private int simMeasure = 0;					/** Select similarity measure (Euclidean / Cosine / Overlap) */
	private int textMode = 0;					/** Select retrieval mode (Snippets / Full-Text / META-Data) */
		
	private boolean usedefaults = true;
	private int lowercutoff = 2;
	private int uppercutoff = 1000;
	private int dim = 50;
	
	private int ndocs = 600;
	private int choice = 0;


/********** Constructor ***************************************************************************/
	

	public Configuration() {
		
	}
	
	
/********** simple manipulation functions *********************************************************/	
	
	// string based
	public void setBrowser(String value) {
		this.browser = value;
	}
	public void setLowerCutoff(String value) {
		this.lowercutoff = new Integer(value).intValue();
	}
	public void setUpperCutoff(String value) {
		this.uppercutoff = new Integer(value).intValue();
	}
	public void setdimension(String value) {
		this.dim = new Integer(value).intValue();
	}
	public void setAlphaStart(String value) {
		this.alpha_start = new Double(value).doubleValue();
	}
	public void setAlphaEnd(String value) {
		this.alpha_end = new Double(value).doubleValue();
	}
	public void setAlphaInterval(String value) {
		this.alpha_interval = new Double(value).doubleValue();
	}
	public void setKdStart(String value) {
		this.kd_start = new Double(value).doubleValue();
	}
	public void setKdEnd(String value) {
		this.kd_end = new Double(value).doubleValue();
	}
	public void setKdInterval(String value) {
		this.kd_interval = new Double(value).doubleValue();
	}
	public void setKpStart(String value) {
		this.kp_start = new Double(value).doubleValue();
	}
	public void setKpEnd(String value) {
		this.kp_end = new Double(value).doubleValue();
	}
	public void setKpInterval(String value) {
		this.kp_interval = new Double(value).doubleValue();
	}
	public void setxsize(String value) {
	    this.xsize = new Integer(value).intValue();
	}
	public void setysize(String value) {
		this.ysize = new Integer(value).intValue();
	}
	public void setruns(String value) {
		this.runs = new Integer(value).intValue();
	}
	public void setnants(String value) {
		this.nants = new Integer(value).intValue();
	}
	public void setndocs(String value) {
		this.ndocs = new Integer(value).intValue();
	}
	public void setnkeys(String value) {
		this.nkeys = new Integer(value).intValue();
	}
	public void setspeed(String value) {
		this.speed =  new Integer(value).intValue();
	}
	public void setmemsize(String value) {
		this.memsize = new Integer(value).intValue();
	}
	public void setkd(String value) {
		this.kd = new Double(value).doubleValue();
	}
	public void setkp(String value) {
		this.kp = new Double(value).doubleValue();
	}
	public void setalpha(String value) {
		this.alpha = new Double(value).doubleValue();
	}
	public void setsigma(String value) {
		this.sigma = new Integer(value).intValue();
	}
	
	// value based
	public void setLowerCutoff(int value) {
		this.lowercutoff = value;
	}
	public void setUpperCutoff(int value) {
		this.uppercutoff = value;
	}
	public void setdimension(int value) {
		this.dim = value;
	}
	public void setUseDefaults(boolean value) {
		this.usedefaults = value;
	}
	public void setMethod(int value) {
		this.method = value;
	}
	public void setAlphaStart(int value) {
		this.alpha_start = value;
	}
	public void setAlphaEnd(int value) {
		this.alpha_end = value;
	}
	public void setAlphaInterval(int value) {
		this.alpha_interval = value;
	}
	public void setKdStart(int value) {
		this.kd_start = value;
	}
	public void setKdEnd(int value) {
		this.kd_end = value;
	}
	public void setKdInterval(int value) {
		this.kd_interval = value;
	}
	public void setKpStart(int value) {
		this.kp_start = value;
	}
	public void setKpEnd(int value) {
		this.kp_end = value;
	}
	public void setKpInterval(int value) {
		this.kp_interval = value;
	}
	public void setTest(boolean value) {
		this.test = value;
	}
	public void setTestData(boolean value) {
		this.testData = value;
	}
	public void setAdaptAlpha(boolean value) {
		this.adaptAlpha = value;
	}
	public void setAdaptK(boolean value) {
		this.adaptK = value;
	}
	public void setTextMode(int value) {
		this.textMode = value;
	}
	public void setSimMeasure(int value) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -