[[!meta title="A.I. that Helps Play the Game of Your Life - Andrew J. Dougherty"]]
- What if you collect thousands of A.I. tools and apply them towards
planning your life? That's exactly what FRDCSA has been working on
for the last twenty years. Only soon, you can download a VM
containing the core systems. In today's increasingly complex world,
sometimes we can be blindsided by rules we didn't know existed. If
you're living on the edge, this can be a disaster. What if all the
rules that applied to us, from legal, to financial, to just basic
common sense, were collected into a system that was capable of
reasoning with them and planning with them. You could put your
objectives into the system and it would factor in all these things
and spit out a plan. Well that's just one of the many things that
FRDCSA's Free Life Planner A.I. seeks to do.
- A.I. is problem-solving, and software that can do this has to grow
larger as problems and their complexity multiply. Over the last 20
years the FRDCSA project has collected thousands of codebases, and
written hundreds of codebases, gluing everything together and making
it available from within Emacs, Perl and Prolog. The Free Life
Planner, FLP, takes this and applies it directly towards assisting
users in their minute-to-minute, day-to-day, year-to-year lives.
- Think of a massive collection like V'ger had in Star Trek: The
Motion Picture, of things like strong game-playing systems like
AlphaZero, but tailored to the specific problems people most often
encounter with finances, meal-planning, transportation, health care,
etc.
- If you're interested in a personal A.I. assistant, stay tuned as we
cover the Free Life Planner. But it is after all only one of over
600 custom codebases developed for FRDCSA. Soon, Panoply, the
virtual machine distribution of FRDCSA, will be released for you to
explore. So, let's have a look at some of what FRDCSA can do for
you.
- FRDCSA wants to help you solve as many problems as it can, treating
the world as a game which it tries to win, by proofs that bad things
don't happen. We know that if a set of problems constitutes t bits
of information, and a set of programs contains less than t bits of
information, then it is impossible to solve these problem from these
programs. When it comes to AI, bigger is better. In 2002 this led
me to Emacs, Perl, Debian and Cyc, and a growing list of over
100,000 external codebases. In fact, FRDCSA excels at finding and
packaging software, and exposing APIs for reuse.
- Someone once asked me, what does FRDCSA do? I couldn't give them an
answer. I didn't know where to begin. There aren't any silver
bullets to demonstrate. So where does Emacs fit in? It is the
develop console, mission control, where most development and usage
occurs. There are dozens of modes, thousands of key-bound
functions. Let's look at some representative Emacs systems written
because we couldn't find anything with similar capabilities.
- This is UniLang, a multi-agent system facilitator, and a core FRDCSA
system. UniLang let's all the systems talk to each other. For the
Free Life Planner we want to spider the internet, to find, retrieve
and index rules and software, to apply them towards improving the
way we live on a daily basis. But to intelligently spider you need
to be able to understand the text. Because lots of useful
information on the internet is in text form, FRDCSA is heavily
focused on natural language understanding.
- This is NLU, it's a system based on semantically annotating text.
- Okay, so our spider is helping us to locate rules. But what about
software, we still need more software. New software is being
written all the time, how do we gather it? IES is an information
extraction system, it allows you to label text like software
metadata using text properties, and then train a model and use it to
label other text. This way we can extract information about
software systems we want to acquire and package.
- Okay great, we're getting more software, now what do we do? Let's
go back to rules for a minute. We have a lot of text, but how do we
translate it into a machine-readable format? That's where NLU-MF
comes in. Okay we have rules in a machine readable format, but how
do we know when they're applicable? We have to store the
world-state somehow. Enter FreeKBS2, our free knowledge-based
system, with persistent storage of rules and facts. It is a useful
Emacs front-end for rapidly manipulating symbolic rules and facts
and editing the knowledge-base.
- So now we have some refined executable rules. How do we reason with
these common sense rules? Enter the Cyc system, undoubtedly the
world's largest, most sophisticated, common sense A.I.. But Cyc is
proprietary. Well, thanks to Douglas Miles, the author of the free
(libre) LogicMOO system, that's not a problem anymore. LogicMOO
aims to be backward compatible with Cyc itself. Let's demonstrate
our cyc-mode-2, which aims to create a deep channel between Emacs
and LogicMOO.
- Today's software is fantastic, but there's not a lot in the way of
integrated approaches to planning one's life to improve the way we
live on a daily basis. The version of Free Life Planner on the
Panoply VM distribution currently does calendaring, recurrences,
reminders, planning, scheduling and execution. But the good news
is, we can make it a lot better. The potential for a rule-based
crowd-sourced life planner is tremendous.
- People finally started understanding better what FLP, and to some
extent, FRDCSA, does when I wrote the following use case story.
It's the homeless-story.html, I'll provide the link later. It's the
story of a person facing homelessness who uses FLP to escape
homelessness. I highly suggest you read it to familiarize yourself
with the FLP. Some people think it is science-fiction, but I assure
you this story is doable with the tools we've collected.
- Okay, where are we? We have a rule-based system, but our software
cannot do everything, no piece of software can. We have lists of
software that the spider and IES got us. Retrieving it is easy,
packaging it is hard. How do we package this software? Why not
record ourselves packaging software to add data to the A.I. so it
can learn how to make packages.
- So we have lots of data about how to package, but now the system has
to figure out how to make packages on its own. It needs to be able
to think and plan. What's more, once the software is packaged, FLP
has to figure out how to use that software. Enter the software
robot called Prolog-Agent. Prolog-Agent is an intelligent agent
under development that can control Emacs in order to achieve
objectives, and will eventually be able to make use of recorded
traces.
- So now we have all these rules and software, but wouldn't it be nice
if we could help teach the users some of the rules, and how to use
the software. That's what CLEAR does. CLEAR is a great way to have
books, manuals, websites, etc, read to you, allowing you to pause,
quit, resume and filter out nonsense.
- If you'd like to get a copy of Panoply when the public alpha is
hopefully released in a few months, please email me. I will add
your name to the mailinglist. But also, please join us at `#frdcsa`
and/or `#freelifeplanner` on freenode. I would like you to try out
the FRDCSA, familiarize yourself with it, and test it. Thank you so
much for listening. Have a great day.