All Projects → fargonauts → copycat

fargonauts / copycat

Licence: MIT license
Modern port of Melanie Mitchell's and Douglas Hofstadter's Copycat

Programming Languages

python
139335 projects - #7 most used programming language
TeX
3793 projects

Projects that are alternatives of or similar to copycat

FARGonautica
No description or website provided.
Stars: ✭ 85 (+1.19%)
Mutual labels:  concept, farg, fluid-concepts, douglas-hofstadter
awesome-cogsci
An Awesome List of Cognitive Science Resources
Stars: ✭ 71 (-15.48%)
Mutual labels:  psychology, cognitive-science
2017-summer-workshop
Exercises, data, and more for our 2017 summer workshop (funded by the Estes Fund and in partnership with Project Jupyter and Berkeley's D-Lab)
Stars: ✭ 33 (-60.71%)
Mutual labels:  psychology, cognitive-science
catlearn
Formal Psychological Models of Categorization and Learning
Stars: ✭ 21 (-75%)
Mutual labels:  psychology, cognitive-science
accessible-name-automation-proof-of-concept
This is an experiment based on Accessibility Object Model (AOM). It tries to demonstrate that it is theoretically possible (in a certain way) to predict what the screen reader will say by focusing on semantic and non semantic elements with a bit of automated testing, thus reducing the need for manual testing.
Stars: ✭ 15 (-82.14%)
Mutual labels:  semantics
CCN Association
认知计算神经联盟 讨论会
Stars: ✭ 49 (-41.67%)
Mutual labels:  cognitive-science
grasp
Essential NLP & ML, short & fast pure Python code
Stars: ✭ 58 (-30.95%)
Mutual labels:  semantics
pfootprint
Political Discourse Analysis Using Pre-Trained Word Vectors.
Stars: ✭ 20 (-76.19%)
Mutual labels:  semantics
envo
A community-driven ontology for the representation of environments
Stars: ✭ 106 (+26.19%)
Mutual labels:  semantics
event-embedding-multitask
*SEM 2018: Learning Distributed Event Representations with a Multi-Task Approach
Stars: ✭ 22 (-73.81%)
Mutual labels:  semantics
koika
A core language for rule-based hardware design 🦑
Stars: ✭ 103 (+22.62%)
Mutual labels:  semantics
self-organizing-predictions
In which prediction agents organize themselves through competition.
Stars: ✭ 24 (-71.43%)
Mutual labels:  cognitive-science
concept-based-xai
Library implementing state-of-the-art Concept-based and Disentanglement Learning methods for Explainable AI
Stars: ✭ 41 (-51.19%)
Mutual labels:  concept
PsyNeuLink
A block modeling system for cognitive neuroscience
Stars: ✭ 73 (-13.1%)
Mutual labels:  cognitive-science
score-zeroshot
Semantically consistent regularizer for zero-shot learning
Stars: ✭ 65 (-22.62%)
Mutual labels:  semantics
human-memory
Course materials for Dartmouth course: Human Memory (PSYC 51.09)
Stars: ✭ 239 (+184.52%)
Mutual labels:  psychology
TreeView
"TreeView - sub-cells simplified" (c). Enable subcells in UITableView with a single drop-in extension. CocoaPod:
Stars: ✭ 54 (-35.71%)
Mutual labels:  concept
lambda-notebook
Lambda Notebook: Formal Semantics in Jupyter
Stars: ✭ 16 (-80.95%)
Mutual labels:  semantics
CompactLogin
Cards animation [Implementation of the concept]
Stars: ✭ 14 (-83.33%)
Mutual labels:  concept
oerschema
A RDF vocabulary for OER content on the web.
Stars: ✭ 21 (-75%)
Mutual labels:  semantics

co.py.cat

GUI

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

This implementation is a copycat of Scott Boland's Java implementation. The original Java-to-Python translation work was done by J Alan Brogan (@jalanb on GitHub). The Java version has a GUI similar to the original Lisp; this Python version has no GUI code built in but can be incorporated into a larger GUI program.

J. Alan Brogan writes:

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

Running the command-line program

To clone the repo locally, run these commands:

$ git clone https://github.com/fargonauts/copycat.git
$ cd copycat/copycat
$ python main.py abc abd ppqqrr --iterations 10

The script takes three or four arguments. The first two are a pair of strings with some change, for example "abc" and "abd". The third is a string which the script should try to change analogously. The fourth (which defaults to "1") is a number of iterations.

This might produce output such as

ppqqss: 6 (avg time 869.0, avg temp 23.4)
ppqqrs: 4 (avg time 439.0, avg temp 37.3)

The first number indicates how many times Copycat chose that string as its answer; higher means "more obvious". The last number indicates the average final temperature of the workspace; lower means "more elegant".

Installing the module

To install the Python module and get started with it, run these commands:

$ pip install -e git+git://github.com/fargonauts/copycat.git#egg=copycat
$ python
>>> from copycat import Copycat
>>> Copycat().run('abc', 'abd', 'ppqqrr', 10)
{'ppqqrs': {'count': 4, 'avgtime': 439, 'avgtemp': 37.3}, 'ppqqss': {'count': 6, 'avgtime': 869, 'avgtemp': 23.4}}

The result of run is a dict containing the same information as was printed by main.py above.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].