Giter Site home page Giter Site logo

erkapilmehta / co.py.cat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jalanb/co.py.cat

0.0 2.0 0.0 120 KB

Hofstadter's copycat, more pythonically

Home Page: https://en.wikipedia.org/wiki/Copycat_(software)#External_links

License: MIT License

Python 100.00%

co.py.cat's Introduction

co.py.cat

An implementation of Douglas Hofstadter's copycat algorithm. The copycat algorithm is explained on Wikipedia, and that page has many links for deeper reading.

This implementation is a copycat of Scott Boland's Java implementation, but re-written into Python. It's not a direct translation - but based on his code. I did not carry over the GUI, as this version can more usefully be run from command line, or imported for use by other Python scripts.

In cases where I could not grok the Java implementation easily I took ideas from the LISP implementation, or directly from Melanie Mitchell's "Analogy-Making as Perception"

I also tried to make the code more pythonic.

Installation

There are no particular installation instructions, just clone and run, e.g.

$ git clone https://github.com/jalanb/co.py.cat.git
$ cd co.py.cat/copycat
$ python main.py abc abd ijk

Running

The script takes three arguments. The first two are a pair of triplets with some change, for example "abc" and "abd". The third is a triplet which the script should try to change analogously

For example the following invocation will probably display "ijl"

$ python main.py abc abd ijk

Badges

Build Status

See Also

  1. "The Copycat Project: An Experiment in Nondeterminism and Creative Analogies" by Hofstadter, Douglas
  2. "Analogy-Making as Perception" by Mitchell, Melanie
  3. Arthur O'Dwyer (Quuxplusone on GitHub) has further cleaned and extended this code in a fork available here.

co.py.cat's People

Contributors

jalanb avatar jtauber avatar quuxplusone 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.