Skip to content

7-Logical-Agents #65

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

Closed
redblobgames opened this issue Mar 20, 2017 · 8 comments
Closed

7-Logical-Agents #65

redblobgames opened this issue Mar 20, 2017 · 8 comments
Labels
chapter discussion (Archived) Discussion of the design of a chapter

Comments

@redblobgames
Copy link
Contributor

Visualizations and code for chapter 7

@chihsienyen
Copy link
Contributor

My initial thoughts for chapter 7:

Interactive Wumpus World

  • This is the first and straightforward example in the book. My first step will be creating an interactive wumpus world game.
  • Main interactivity features:
    • game mode (default) and god mode:
      Game mode: The actual positions of wumpus and pits are hidden to the players. In this way students can first understand the game and form their own game strategy, which can later be compared with an AI agent.
      God mode: The positions are shown. Used to understand how an AI agent make decisions
    • manual mode (default) and AI mode:
      Manual: agent is controlled by user. AI: controlled by AI. The two can be enabled at the same time to compare performance side by side.
    • interactive knowledge base board: On the side of the game diagram is a KB board, which can be updated automatically by an AI agent, or be manually updated by a user.
  • More advanced feature:
    • these features are considered if time permits. Otherwise, next visualizations will have higher priority.
    • customizable game: users can pick the locations of wumpus and pits and see how AI agents will do.
    • customizable reward system: users can change how much points a player will receive or lose in each condition. For example, a lower penalty for death and higher costs for taking actions should result in a more risky strategy to earn higher reward in the long run. Users may find a setting to outperform an AI agent which does not consider rewards when playing.

Satisfiability Game

  • Designed to help readers understand the logic and algorithm in the later part of chapter 7
  • Main idea: give player a formula and ask whether it is satisfiable/valid/unsatisfiable/invalid. Players can control the true or false for each literal and the interface will visualize whether the formula is derived to be true or false. The game will give question one by one and increase the level of difficulty. Players could then adopt try and error strategy to learn the general concept of the related AI algorithms.
  • related AI algorithms will be implemented and be visualized step-by-step to let readers fully understand them.

Above are my rough ideas. The plan is open to any change!

@redblobgames
Copy link
Contributor Author

@ha531102 looks like a great plan! If you implement one or two visualizations it would give you a way to estimate how much can be done over the summer.

@Ghost---Shadow
Copy link
Contributor

Spoiler alert, very... long... time...
Infact the visualization always takes a few magnitudes longer than the algorithm itself.

@Rishav159
Copy link
Contributor

Rishav159 commented Mar 23, 2017

@Ghost---Shadow Totally agreed... When i started working, I believed it will not take that much time, but as it turns out, there are lot of things to consider while making the visualization like

  • Is the visualization actually required
  • What kind of concepts does this visualization aims to explain
  • How do the actual algorithms integrate with the visualization
    etc

@chihsienyen
Copy link
Contributor

chihsienyen commented Mar 25, 2017

Thanks guys! I will bear that in mind and definitely implement one before making the plan for summer. For now I have two questions:

Is it possible for us to get a pdf copy for chapter 8, 9, and 10 (Part III)?
I got a pdf copy of chapter 7 from aima site, but others are not available. Because these chapters are closely related, I think it's good to have a big picture when designing the visualizations to make it extensible. I'm fine to go purchase one but just want to ask around first.

What is the overall progress expectation for this whole visualization project?
Given the kind warnings I got, it may be very difficult to cover multiple chapters during a summer. But I'm curious what is the expectation in terms of the chapter coverage progress and visualization complexity for the whole project? There is always a trade-off in a limited time: either make simpler visualizations for as many chapters as we can or make fascinating ones for just a few chapters. I wonder what is the overall expectation. When will this project expected to be done (cover all chapters)? The priority between visualization complexity and chapter coverage? How many chapters should a person target for a summer?

Thanks!

ps. I got a paper deadline on Mar. 31. Sorry that I might not be able to code before that. But I can start working afterward and there is fortunately no paper deadline during summer!

@redblobgames
Copy link
Contributor Author

@ha531102 I don't know of a pdf copy; I have been looking at the print textbook as a guide.

I agree, there is a tradeoff between trying to get more chapters or trying to make really good visualizations for a few chapters. We should aim for something in between (80/20 rule). It is not realistic to expect all chapters to have good visualizations in one summer. The chapters also are highly variable in size, and we may not have all the ideas for visualizations until you've started working on them. For a proposal, pick several chapters (maybe 3) that you think would benefit most from visual explanations of concepts/algorithms, and also pick several chapters (maybe another 2-4) that you think you might work on if there's more time.

@darius
Copy link

darius commented May 1, 2017

@chihsienyen Hi there -- about your idea for a SAT game, here's a version of that in Python which I wrote some time ago: https://github.com/darius/sturm/blob/master/satgame.py

It runs in a terminal, not as a webpage, but it might be useful as an example to think about when designing the web version.

@darius
Copy link

darius commented May 1, 2017

(I'm wandering in from aima-python to see what work there is to do here.)

@redblobgames redblobgames added the chapter discussion (Archived) Discussion of the design of a chapter label Sep 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chapter discussion (Archived) Discussion of the design of a chapter
Projects
None yet
Development

No branches or pull requests

5 participants