This repository is the official Python implementation of the algorithms from the textbook *Artificial Intelligence: A Modern Approach* (AIMA) by Russell and Norvig. It is primarily an educational library, providing clean, well-documented reference implementations of classic AI algorithms. The code is organized as a monolithic Python package (`aima/`) with modules corresponding to major AI subfields (search, logic, probability, learning, NLP, planning, agents, etc.), complemented by an extensive set of Jupyter notebooks that serve as interactive tutorials and a JupyterLite deployment for browser-based execution. The architecture emphasizes clarity and adherence to textbook pseudocode over production performance. The library demonstrates high craftsmanship in its core abstractions. The `Problem`/`Node` search framework, the `Expr` symbolic logic engine, the `BayesNet` probabilistic inference system, and the `CSP` constraint satisfaction framework are all well-isolated, reusable components that could be extracted for other projects. The code is extensively tested with pytest and actively maintained, with a very low open issue count relative to its popularity. While the core library is robust and written in pure Python with minimal dependencies, some modules (particularly `deep_learning.py` and `perception.py`) rely on heavy external libraries like TensorFlow/Keras and OpenCV, which have experienced significant API drift over time. The educational focus means the code prioritizes readability and algorithmic correctness over scalability or performance optimization. Overall, it is an invaluable resource for learning AI and a solid foundation for building educational tools and demonstrations.
The OpenCog AtomSpace is a hypergraph-based knowledge representation system serving as the core component for Artificial General Intelligence (AGI) research. It provides an in-memory database for storing immutable, uniquely-typed atoms (nodes and links) with mutable key-value stores attached for dynamic data. The system supports executable graphs through the Atomese language, features a sophisticated pattern matching and query engine, includes type inheritance and intersection capabilities, and offers multi-language bindings (Scheme, Python). Architecture-wise, it follows a modular design with clear separation between atom management, value systems, execution frameworks, and query processing. The codebase demonstrates strong engineering practices with factory patterns, handle-based memory management, and thread-safe frame stacks for evaluation contexts.
BFO-2020 is the official release repository for the Basic Formal Ontology (BFO) 2020, an upper-level ontology for representing entities, continuants, occurrents, processes, and other fundamental categories. The repository contains OWL, Common Logic, and other serializations of the core ontology, plus temporal and atemporal profiles. It is not a software application; it is a knowledge-representation artifact with a software-engineering-style build pipeline. The Makefile drives ROBOT-based reasoning, SPARQL quality checks, and multi-format export, and GitHub Actions runs these checks on every push. This gives the repo a hybrid character: the primary content is formal ontology data, but it is maintained with application-grade CI/CD practices.