Raymond Hettinger - Modern solvers: Problems well-defined are problems solved - PyCon 2019
Speaker: Raymond Hettinger Every programmer should learn to use solvers, tools that reason directly from a description of a problem to its solution. Tools like AlphaZero can formulate winning strategies for games given only a description of the rules of the game. For certain classes of problems, we really can just let the computer do the work. In this talk, we learn principles, techniques, and multiple examples for three solvers available in Python. The first tool is a generic puzzle-solving framework that employs tree search strategies. We apply it to a simple sequencing problem and then to a harder sliding-block puzzle. Next, we'll look at the solver code to learn how it works. I'll also show an essential optimization technique and how to humanize the output. We demonstrate our skills by solving another famous puzzle. The second tool is called a SAT solver. It is one of the miracles of the 21st century. From first principles, I'll show you what problems it solves and the way problems need to be described for modules like *PycoSAT*. I'll provide helper functions to humanize our interactions with this great tool. Then, we'll demonstrate our skills by creating a Sudoku solver and a readable logic problem solver. The third tool is the ""multi-armed bandit"". It is a generic reinforcement learning algorithm that is easy to learn, powerful, and applicable to a broad class of problems. We apply it to winning rock-paper-scissors using pattern recognition. Lastly, I'll summarize DeepMind's paper on AlphaZero which was published in the December 2018 edition of *Science*. This gives us hints at the full potential of these techniques. Pure Python source code and examples are provided for all of the tools. Slides can be found at: https://rhettinger.github.io

Keynote - Preventing, Finding, and Fixing Bugs On a Time Budget | Raymond Hettinger @ PyBay2018

A Peek Inside SAT Solvers - Jon Smock
![The Mental Game of Python - Raymond Hettinger [synced version]](https://i.ytimg.com/vi/Uwuv05aZ6ug/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDcq8dDJA3MnXqAcbpJiZIA-qtg0Q)
The Mental Game of Python - Raymond Hettinger [synced version]

Ranking Systems: Elo, TrueSkill and Your Own

Anthony Shaw - Wily Python: Writing simpler and more maintainable Python - PyCon 2019

Structural Pattern Matching in the Real World - Raymond Hettinger

The 5-Step DP Formula That Solves Any Problem !

Pro tips for writing great unit tests - Raymond Hettinger

Reuven M. Lerner - Practical decorators - PyCon 2019

Raymond Hettinger, "Being a Core Developer in Python", PyBay2016

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

Elana Hashman - The Black Magic of Python Wheels - PyCon 2019

Frankreich – England Highlights | Spiel um Platz 3, FIFA WM 2026 | sportstudio

Raymond Hettinger: Numerical Marvels Inside Python - Keynote | PyData Tel Aviv 2022

How To Think SO Clearly People Assume You're Brilliant

Raymond Hettinger - Dataclasses: The code generator to end all code generators - PyCon 2018

Modern Dictionaries by Raymond Hettinger

Thinking about Concurrency, Raymond Hettinger, Python core developer

Raymond Hettinger - Super considered super! - PyCon 2015

