Compare commits

...

11 Commits

Author SHA1 Message Date
4788ffbc05 Commit project files before pushing to Gitea 2025-10-06 17:19:27 +01:00
5593a109ab Update README.md 2025-04-23 21:39:29 +02:00
c80329fea0 Update README.md 2025-04-23 21:36:53 +02:00
6b6155b501 Update README.md 2025-04-23 21:34:16 +02:00
12c81be128 Update README.md 2025-04-23 21:27:58 +02:00
c766d446c5 Update README.md 2025-04-23 21:27:11 +02:00
50d6643bbb Update README.md 2025-04-23 21:25:30 +02:00
3b82892136 Update README.md 2025-04-23 21:23:11 +02:00
7d324e44e9 Update README.md 2025-04-23 21:20:58 +02:00
69a04a724b Update README.md 2025-04-23 21:20:05 +02:00
bdbb964d5d Update README.md 2025-04-23 21:19:07 +02:00
2 changed files with 907 additions and 13 deletions

View File

@ -1,10 +1,10 @@
co.py.cat Copycat
========= =========
![GUI](https://i.imgur.com/AhhpzVQ.png) ![GUI](https://i.imgur.com/AhhpzVQ.png)
An implementation of [Douglas Hofstadter](http://prelectur.stanford.edu/lecturers/hofstadter/)'s Copycat algorithm. An implementation of [Douglas Hofstadter](http://prelectur.stanford.edu/lecturers/hofstadter/) and [Melanie Mitchell](https://melaniemitchell.me/)'s Copycat algorithm.
The Copycat algorithm is explained [on Wikipedia](https://en.wikipedia.org/wiki/Copycat_%28software%29), and that page has many links for deeper reading. See also [Farglexandria](https://github.com/Alex-Linhares/Farglexandria). The Copycat algorithm is explained [on Wikipedia](https://en.wikipedia.org/wiki/Copycat_%28software%29), in Melanie Mitchell's Book [Analogy-making as perception](https://www.amazon.com/Analogy-Making-Perception-Computer-Modeling-Connectionism/dp/026251544X/ref=sr_1_5?crid=1FC76DCS33513&dib=eyJ2IjoiMSJ9.TQVbRbFf696j7ZYj_sb4tIM3ZbFbuCIdtdYCy-Mq3EmJI6xbG5hhVXuyOPjeb7E4b8jhKiJlfr6NnD_O09rEEkNMwD_1zFxkLT9OkF81RSFL4kMCLOT7K-7KnPwBFbrc9tZuhLKFOWbxMGNL75koMcetQl2Lf6V7xsNYLYLCHBlXMCrusJ88Kv3Y8jiPKwrEr1hUwhWB8vtwEG9vSYXU7Gw-b4fZRNNbUtBBWNwiK3k.IJZZ8kA_QirWQK1ax5i42zD2nV7XvKoPYRgN94en4Dc&dib_tag=se&keywords=melanie+mitchell&qid=1745436638&sprefix=melanie+mitchell%2Caps%2C206&sr=8-5#), and in [this paper](https://github.com/Alex-Linhares/FARGonautica/blob/master/Literature/Foundations-Chalmers.French.and.Hofstadter-1992-Journal%20of%20Experimental%20and%20Theoretical%20Artificial%20Intelligence.pdf). The wikipedia page has additional links for deeper reading. See also [FARGonautica](https://github.com/Alex-Linhares/Fargonautica), where a collection of Fluid Concepts projects are available.
This implementation is a copycat of Scott Boland's [Java implementation](https://archive.org/details/JavaCopycat). This implementation is a copycat of Scott Boland's [Java implementation](https://archive.org/details/JavaCopycat).
The original Java-to-Python translation work was done by J Alan Brogan (@jalanb on GitHub). The original Java-to-Python translation work was done by J Alan Brogan (@jalanb on GitHub).
@ -42,26 +42,31 @@ 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 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". The last number indicates the average final temperature of the workspace; lower means "more elegant".
---------------------
Code structure Code structure
---------------------
The Copycat system consists of 4,981 lines of Python code across 40 files. Here's a breakdown of the largest Core Components: This Copycat system consists of 4,981 lines of Python code across 40 files. Here's a breakdown.
Core Components:
- codeletMethods.py: 1,124 lines (largest file) - codeletMethods.py: 1,124 lines (largest file)
- curses_reporter.py: 436 lines - curses_reporter.py: 436 lines
- coderack.py: 310 lines - coderack.py: 310 lines
- slipnet.py: 248 lines - slipnet.py: 248 lines
- Workspace Components:
Workspace Components:
- group.py: 237 lines - group.py: 237 lines
- bond.py: 211 lines - bond.py: 211 lines
- correspondence.py: 204 lines - correspondence.py: 204 lines
- workspace.py: 195 lines - workspace.py: 195 lines
- workspaceObject.py: 194 lines - workspaceObject.py: 194 lines
Control Components: Control Components:
- temperature.py: 175 lines - temperature.py: 175 lines
- conceptMapping.py: 153 lines - conceptMapping.py: 153 lines
- rule.py: 149 lines - rule.py: 149 lines
- copycat.py: 144 lines - copycat.py: 144 lines
GUI Components: GUI Components:
- gui/gui.py: 96 lines - gui/gui.py: 96 lines
- gui/workspacecanvas.py: 70 lines - gui/workspacecanvas.py: 70 lines
@ -76,10 +81,11 @@ The system is well-organized with clear separation of concerns:
- User interface (GUI components) - User interface (GUI components)
The largest file, codeletMethods.py, contains all the codelet behavior implementations, which makes sense as it's the heart of the system's analogical reasoning capabilities. The largest file, codeletMethods.py, contains all the codelet behavior implementations, which makes sense as it's the heart of the system's analogical reasoning capabilities.
---------------------
codeREADME.md Files
We've got an LLM to document every code file, so people can look at a particular readme before delving into the work. {code.py}README.md Files
---------------------
We've got an LLM to document every code file, so people can look at a particular readme before delving into the work (Here's one [Example](main_README.md)).
Installing the module Installing the module

File diff suppressed because it is too large Load Diff