-
Notifications
You must be signed in to change notification settings - Fork 4k
A modern approach. #1318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
A modern approach. #1318
Conversation
Co-authored-by: ewdlop <[email protected]>
Co-authored-by: ewdlop <[email protected]>
Add Proof class for representing formal logical proofs
Co-authored-by: ewdlop <[email protected]>
Co-authored-by: ewdlop <[email protected]>
[WIP] Rename book and add a figure
Co-authored-by: ewdlop <[email protected]>
Add robotics_map example for Monte Carlo Localization (Figure 25)
Co-authored-by: ewdlop <[email protected]>
[WIP] Add AI figures to project
[GitHub Copilot: ]Added the aima-pseudocode repository as a submodule in .gitmodules and initialized it in the project. This allows access to pseudocode resources from the aimacode organization.
…d algorithms for [an future]~the 4th~ edition; mark subproject as dirty["]
…d mark subproject as dirty["].
[Cursor states: "]Update README.md to include additional algorithms and their corresponding functions in logic and proof theory sections."
…nd type theory pioneers, including significant contributions and their implications. Mark subproject as dirty."
Cursor and I renamed app.py to main.py and updated imports to reflect this change. Improved Dockerfile to use Python 3.10, added requirements_docker.txt for container dependencies, and readjusted entrypoint to use main.py. Updated aima import logic in services, removed requirements.txt, and added AI-generated content disclaimer to README files. Minor improvements to deploy script ignore patterns.
Added a new column for 'Nature Language' in the algorithms table.
…table-to-include-'Nature-Language'-column Update algorithms table to include 'Nature Language' column
Fix table formatting in README.md
Update descriptions for RNN and LSTM in README
Update table headers in README.md
Fix typo in 'Status' column heading
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adopts a modern approach to the AIMA-Python codebase by introducing comprehensive matplotlib testing infrastructure, extensive documentation in Traditional Chinese, and foundational work for future algorithm implementations. The changes focus on improving testability, expanding documentation coverage, and preparing the repository for modern AI algorithms.
Key Changes:
- Implemented a complete matplotlib mocking system with 5 fixtures for headless testing
- Added extensive Traditional Chinese documentation covering AI history, pioneers, and the Curry-Howard correspondence
- Extracted and refactored the Monte Carlo Localization map into a reusable module-level constant
- Created new testing infrastructure with 30+ test cases across multiple files
Reviewed changes
Copilot reviewed 41 out of 43 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/conftest.py | New pytest configuration with matplotlib mocking fixtures |
| tests/test_mock_figures.py | Basic test examples demonstrating fixture usage |
| tests/test_notebook_plotting.py | Integration tests for plotting functions |
| tests/test_logic.py | Added Proof class tests |
| probability.py | Extracted robotics_map as module constant |
| logic.py | Added Proof class for representing logical proofs |
| README.md | Added extensive Chinese documentation and algorithm tables |
| agents.ipynb | Added agent architecture documentation section |
| docs/*.md | Multiple new documentation files in Chinese |
| mcp_fastapi/* | New FastAPI/Gradio application structure |
Comments suppressed due to low confidence (5)
tests/test_probability.py:1
- The test now references a module-level constant
robotics_mapbut doesn't verify that the constant is correctly defined or has the expected structure. Consider adding an assertion to validate the map's dimensions and structure before using it in the test.
mcp_fastapi/app/ui.py:1 - The broad exception handler catches all exceptions which can mask programming errors. Consider catching more specific exception types (e.g., ValidationError, ValueError) and allowing unexpected exceptions to propagate for proper error reporting.
mcp_fastapi/scripts/deploy_space.py:1 - The exception handling uses a magic comment 'noqa: BLE001' without explanation. Consider catching the specific HfHubHTTPError or adding a comment explaining why a broad exception is necessary here.
tests/test_logic.py:1 - The test function name 'test_proof' is generic. Consider a more descriptive name like 'test_proof_class_basic_functionality' or 'test_proof_completion_detection' to better indicate what aspect is being tested.
docs/ALGORITHMS_NEXT_EDITION.md:1 - Names should maintain consistency. '根岑' (Gentzen) and '邱奇' (Church) appear to be Chinese translations but earlier in the document they are written as '格哈德·根岑' and '阿隆佐·邱奇' respectively. Use consistent naming throughout.
# 🚀 Index of Algorithms for AIMA n-th Edition (Future)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| summary="檢視 Hugging Face 設定狀態。", | ||
| ) | ||
| async def get_hf_config(settings: Settings = Depends(get_settings)) -> dict[str, str | None]: | ||
| """Expose部分 Hugging Face 相關設定(不含密鑰)。""" |
Copilot
AI
Dec 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected text mixing: 'Expose部分' should be either fully Chinese '暴露部分' or fully English 'Expose partial'.
| """Expose部分 Hugging Face 相關設定(不含密鑰)。""" | |
| """暴露部分 Hugging Face 相關設定(不含密鑰)。""" |
| Representations and Inference for Logic. (Chapters 7-9, 12) | ||
| Covers both Propositional and First-Order Logic. First we have four | ||
| Covers both Propositional and First-Order Logic. First we have five |
Copilot
AI
Dec 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The docstring mentions 'five important data types' but then lists six items (KB, KB_Agent, Expr, substitution, Proof, and implicitly mentions more in line 13). Update the count or clarify which items are the 'important' ones.
| Covers both Propositional and First-Order Logic. First we have five | |
| Covers both Propositional and First-Order Logic. First we have several |
No description provided.