<commit_before>---
layout: main
permalink: /index.html
title: Graff
---

<script type="text/javascript" src="target/graff.js"></script>

graff
=====

Javascript Graph Theory

 * [source](https://github.com/kybernetikos/graff)
 * [demo](http://kybernetikos.github.io/graff/demo)
 * [specs](http://kybernetikos.github.io/graff/specs)

<commit_msg>extra readme information<commit_after>---
layout: main
permalink: /index.html
title: Graff
---

<script type="text/javascript" src="target/graff.js"></script>

graff
=====

Javascript Graph Theory

 * [source](https://github.com/kybernetikos/graff)
 * [demo](http://kybernetikos.github.io/graff/demo)
 * [specs](http://kybernetikos.github.io/graff/specs)

I've mainly build this around my needs for working out the winner of condorcet elections, so it
comes with no guarantee that it'll be useful for anything else, however, the interface is based on
the same one that the JGraphT library uses, so it should be easy to port algorithms from there.

Other than the basic methods, I needed [Tarjan's strongly connected components algorithm](http://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm),
so that's implemented.

The demo makes use of [springy.js](http://getspringy.com/).
{'fraction_non_alphanumeric': 0.13723916532905298, 'fraction_numerical': 0.0, 'mean_word_length': 4.966507177033493, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '695804', 'n_tokens_mistral': 413, 'n_tokens_neox': 400, 'n_words': 109}