Re89-NOTES.pdf
DEC 22, 2022
Description Community
About

(The below text version of the notes is for search purposes and convenience. See the PDF version for proper formatting such as bold, italics, etc., and graphics where applicable. Copyright: 2022 Retraice, Inc.)


Re89: The multimap Function, Part C
(Best-First-Search Part 8, AIMA4e pp. 73-74)

retraice.com

How multimap works.
Code and math vs. AI; Retraice code quality issues; Mappasses a modified linksto multimap; multimapcreates a defaultdict, a dictwith default values, from collections; multimapthen strips the values from the linksdictionary, and parses the keys, which should be pairs, into key-value pairs for the new dictionary of neighbors,
i.e. actions available at each state.

Air date: Wednesday, 21st Dec. 2022, 10:00 PM Eastern/US.

Various prefatory remarks

* Remember: We're skilling-up in code and math during the December to Remember Math and Code Event. Any lacking scrutiny of the AI aspects of the code we're working are merely a postponement to Jan.-Jun., 2023--almost here!
* Thanks to Alexandre Brown for the following during the Re88 livestream: "defaultdict is the same as dict but defaultdict inserts a default value instead of raising an exception when a key does not exist".
* Current Retraice code quality is low (e.g. violating style guidelines,^1 and not respecting the 80-character width wisdom^2). This will change.
* We've had a couple of livestream visual fails recently. Onward.

multimap creates a dictionary of actions
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

PIC
multimapstrips the values off of dictionary key-value pairs and then parses the key if it's a pair or throws an error.
The purpose is to return a dictionary of neighborsto Map, which represents the actions available at each state in our state space.
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Other sources consulted during this livestream:
* Russell & Norvig (2020);
* Retraice (2022/12/14);
* Retraice (2022/12/15);
* Retraice (2022/12/16);
* Retraice (2022/12/17);
* Retraice (2022/12/18);
* Retraice (2022/12/19);
* Retraice (2022/12/20);
* http://aima.cs.berkeley.edu/figures.pdf;
* https://github.com/aimacode/aima-python/blob/master/search4e.ipynb;
* https://github.com/retraice/ReAIMA4e/.

__

References

Retraice (2022/12/14). Re82: What is a problem? (BEST-FIRST-SEARCH Part 1, AIMA4e pp. 73-74). retraice.com.
https://www.retraice.com/segments/re82Retrieved 15th Dec. 2022.

Retraice (2022/12/15). Re83: A Problem Instantiated (BEST-FIRST-SEARCH Part 2, AIMA4e pp. 73-74). retraice.com.
https://www.retraice.com/segments/re83Retrieved 16th Dec. 2022.

Retraice (2022/12/16). Re84: A Node Instantiated (BEST-FIRST-SEARCH Part 3, AIMA4e pp. 73-74). retraice.com.
https://www.retraice.com/segments/re84Retrieved 17th Dec. 2022.

Retraice (2022/12/17). Re85: The Details (BEST-FIRST-SEARCH Part 4, AIMA4e pp. 73-74). retraice.com.
https://www.retraice.com/segments/re85Retrieved 18th Dec. 2022.

Retraice (2022/12/18). Re86: Code Reading (BEST-FIRST-SEARCH Part 5, AIMA4e pp. 73-74). retraice.com.
https://www.retraice.com/segments/re86Retrieved 19th Dec. 2022.

Retraice (2022/12/19). Re87: The multimap Function, Part A (BEST-FIRST-SEARCH Part 6, AIMA4e pp. 73-74). retraice.com.
https://www.retraice.com/segments/re87Retrieved 20th Dec. 2022.

Retraice (2022/12/20). Re88: The multimap Function, Part B (BEST-FIRST-SEARCH Part 7, AIMA4e pp. 73-74). retraice.com.
https://www.retraice.com/segments/re88Retrieved 21th Dec. 2022.

Russell, S., & Norvig, P. (2020). Artificial Intelligence: A Modern Approach. Pearson, 4th ed. ISBN: 978-0134610993. Searches:
https://www.amazon.com/s?k=978-0134610993
https://www.google.com/search?q=isbn+978-0134610993
https://lccn.loc.gov/2019047498

Footnotes

^1 https://google.github.io/styleguide/pyguide.html

^2 https://stackoverflow.com/a/578318/17875494 "Have mercy on the programmers who have to maintain your software later and stick to a limit of 80 characters. Reasons to prefer 80: Readable with a larger font on laptops; Leaves space for putting two versions side by side for comparison; Leaves space for navigation views in the IDE; Prints without arbitrarily breaking lines (also applies to email, web pages, ...); Limits the complexity in one line; Limits indentation which in turn limits complexity of methods / functions. Yes, it should be part of the coding standard." --starblue

 

Comments