Files
copycat/LaTeX/README_FIGURES.md
Alex Linhares 06a42cc746 Add CLAUDE.md and LaTeX paper, remove old papers directory
- Add CLAUDE.md with project guidance for Claude Code
- Add LaTeX/ with paper and figure generation scripts
- Remove papers/ directory (replaced by LaTeX/)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:14:01 +00:00

5.1 KiB

Figure Generation for Copycat Graph Theory Paper

This folder contains Python scripts to generate all figures for the paper "From Hardcoded Heuristics to Graph-Theoretical Constructs."

Prerequisites

Install Python 3.7+ and required packages:

pip install matplotlib numpy networkx scipy

Quick Start

Generate all figures at once:

python generate_all_figures.py

Or run individual scripts:

python generate_slipnet_graph.py      # Figure 1: Slipnet graph structure
python activation_spreading.py        # Figure 2: Activation spreading dynamics
python resistance_distance.py         # Figure 3: Resistance distance heat map
python workspace_evolution.py         # Figures 4 & 5: Workspace evolution & betweenness
python clustering_analysis.py         # Figure 6: Clustering coefficient analysis
python compare_formulas.py           # Comparison plots of formulas

Generated Files

After running the scripts, you'll get these figures:

Main Paper Figures

  • figure1_slipnet_graph.pdf/.png - Slipnet graph with conceptual depth gradient
  • figure2_activation_spreading.pdf/.png - Activation spreading over time with differential decay
  • figure3_resistance_distance.pdf/.png - Resistance distance vs shortest path comparison
  • figure4_workspace_evolution.pdf/.png - Workspace graph at 4 time steps
  • figure5_betweenness_dynamics.pdf/.png - Betweenness centrality over time
  • figure6_clustering_distribution.pdf/.png - Clustering coefficient distributions

Additional Comparison Plots

  • formula_comparison.pdf/.png - 6-panel comparison of all hardcoded formulas vs proposed alternatives
  • scalability_comparison.pdf/.png - Performance across string lengths and domain transfer
  • slippability_temperature.pdf/.png - Temperature-dependent slippability curves
  • external_strength_comparison.pdf/.png - Current support factor vs clustering coefficient

Using Figures in LaTeX

Replace the placeholder \fbox commands in paper.tex with:

\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{figure1_slipnet_graph.pdf}
\caption{Slipnet graph structure...}
\label{fig:slipnet}
\end{figure}

Script Descriptions

1. generate_slipnet_graph.py

Creates a visualization of the Slipnet semantic network with 30+ key nodes:

  • Node colors represent conceptual depth (blue=concrete, red=abstract)
  • Edge thickness shows link strength (inverse of link length)
  • Hierarchical layout based on depth values

2. compare_formulas.py

Generates comprehensive comparisons showing:

  • Support factor: 0.6^(1/n³) vs clustering coefficient
  • Member compatibility: Discrete (0.7/1.0) vs continuous structural equivalence
  • Group length factors: Step function vs subgraph density
  • Salience weights: Fixed (0.2/0.8) vs betweenness centrality
  • Activation jump: Fixed threshold (55.0) vs adaptive percolation threshold
  • Mapping factors: Linear increments vs logarithmic path multiplicity

Also creates scalability analysis showing performance across problem sizes and domain transfer.

3. activation_spreading.py

Simulates Slipnet activation dynamics with:

  • 3 time-step snapshots showing spreading from "sameness" node
  • Heat map visualization of activation levels
  • Time series plots demonstrating differential decay rates
  • Annotations showing how shallow nodes (letters) decay faster than deep nodes (abstract concepts)

4. resistance_distance.py

Computes and visualizes resistance distances:

  • Heat map matrix showing resistance distance between all concept pairs
  • Comparison with shortest path distances
  • Temperature-dependent slippability curves for key concept pairs
  • Demonstrates how resistance distance accounts for multiple paths

5. clustering_analysis.py

Analyzes correlation between clustering and success:

  • Histogram comparison: successful vs failed runs
  • Box plots with statistical tests (t-test, p-values)
  • Scatter plot: clustering coefficient vs solution quality
  • Comparison of current support factor formula vs clustering coefficient

6. workspace_evolution.py

Visualizes dynamic graph rewriting:

  • 4 snapshots of workspace evolution for abc→abd problem
  • Shows bonds (blue edges), correspondences (green dashed edges)
  • Annotates nodes with betweenness centrality values
  • Time series showing how betweenness predicts correspondence selection

Customization

Each script can be modified to:

  • Change colors, sizes, layouts
  • Add more nodes/edges to graphs
  • Adjust simulation parameters
  • Generate different problem examples
  • Export in different formats (PDF, PNG, SVG)

Troubleshooting

"Module not found" errors:

pip install --upgrade matplotlib numpy networkx scipy

Font warnings: These are harmless warnings about missing fonts. Figures will still generate correctly.

Layout issues: If graph layouts look cluttered, adjust the k parameter in nx.spring_layout() or use different layout algorithms (nx.kamada_kawai_layout(), nx.spectral_layout()).

Contact

For questions about the figures or to report issues, please refer to the paper: "From Hardcoded Heuristics to Graph-Theoretical Constructs: A Principled Reformulation of the Copycat Architecture"