mirror of https://github.com/jlizier/jidt
1 line
9.7 KiB
JSON
1 line
9.7 KiB
JSON
{"name":"JIDT","tagline":"JIDT: Java Information Dynamics Toolkit for studying information-theoretic measures of computation in complex systems","body":"# Java Information Dynamics Toolkit (JIDT)\r\n\r\nCopyright (C) 2012-2014 [Joseph T. Lizier](http://lizier.me/joseph/); 2014-2015 [Joseph T. Lizier](http://lizier.me/joseph/) and Ipek Özdemir\r\n\r\n*JIDT* provides a stand-alone, open-source code Java implementation (also usable in [Matlab, Octave](https://github.com/jlizier/jidt/wiki/UseInOctaveMatlab), [Python](https://github.com/jlizier/jidt/wiki/UseInPython), [R](https://github.com/jlizier/jidt/wiki/UseInR), [Julia](https://github.com/jlizier/jidt/wiki/UseInJulia) and [Clojure](https://github.com/jlizier/jidt/wiki/UseInClojure)) of information-theoretic measures of distributed computation in complex systems: i.e. information storage, transfer and modification.\r\n\r\nJIDT includes implementations:\r\n * principally for the measures **transfer entropy**, **mutual information**, and their conditional variants, as well as **active information storage**, entropy, etc;\r\n * for both _discrete_ and _continuous_-valued data;\r\n * using various types of estimators (e.g. _Kraskov-Stögbauer-Grassberger estimators_, _box-kernel estimation_, _linear-Gaussian_),\r\nas described in full at ImplementedMeasures.\r\n\r\nJIDT is distributed under the [GNU GPL v3 license](http://www.gnu.org/licenses/gpl.html) (or later).\r\n\r\n# Getting started\r\n\r\n 1. [Download](https://github.com/jlizier/jidt/wiki/Downloads) and [Installation](https://github.com/jlizier/jidt/wiki/Installation) is very easy!\r\n 1. _Quick start_: download the latest [v1.3 full distribution](http://lizier.me/joseph/software/jidt/download.php?file=infodynamics-dist-1.3.zip) (suitable for all platforms) and see the readme.txt file therein.\r\n 1. [Documentation](https://github.com/jlizier/jidt/wiki/Documentation) including: the paper describing JIDT at [arXiv:1408.3270](http://arxiv.org/abs/1408.3270) (distributed with the toolkit), a [Tutorial](https://github.com/jlizier/jidt/wiki/Tutorial), and [Javadocs (v1.3 here)](http://lizier.me/joseph/software/jidt/javadocs/v1.3/);\r\n 1. [Demos](https://github.com/jlizier/jidt/wiki/Demos) are included with the full distribution, including a [GUI app](https://github.com/jlizier/jidt/wiki/AutoAnalyser) for automatic analysis and code generation, [simple java demos](https://github.com/jlizier/jidt/wiki/SimpleJavaExamples) and [cellular automata (CA) demos](https://github.com/jlizier/jidt/wiki/CellularAutomataDemos).\r\n 1. These Java tools can easily be used in [Matlab/Octave](https://github.com/jlizier/jidt/wiki/OctaveMatlabExamples), [Python](https://github.com/jlizier/jidt/wiki/PythonExamples), [R](https://github.com/jlizier/jidt/wiki/R_Examples), [Julia](https://github.com/jlizier/jidt/wiki/JuliaExamples) and [Clojure](https://github.com/jlizier/jidt/wiki/Clojure_Examples)! (click on each language here for examples)\r\n\r\nFor further information or announcements:\r\n * Join our discussion group: http://groups.google.com/d/forum/jidt-discuss\r\n * See also the [FAQs](https://github.com/jlizier/jidt/wiki/FAQs)\r\n * Follow [@infodynamicstkt](http://twitter.com/infodynamicstkt) on twitter\r\n\r\n# Citation\r\n\r\nPlease **cite** your use of this toolkit as:\r\n\r\nJoseph T. Lizier, \"JIDT: An information-theoretic toolkit for studying the dynamics of complex systems\", _Frontiers in Robotics and AI_ 1:11, 2014; doi:[10.3389/frobt.2014.00011](http://dx.doi.org/10.3389/frobt.2014.00011) (pre-print: [arXiv:1408.3270](http://arxiv.org/abs/1408.3270))\r\n\r\nAnd please [let me know](mailto:joseph.lizier_AT_gmail.com) about any publications resulting from its use!\r\n\r\nSee other [PublicationsUsingThisToolkit](https://github.com/jlizier/jidt/wiki/PublicationsUsingThisToolkit).\r\n\r\n# News\r\n\r\n_19/7/2015_ - New jar and full distribution files available for **release v1.3**; Changes for v1.3 include:\r\nAdded AutoAnalyser (Code Generator) GUI demo for MI and TE;\r\nAdded auto-embedding capability via Ragwitz criteria for AIS and TE calculators (KSG estimators);\r\nAdded Java demo 9 for showcasing use of Ragwitz auto-embedding;\r\nAdding small amount of noise to data in all KSG estimators now by default (may be disabled via setProperty());\r\nAdded getProperty() methods for all conditional MI and TE calculators;\r\nUpgraded Python demos for Python 3 compatibility;\r\nFixed bias correction on mixed discrete-continuous KSG calculators;\r\nUpdated the tutorial slides to those in use for ECAL 2015 JIDT tutorial.\r\n\r\n_12/2/2015_ - New jar and full distribution files available for **release v1.2.1**; Changes for v1.2.1 include:\r\nAdded tutorial slides, description of exercises and sample exercise solutions;\r\nMade jar target Java 1.6;\r\nAdded Schreiber TE heart-breath rate with KSG estimator demo code for Python.\r\n\r\n_28/1/2015_ - New jar and full distribution files available for **release v1.2**; Changes for v1.2 include:\r\nDynamic correlation exclusion, or Theiler window, added to all Kraskov estimators;\r\nAdded univariate MI calculation to simple demo 6;\r\nAdded Java code for Schreiber TE heart-breath rate with KSG estimator, ready for use as a template in Tutorial;\r\nPatch for crashes in KSG conditional MI algorithm 2.\r\n\r\n_20/11/2014_ - New jar and full distribution files available for **release v1.1**; Changes for v1.1 include:\r\nImplemented Fast Nearest Neighbour Search for Kraskov-Stögbauer-Grassberger (KSG) estimators for MI, conditional MI, TE, conditional TE, AIS, Predictive info, and multi-information. This includes a general (multivariate) k-d tree implementation;\r\nAdded multi-threading (using all available processors by default) for the KSG estimators -- code contributed by Ipek Özdemir;\r\nAdded Predictive information / Excess entropy implementations for KSG, kernel and Gaussian estimators;\r\nAdded R, Julia, and Clojure demos;\r\nAdded Windows batch files for the Simple Java Demos;\r\nAdded property for adding a small amount of noise to data in all KSG estimators;\r\n\r\n_15/8/2014_ JIDT paper finalised and uploaded to the website and [arXiv:1408.3270](http://arxiv.org/abs/1408.3270)\r\n\r\n_14/8/2014_ - New jar and full distribution files available for our **first official release, v1.0**; Changes for v1.0 include: Added the draft of the paper on the toolkit to the release;\r\nJavadocs made ready for release;\r\nSwitched source->destination arguments for discrete TE calculators to be with source first in line with continuous calculators;\r\nRenamed all discrete calculators to have Discrete suffix -- TE and conditional TE calculators also renamed to remove \"Apparent\" prefix and change \"Complete\" to \"Conditional\";\r\nKraskov estimators now using 4 nearest neighbours by default;\r\nUnit test for Gaussian TE against ChaLearn Granger causality measurement;\r\nAdded Schreiber TE demos; Interregional transfer demos; documentation for Interaction lag demos; added examples 7 and 8 to Simple Java demos;\r\nAdded property to add noise to data for Kraskov MI;\r\nAdded derivation of Apache Commons Math code for chi square distribution, and included relevant notices in our release;\r\nInserted translation class for arrays between Octave and Java;\r\nAdded analytic statistical significance calculation to Gaussian calculators and discrete TE;\r\nCorrected Kraskov algorithm 2 for conditional MI to follow equation in Wibral et al. 2014.\r\n\r\n_20/4/2014_ - New jar and full distribution files available for v0.2.0; Moved downloads to http://lizier.me/joseph/ since google code has stopped the download facility here :(. Changes for v0.2.0 include: Rearchitected (most) Transfer Entropy and Multivariate TE calculators to use an underlying conditional mutual information calculator, and have arbitrary embedding delay, source-dest delay; this includes moving Kraskov-Grassberger Transfer Entropy calculator to use a single conditional mutual information estimator instead of two mutual information estimators; Rearchitected (most) Active Information Storage calculators to use an underlying mutual information calculator; Added Conditional Transfer Entropy calculators using underlying conditional mutual information calculators; Moved mixed discrete-continuous calculators to a new \"mixed\" package; bug fixes.\r\n\r\n_11/9/2013_ - New jar and full distribution files available for v0.1.4; added scripts to generate CA figures for 2013 book chapters; added general Java demo code; added Python demo code; made Octave/Matlab demos and CA demos properly compatible for Matlab; added extra Octave/Matlab general demos; added more unit tests for MI and conditional MI calculators, including against results from Wibral's TRENTOOL; bug fixes.\r\n\r\n_11/9/2013_ - New CA demo scripts for several review book chapters we're preparing in 2013 have been uploaded - see [CellularAutomataDemos](https://github.com/jlizier/jidt/wiki/CellularAutomataDemos).\r\n\r\n_4/6/2013_ - Added instructions on how to [use in python](https://github.com/jlizier/jidt/wiki/UseInPython) and several [PythonExamples](https://github.com/jlizier/jidt/wiki/PythonExamples).\r\n\r\n_13/01/2013_ - New jar and full distribution files available for v0.1.3; existing Octave/Matlab demo code made compatible with Matlab; several bug fixes, including using max norm by default in Kraskov calculator (instead of requiring this to be set explicitly); more unit tests (including against results from Kraskov's own MI implementation)\r\n\r\n_19/11/2012_ - New jar and full distribution files available for v0.1.2, including demo code for two newly submitted papers\r\n\r\n_31/10/2012_ - Jar and full distribution files available for v0.1.1 (first distribution)\r\n\r\n_7/5/2012_ - JIDT project created and code uploaded\r\n","google":"UA-8354270-7","note":"Don't delete this file! It's used internally to help with page regeneration."} |