Files
copycat/main_README.md

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 copycat module
  • Uses argparse for command-line argument parsing
  • Uses logging for output logging