- 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>
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 gradientfigure2_activation_spreading.pdf/.png- Activation spreading over time with differential decayfigure3_resistance_distance.pdf/.png- Resistance distance vs shortest path comparisonfigure4_workspace_evolution.pdf/.png- Workspace graph at 4 time stepsfigure5_betweenness_dynamics.pdf/.png- Betweenness centrality over timefigure6_clustering_distribution.pdf/.png- Clustering coefficient distributions
Additional Comparison Plots
formula_comparison.pdf/.png- 6-panel comparison of all hardcoded formulas vs proposed alternativesscalability_comparison.pdf/.png- Performance across string lengths and domain transferslippability_temperature.pdf/.png- Temperature-dependent slippability curvesexternal_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"