npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

swirlnet-demos

v1.1.2

Published

Physical balancing demos for the swirlnet neuroevolution library

Downloads

2

Readme

swirlnet-demos

This repository contains two javascript-based neuroevolution demos using the swirlnet library, which is based on NEAT. They attempt to solve two 2D physical balancing tasks. With a few commands, winning network behavior can be graphically demonstrated in the browser.

Build Requirements

Install runtime dependencies:

$ npm install

Install web demo build dependencies:

# npm install -g browserify

Use

Sample web demos

To watch the pre-generated networks' performance in the browser:

$ cd src/doublePendulum
$ make

Then open up file:///.../src/doublePendulum/index.html in a browser window.

$ cd src/doublePole
$ make

Then open up file:///.../src/doublePole/index.html in a browser window.

Solution finding

To search for new solutions:

$ node demos/doublePole/solve.js
$ node demos/doublePendulum/solve.js

To watch a network you have found:

$ cd demos/doublePole
$ mkdir solutions
$ edit solutions/net-0.json  # paste in the json from the above solver's output
$ ln -sf solutions/net-0.json latest-solution.json
$ make

Then open up file:///.../demos/doublePole/index.html in a browser window.

etc

Of the two demos, the double pole experiment solves faster. Its code is also easier to comprehend.

The double pendulum experiement may find the partial solution of balancing already upright pendulums, but it is unlikely to swing up both pendulums and balance them. To fully solve that problem, the fitness function and testing scenarios need to be adjusted.

As networks become fitter on average they will tend to survive longer in challenges. This is why later generations take longer to test.

License

This software is licensed under the Apache License, Version 2.0

The authors of swirlnet claim no license over the networks, genomes and phenotypes evolved using this library.