Thank you for your interest in contributing to MLN! This project explores fundamental questions about intelligence, consciousness, and knowledge representation.
This is a research project exploring alternatives to statistical AI. Contributions should align with the core principles:
- Structural over statistical: Favor explicit structure over implicit correlations
- Explainable by design: Every inference should be traceable
- Self-reference: Systems should reason about their own reasoning
- Compositionality: Complex concepts built from simpler parts
- Bugs: Describe the problem, expected behavior, and steps to reproduce
- Philosophical questions: Open discussions about the theoretical foundations
- Feature requests: Explain the use case and how it aligns with MLN's philosophy
git clone https://github.com/yourusername/monad-loop-network.git
cd monad-loop-network
pip install -r requirements.txt
pip install -e . # Install in development mode# Run all tests
python tests/test_mln.py
# Or use pytest
pytest tests/
# With coverage
pytest --cov=src tests/- Follow PEP 8
- Use type hints where appropriate
- Write docstrings for public methods
- Keep functions focused and composable
def example_function(param: str) -> Dict:
"""
Brief description.
Parameters:
- param (str): Description
Returns:
- Dict: Description
"""
passUse clear, descriptive commit messages:
Add analogical reasoning engine
Implements structural isomorphism matching between source and target
domains, enabling cross-domain inference.
Relates to issue #42
- Improve relation inference: Better algorithms for pre-established harmony
- Optimize graph traversal: Faster inference chain discovery
- Add inference rules: New Chomsky-style transformations
- Analogical reasoning: Hofstadter's Fluid Concepts approach
- Abductive learning: Form new concepts from examples
- Consciousness metrics: Measure strange loop complexity
- LLM integration: Combine with GPT/Claude for perception
- Knowledge import: Load from existing ontologies (DBpedia, ConceptNet)
- Visualization: Graph visualization tools
- Tutorials: Step-by-step guides for specific use cases
- Philosophical deep-dives: Explore connections to other thinkers
- API examples: More usage patterns
- Unit tests: Test individual components
- Integration tests: Test end-to-end scenarios
- Property-based tests: Test invariants with hypothesis
- Fork the repository
- Create a branch:
git checkout -b feature/your-feature-name - Make changes: Write code and tests
- Test locally: Ensure all tests pass
- Commit: Use clear commit messages
- Push:
git push origin feature/your-feature-name - Open PR: Describe your changes and motivation
- Tests added/updated
- Documentation updated
- Code follows style guidelines
- All tests pass
- No merge conflicts
- Philosophical alignment with MLN principles
Expect feedback on:
- Correctness: Does it work as intended?
- Philosophy: Does it align with MLN's principles?
- Clarity: Is the code understandable?
- Testing: Are there adequate tests?
Interesting open problems:
Current O(n) complexity for adding concepts. Can we:
- Use approximate structural similarity?
- Lazy relation establishment?
- Distributed knowledge graphs?
How can systems learn deep structures from examples?
- Inverse transformations (surface → deep)
- Structural abstraction
- Concept composition
How do we measure "consciousness" or "understanding"?
- Strange loop depth
- Integration (IIT's Φ)
- Causal density
What's the optimal LLM + symbolic integration?
- LLM for perception, symbolic for reasoning?
- Bidirectional information flow?
- Meta-learning for architecture selection?
Join the conversation:
- Issues: Philosophical questions, feature requests
- Discussions: Deeper explorations of theoretical foundations
- PRs: Code review and collaboration
Be respectful and constructive:
- Focus on ideas, not people
- Welcome diverse perspectives
- Assume good faith
- Help newcomers
Contributors will be acknowledged in:
- README.md
- Release notes
- Research papers (if applicable)
By contributing, you agree that your contributions will be licensed under the MIT License.
Open an issue or start a discussion. We're here to explore these ideas together!
"The best way to have a good idea is to have lots of ideas." — Linus Pauling