Skip to content

ClueSec/microsociety

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

221 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MicroSociety

CI

Description

MicroSociety is an object-oriented simulation project that models a society with AI-driven behaviors, events and interactions.

The project uses AI to create a lively environment with support for both traditional Q-learning and TensorFlow-based deep learning.

Platform-specific Setup

Linux/macOS (Full TensorFlow Support)

Build with TensorFlow:

mkdir build && cd build
cmake ..
make -j$(nproc)
./bin/MicroSociety

Build without TensorFlow:

mkdir build && cd build
cmake .. -DUSE_TENSORFLOW=OFF
make -j$(nproc)
./bin/MicroSociety

Windows (Q-Learning Only)

Note: Windows automatically disables TensorFlow due to incomplete C API headers. The simulation can use Q-learning instead.

  1. Open Developer Command Prompt for Visual Studio

  2. Build the project:

    mkdir build && cd build
    cmake -G "NMake Makefiles" ..
    nmake
    bin\MicroSociety.exe

Docker Setup

For Windows users

docker build -t microsociety .
docker run -it microsociety

With X11 forwarding (Linux/macOS):

xhost +local:docker

docker run -it --rm \
  -e DISPLAY=$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  microsociety

AI Modes

The simulation offers two AI modes selectable at startup:

  1. Reinforcement learning C++: NPCs use Q-learning algorithms
  2. Deep Q-learning TensorFlow: NPCs use neural networks

About

An object-oriented project that represents the simulator of the society with dynamically changing events.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors