Skip to content

amaan-19/fair-division-exercises

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

216 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Fair Division Algorithms: Educational Research Platform

⚑ Project Status: Development Phase Complete

A comprehensive academic educational platform bridging theoretical computer science with hands-on algorithmic exploration. This Jekyll-based research platform provides interactive demonstrations, rigorous mathematical analysis, and real-time computational complexity visualization for fair division algorithms.

🌐 View Live Platform


Project Completion Summary

This project represents an effort to create an educational platform for fair division algorithms, developed by Amaan Khan under the supervision of Dr. Ron Cytron at Washington University in St. Louis, with support from Mozilla Educational Initiatives.

Achieved Deliverables βœ…

πŸ—οΈ Core Infrastructure

  • Complete Jekyll-based static site architecture
  • Responsive design system with 2000+ lines of custom, modular CSS
  • Mobile-first approach with cross-browser compatibility
  • MathJax 3 integration for mathematical notation
  • GitHub Pages deployment with automated CI/CD

πŸ“š Educational Content

  • Comprehensive theory pages covering mathematical foundations
  • Robertson-Webb query model detailed analysis
  • Complete algorithm documentation for 6+ algorithms
  • Professional glossary with 30+ technical terms
  • Academic bibliography with authoritative sources

🎯 Interactive Demonstrations

  • Modular plugin-based algorithm framework
  • Real-time query complexity tracking and visualization
  • Support for both divisible and indivisible goods
  • 6 Fully Implemented Algorithms:
    • Divide-and-Choose (2-player)
    • Austin's Moving Knife (n-player)
    • Steinhaus Lone-Divider (3-player)
    • Selfridge-Conway (3-player)
    • Knaster Sealed Bids (indivisible goods)
    • Lucas Method with Markers (indivisible goods)

πŸ”§ Technical Architecture

  • Event-driven demo system with centralized state management
  • Extensible algorithm registration system
  • SVG-based geometric visualizations
  • Sophisticated CSS component system
  • Professional logging and debugging infrastructure

Repository Structure

fair-division-algorithms/
β”œβ”€β”€ _layouts/                    # Jekyll layout templates
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ css/                     # 2000+ lines responsive design system
β”‚   β”œβ”€β”€ js/interactive-dashboard/ # Core demo system (6,000+ lines)
β”‚   β”‚   β”œβ”€β”€ core/               # Framework infrastructure
β”‚   β”‚   β”œβ”€β”€ algorithms/         # Algorithm implementations
β”‚   β”‚   └── extensions/         # Indivisible goods support
β”‚   └── flowcharts/             # Flowchart visualization system
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ algorithms/             # Individual algorithm documentation
β”‚   β”œβ”€β”€ theory/                 # Mathematical foundations
β”‚   └── exercises/              # Interactive simulator page
β”œβ”€β”€ _config.yml                 # Jekyll configuration
└── index.md                    # Platform homepage

Quick Start

Prerequisites

  • Ruby: Version 3.1+
  • Bundler: Gem dependency management
  • Git: Version control
  • Modern Browser: For testing interactive features

Local Development

# Clone and setup
git clone https://github.com/amaan-19/fair-division-algorithms.git
cd fair-division-algorithms
bundle install

# Start development server
bundle exec jekyll serve --livereload

# Visit http://localhost:4000/fair-division-algorithms/

Adding New Algorithms

// Register new algorithm in the demo system
window.FairDivisionCore.register('algorithm-id', {
    name: "Algorithm Name",
    playerCount: 2,
    goodsType: "divisible", // or "indivisible"
    steps: [/* Step definitions */],
    onInit: (state, api) => { /* Initialize */ },
    onReset: (state, api) => { /* Cleanup */ }
});

Technical Achievements

πŸ›οΈ Architectural Excellence

  • Plugin System: Modular algorithm registration with standardized API
  • State Management: Centralized, event-driven architecture
  • Responsive Design: CSS Grid/Flexbox with mobile-first approach
  • Performance: Optimized loading with lazy-loaded components

πŸ“Š Query Complexity Integration

  • Real-time Robertson-Webb query tracking
  • Animated step-by-step algorithm execution
  • Complexity bounds visualization
  • Educational query explanations

🎨 User Experience

  • Intuitive interactive controls
  • Step-by-step guided algorithm execution
  • Professional mathematical notation rendering
  • Accessibility considerations throughout

πŸ“– Educational Rigor

  • University-level academic content
  • Formal mathematical proofs and definitions
  • Comprehensive theoretical foundations
  • Research-grade algorithm implementations

Known Limitations & Areas for Improvement

🚧 Content Gaps

Theory Sections

  • Impossibility theorems (finite protocol limitations)
  • Property trade-offs and computational lower bounds
  • Moving-knife model detailed analysis
  • Advanced fairness properties (efficiency, truthfulness)

Algorithm Coverage

  • Brams-Taylor procedures for n-player envy-free division
  • Banach-Knaster last-diminisher
  • Stromquist's moving-knife procedure
  • Recent algorithms (2010+ research)

Documentation Quality

πŸ“‹ Well-Documented Components

βœ… Excellent Documentation:

  • Main README with comprehensive setup instructions
  • Individual algorithm pages with mathematical proofs
  • CSS architecture with component organization
  • JavaScript modules with inline documentation
  • Academic bibliography with proper citations

⚠️ Needs Improvement:

  • Contributing guidelines (CONTRIBUTING.md incomplete)
  • Development workflow documentation
  • Testing procedures and guidelines
  • Deployment troubleshooting guide

Research & Academic Impact

πŸŽ“ Educational Value

Successfully Implemented:

  • University-ready curriculum materials
  • Research-grade algorithm implementations
  • Mathematical rigor appropriate for graduate courses
  • Interactive learning that enhances theoretical understanding

Future Potential:

  • Polish and full implementations
  • Integration with university course management systems
  • Collaborative features for classroom use
  • Assessment tools for instructors
  • Research platform for algorithm development

Acknowledgments & Context

πŸ‘₯ Development Team

  • Primary Developer: Amaan Khan
  • Academic Supervisor: Dr. Ron Cytron
  • Institution: Washington University in St. Louis
  • Funding: Mozilla Educational Initiatives

πŸ“ˆ Impact & Usage

This platform successfully demonstrates how interactive technology can enhance mathematical education. The modular architecture ensures long-term maintainability, while the academic rigor makes it suitable for university adoption.


Future Development Recommendations

πŸ”„ Immediate Priorities (Phase 2)

  1. Content Completion: Fill theoretical gaps in impossibility results
  2. Testing Infrastructure: Implement comprehensive test suite
  3. Documentation: Complete contributing guidelines and development docs
  4. Accessibility: Full accessibility audit and improvements

πŸš€ Long-term Vision (Phase 3+)

  1. Algorithm Expansion: Add remaining major fair division procedures
  2. Assessment Integration: Build instructor tools and student tracking
  3. Research Platform: Enable new algorithm development and testing
  4. Community Building: Foster academic adoption and contribution

🎯 Success Metrics

  • Academic Adoption: University course integration
  • User Engagement: Interactive demo completion rates
  • Educational Impact: Learning outcome assessments
  • Research Value: Citations and algorithm implementations

Development Legacy: The project establishes a strong foundation for future development, with clean architecture that supports extensibility and academic-quality content that serves as a model for similar educational platforms.

Recommendation for Future Maintainers: Focus on content completion and community building. The technical foundation is solid and well-documented. The greatest impact will come from expanding the algorithm coverage and fostering academic adoption.


Platform developed by Amaan Khan under Dr. Ron Cytron at Washington University in St. Louis, with support from Mozilla Educational Initiatives. For questions about continued development or academic partnerships, please open an issue in the repository.

Last Updated: August 2025

About

Interactive educational platform for fair division algorithms developed by Amaan Khan and Dr. Ron Cytron at Washington University in St. Louis. Supported by Mozilla Educational Initiatives.

Topics

Resources

License

Stars

Watchers

Forks

Contributors