xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Original Documentation for Running the TNG Program (Version 105c) on an IBM Compatible PC with DOS xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx BRIEF DESCRIPTION OF THE TNG PROGRAM: The trade network game (TNG) consists of a collection of traders that evolves over time. See Tesfatsion (1997), cited below, for a detailed introduction to the TNG. The C++ program that implements the TNG is supported by the abstract base classes for a general evolutionary simulation framework, SimBioSys, developed by David McFadzean. See McFadzean (1995), cited below, for a detailed description of SimBioSys. The TNG program makes use of three special classes derived from the SimBioSys abstract base classes: tngSimulation: manages the overall simulation; tngPopulation: manages the evolution of the traders; tngTradeBot: simulates a single trader, either a pure buyer, a pure seller, or a buyer-seller. The TNG program constructs a single instance of tngSimulation, which in turn constructs a single instance of tngPopulation; and tngPopulation then constructs a collection of tngTradeBot instances called "tradebots." xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx COPYRIGHT INFORMATION: The TNG program is a C++ framework for implementation of the Trade Network Game. The TNG program has been released as freeware by its copyright holders David McFadzean and Leigh Tesfatsion under the terms of the Artistic License Agreement residing at http://www2.econ.iastate.edu/tesfatsi/alicense.htm The following article constitutes the manual for the TNG program. Please cite this article if the TNG program is used: D. McFadzean and L. Tesfatsion, "A C++ Platform for the Evolution of Trade Networks," _Computational Economics_ 14 (1999), 109-134. Please cite the following article if only the TNG model is used: L. Tesfatsion, "A Trade Network Game with Endogenous Partner Selection," pp. 249-269 in H. Amman, B. Rustem, and A. B. Whinston (eds.), _Computational Approaches to Economic Problems_, Kluwer Academic Publishers, 1997. Please cite the following source if only SimBioSys is used: David McFadzean, _SimBioSys: A Class Framework for Evolutionary Simulations_, Master's Thesis, Department of Computer Science, University of Calgary, Alberta, Canada, 1995. For information regarding how to obtain a copy of these and other related source materials, see http://www2.econ.iastate.edu/tesfatsi/vita.htm xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx RUNNING THE TNG PROGRAM (VERSION 105C): A. FIRST STEP: DOWNLOADING AND UNZIPPING TNG105C.ZIP 1: Download tng105c.zip in binary mode to a directory on the hard drive of your pc, say "tngTest," and unzip this file using pkunzip.exe by typing pkunzip -d tng105c.zip on the DOS command line. [The -d option preserves the directory structure of the zipped files.] 2: The list of unzipped files should include: an executable file, tng105c.exe; a configuration file, tng.ini; a directory SOURCE containing source (c and cpp extension) and header (h extension) files; a test case output file called sample.out; and this readme.txt file. B. SECOND STEP: RUNNING THE TNG PROGRAM FROM THE DOS COMMAND LINE 1: From within the tngTest directory, type "tng105c" at the DOS command line to print output to screen, or follow the command "tng105c" with an output redirection pointer (a "greater than" sign) and some filename, say "tng.out", to redirect the output to the local file tng.out. The command "tng105c" activates the executable file tng105c.exe. 2: Under default parameter and print out settings, the activation of tng105c.exe causes the following output to be printed: the date and time of the current run; the current parameter settings in the configuration file tng.ini; the minimum, maximum, and average fitness scores of each generation of tradebots (for subpopulations of distinct trader types as well as for the population as a whole); and detailed trade history information for the final generation of tradebots. For the default parameter settings in tng.ini, this output should agree with the test case output in sample.out. CAUTION: The random number generator incorporated in tng105c.zip is designed to be portable across all 32-bit hardware. In general however, random number generators can be machine dependent. If you recompile the TNG program on your own machine, you may no longer be able to replicate the test case output in sample.out. 3: The parameter settings in tng.ini can be directly changed by the user. Changing these parameter settings does not require program recompilation; the TNG program automatically picks up parameter settings from tng.ini at the start of each experiment. The comment statements in tng.ini concerning admissible parameter ranges should be read carefully before making any changes in the default parameter settings. 4: Currently many print statements in the TNG program are commented out in the TNG cpp source files tngSim.cpp and tngBot.cpp in the SOURCE directory. If more output is desired, the header files tngSim.h and tngBot.h in the SOURCE directory indicate where the print statements are located in the source files tngSim.cpp and tngBot.cpp. Delete the comment character "//" before any print statement whose output is desired. Then recompile the TNG program before running the next experiment. This recompilation will require the user to have access to a C++ compiler for the pc such as Borland C++ (version 3.1 or above). For example, using the Borland C++ compiler, you will have to make a project that includes all of the c and cpp source files in the directory SOURCE. CAUTION: Proceed slowly with the inclusion of additional print statements. The TNG program is capable of generating an immense amount of information! 5: More generally, if **any** change is made in the TNG source files, the TNG program will need to be recompiled in order to incorporate this change.