1.6 KiB
1.6 KiB
README_main.md
Overview
main.py is the primary entry point for the Copycat program, which implements an analogical reasoning system. The program takes three strings as input and attempts to find an analogous transformation between them.
Usage
Run the program from the terminal with the following command:
python main.py abc abd ppqqrr --iterations 10
Arguments
initial: The first string in the analogy (e.g., "abc")modified: The second string showing the transformation (e.g., "abd")target: The third string to be transformed (e.g., "ppqqrr")--iterations(optional): Number of times to run the case (default: 1)--seed(optional): Provide a deterministic seed for the random number generator--plot(optional): Generate a bar graph of answer distribution--noshow(optional): Don't display the bar graph at the end of the run
Output
The program produces output in the following format:
iiijjjlll: 670 (avg time 1108.5, avg temp 23.6)
iiijjjd: 2 (avg time 1156.0, avg temp 35.0)
...
Where:
- 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")
Features
- Implements the Copycat analogical reasoning system
- Provides detailed logging to
./output/copycat.log - Can generate visualizations of answer distributions
- Saves results to
output/answers.csv
Dependencies
- Requires the
copycatmodule - Uses
argparsefor command-line argument parsing - Uses
loggingfor output logging