Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] - 2025-09-23
Added
Initial release of the BiSC algorithm implementation
Core
Permutationclass with pattern containment checkingMeshPatternclass for generalized patterns with shadingComplete BiSC algorithm implementation with MINE and GEN phases
Command-line tools:
bisc-examplesandbisc-demoExamples for known permutation classes:
Stack-sortable permutations
Smooth permutations
Baxter permutations
Comprehensive test suite with unit and integration tests
Full API documentation with Sphinx
PyPI package publication
MIT License
Features
Pattern Discovery: Automatically discover forbidden patterns that characterize permutation classes
Mesh Patterns: Support for generalized mesh patterns with shading constraints
Pure Python: No external dependencies required
Extensible: Easy to add new permutation classes and examples
Well-Tested: Comprehensive test coverage
Documented: Complete API documentation and examples
Algorithm Components
MINE Phase: Systematically record all mesh patterns appearing in input permutations
GEN Phase: Generate forbidden patterns from allowed patterns using complement logic
Pattern Utilities: Helper functions for pattern manipulation and analysis
Mesh Utilities: Tools for working with mesh patterns and shading
Known Issues
None reported
Performance
Efficient implementation suitable for permutations up to moderate length
Memory usage scales with the number of input permutations and pattern length
Algorithmic complexity depends on the size of the permutation class
Compatibility
Python 3.7+
Cross-platform (Windows, macOS, Linux)
No external dependencies
Future Plans
Performance optimizations for larger permutation sets
Additional permutation class examples
Interactive visualization tools
Jupyter notebook examples
Integration with other combinatorics tools
[Unreleased]
Changes that are in development but not yet released will be documented here.