TREC(Tracking Evolution of Communities) Tool
Version: 2021-08-01
----------------------------------------------------------------------------------------------------------------------------------------------------------

Author: Arzum Karataş

----------------------------------------------------------------------------------------------------------------------------------------------------------
Files in the Disk: 
					 The source code of TREC Tool includes two files such as "settings_TREC" and "main.cpp".
settings_TREC.h		: This file includes settings/parameters, variable definitions and signatures of the functions in the main.cpp
					  The parameters to modify TREC is given below.
					  * string dataset = "birthdeath"; // any other dataset name can be given.
					  * string inputPath = "...." // specifies the path where community structure files reside.
					  * unsigned short int timestepCount = 5;// specifies the number of snapshots builds the network/dataset.
					  * float simThreshold = 0.10;// similarity threshold specifies the minimum similarity between a community pair to call them as similar.
					  * string outputTrackingFilePath = "..." // the path specifies the path where tracking results are written.
					  * string outputTrackingFileName = "..." // the name of the text file which includes the tracking results.
					  * string outputCommunityFilesFolder = "...\\NMI\\";// you need to create "NMI" folder that includes the community structure files after tracking
					  			  

main.cpp			: This file includes the implementation of TREC Tool


READ.ME				: This file includes the directions to execute the TREC Tool and the other files CD includes.

sample input		: This folder includes the community structure of "mergesplit" dataset.

corresponding output: This folder includes the files produces by TREC Tool such as "mergesplittrackingList_TREC_mergesplit.txt" and "trackedCommunitiesAtTimeX.txt" 
					  files where X takes integers from 1 to number of time steps which dataset has.
					  
memory and time profiling: This folder includes performance analysis snapshots of TREC and its compatitors.
						 
----------------------------------------------------------------------------------------------------------------------------------------------------------
Hardware Requirements:

For the experimental analysis, a laptop with the following configuration is used. Intel (R) Core(TM) i7-4712MQ CPU @ 2.30 GHz. Processor, 
and 16 GB memory. 

----------------------------------------------------------------------------------------------------------------------------------------------------------
Software Requirements:
* All the methods of competitor tracking and TREC are implemented using C++.
* CodeBlocks is used as IDE.
* Boost library used for some tasks such as trimming, parsing, casting.
* Communities are detected via Louvain algorithm.
* Feature values are obtained via Gephi The Open Graph Viz Platform
* ML operations (training models, testing models, evaluating models etc.) are carried on WEKA.

* For performance profiling, Diagnostic Tools of Visual Studio 2019 Community Edition is used.

* 64-bit Win10 is used as operating system.

Further details are available from:
arzumkaratas@iyte.edu.tr, serapsahin@iyte.edu.tr
arzumkaratas.phd@gmail.com
