#k@
is a dynamic network simulation tool designed to model the growth of and information propagation through an online social network. It is an agent-based, Kinetic Monte Carlo engine capable of simulating online networks such as Facebook, Twitter, LinkedIn, etc.
#k@
incorporates all elements of online social networks including multiple user profiles (e.g. standard users, organizations, celebrities, and bots), user messaging, trending topics, and advertising. Agents within the network make decisions (e.g. follow, unfollow, broadcast, and rebroadcast) based on a variety of user defined constraints on signal propagation to model language, region, ideology, musical interests, and humour.
#k@
allows for simulation of a realistic online social network, enabling users to test hypotheses for growth mechanisms and scenarios for information propagation. As it solves the forward problem, #k@
can be used with Big Data analytics tools to test data collection protocols and ensure inverse model validity.
#k@
is a fully cross-platform tool: it works natively on Windows 10
, OS X
, and Linux
platforms.
Download the latest version of Hashkat
Build Requirements:
CMake
- C++ Compiler (for instance:
gcc
/g++
etc.)
Run Requirements:
Python 2.x
Data Visualization Requirements (optional):
- Gnuplot
- Gephi
- Networkx
- Clone the
hashkat
reositry locallygit clone https://github.com/hashkat/hashkat
- Go inside the
hashkat
folder (usingcd hashkat
) after you are sure of all the requirements being fulfilled. - Build
hashkat
using./build.sh -O
- Create simulations using the
DEFAULT.yaml
variable values by running the command./run.sh
A sample script can be seen as:
jigyasa@spin:~/temp$ git clone https://github.com/hashkat/hashkat
...
Checking connectivity... done.
jigyasa@spin:~/temp$ cd hashkat/
jigyasa@spin:~/temp/hashkat$ ./build.sh -O
.....
[100%] Built target hashkat
jigyasa@spin:~/temp/hashkat$ ./run.sh
.....
Simulation Completed: desired simulation time reached
Analysis complete!
For elaborate runs, refer docs.hashkat.org and for visualizing the output, refer docs.hashkat.org/visualization
#k@
has built-in documentation web pages. Find detailed information, instructions and tutorials at docs.hashkat.org
Documentation Status:
Check out the hashkat/docs
directory for the source code of the documentation.
#k@
is a community project. We appreciate your enhancement requests as issues and bug-fixes.
Feel free to open new ones or fix the existing ones (hashkat/issues).
#K@
community welcomes all to be a part of it and help us enhance our product. The ROADMAP is a list of things we wish to fulfill in the near future.
#K@
is a 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 3 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 v3 along with this program. If not, see gnu.org/licenses.