Giter VIP home page Giter VIP logo

lem-in's Introduction

lem-in

Each ant may move one room per turn

Only one ant may occupy a room at a time except for start and end

Minimize the number of turns required to move all ants from start to end

Developed for macOS High Sierra using clang-902.0.39.1

lem-in

Algorithm

I used an Edmonds-Karp like breadth-first search and reconstructed a list of potential paths based on the residual graph

Dependencies

make

Installation

make

This will create the lem-in executable

Usage

./lem-in < test_map

Pygame Visualizer

Built with python3

Dependencies:

Usage:

./lem-in < test_map | ./visu.py

Navigation:

  • Esc, Q: quit visualizer

  • Up: increase ant speed

  • Down: decrease ant speed

  • Right: move ants

  • 0: reset ant speed

  • I: toggle instant ant movement

  • Home, R: reset

visualizer screenshot 00

Matplotlib Visualizer

Built with python3

Dependencies:

Usage:

Display help:

./draw_graph -h

Read from stdin:

./lem-in < test_maps/gen-flow-thousand-00 | ./draw_graph.py

Read from an output file:

./lem-in < test_maps/gen_big_superposition > big-super_out
./draw_graph.py -f big-super_out

Draw graph using the Kamada-Kawai layout from NetworkX:

./lem-in < test_maps/gen_big | ./draw_graph.py -p

visualizer screenshot 01

lem-in's People

Contributors

acarlson99 avatar allenc12 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.