Skip to content

What's the policy on 3rd versus 4th edition? #1188

Closed

Description

@darius

The README says "This chart was made for the third edition of the book and is being updated for the upcoming fourth edition." Now the fourth edition is out; the files seem to come in pairs like agents.py, agents4e.py; and the README chart only points to third-edition files. There are differences between the files in each pair, though as I'm just starting I'm not sure yet how far the updates have gone.

Are the third-edition versions meant to be developed further, or should all new work go into the fourth? Are (any of) the fourth-edition versions up to date with the book, and if so shouldn't we update the README chart to point to them?

Activity

  1. norvig commented on Jun 9, 2020

    @norvig
    Member

    Hi Darius, great to bring this up.

    We've all been sidetracked with other things, and I'm focused on the AIMA exercises more than the code, but I will, later today, post all the pseudo-code algorithms here.

    The policy should be: We're not going to try to maintain two branches. All work should go into switching over to 4e.

    Another policy point: We should upgrade to 3.7. I'll open that as a separate issue.

    Thanks for spurring me into action, and for your continued support!

  2. dmeoli commented on Jun 27, 2026

    @dmeoli
    Member

    The policy is now documented (commit 09b3079), restating @norvig's decision above: the 4th edition is canonical, we don't maintain two parallel editions, and all new work targets 4e. Added an Edition policy section to the README and a matching note in CONTRIBUTING; the algorithm-chart note is updated too.

    Current reality, for transparency: 9 modules still come in X.py (3e-named, the primary tested/used base) + X4e.py (4e ports / 4e-specific algorithms) pairs, plus several 4e-only modules. The agreed next step is converging on a single version per module. That migration is large and will be done incrementally; keeping this issue open to track it.

  3. dmeoli commented on Jun 28, 2026

    @dmeoli
    Member

    Resolved: the project has converged on the 4th edition and there is now a single version per module — no *4e.py files remain. The 3e/4e pairs were merged (canonical implementation kept, genuinely-new 4e algorithms folded in, zero algorithm loss verified by an AST diff), the 4e-only modules were de-suffixed, and the standalone *4e.ipynb notebooks were unified into the base ones. Everything now lives in an importable aima package (from aima.search import ...), the README algorithm index points at the aima/ modules, and the docs/CONTRIBUTING reflect the 4e-only policy. Shipped in #1340 (plus follow-ups). So: all new work goes into the single 4e version. Closing — thanks for raising it; it shaped the whole convergence.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions