Current minor codebases, sorted alphabetically
- Minor codebases are internal software we have written since writing the internal codebases. Several minor codebases are subsystems of internal codebases and have been developed separately for ease of development, but will probably be integrated eventually.
3d Model Library
A library of 3d models
The purpose of the 3d model library is to cache properly licensed
models for inclusion in other code and projects.
For example,
film-making, video game development, world simulation, words-eye,
all of these endeavors would benefit from such a repository.
There are obvious repos, such as the Google 3d Library.
This then
provides tools for converting such models to more open source
friendly formats, such as .blend.
3d Scene Reconstruction
Structure Reconstruction from video
There are many world sites that would be nice to visit, but which
many people may not have the means to do so.
Also, for historical
simulations and such, extracting models of the sites from freely
available video from the web would be nice.
Using freely
available tools, we are assembling such a toolchain.
3T-FRDCSA
Integration of 3T planner into FRDCSA
Right now integration is somewhat limited, although it allows us
to invoke the planner and try on a few different test domains.
3T
is an incredibly expressive and programmable planner,
unfortunately so much so that we've had trouble understanding it
and how to use it.
A/B Testing
Extend Mojolicious/Catalyst w/ testing better variants of content
Add support to Mojolicious and Catalyst for this:
"A/B testing (also known as bucket testing or split-run testing) is
a user experience research methodology.[1] A/B tests consist of a
randomized experiment with two variants, A and B.[2][3] It
includes application of statistical hypothesis testing or
"two-sample hypothesis testing" as used in the field of
statistics.
A/B testing is a way to compare two versions of a
single variable, typically by testing a subject's response to
variant A against variant B, and determining which of the two
variants is more effective.[4]" -
https://en.wikipedia.org/wiki/A/B_testing
Abstract City Resource Collector
Tool to spider the internet for services available in a given location
Academician
Tool for scholarly pursuits
This tool provides a set of helper functionality for conducting
research, such as correctly parsing citations in documents.
One
could think of it as being related to researchindex.com, Google
Scholar, and other systems that deal with the world of academic
resources.
AceWiki Extensions
Similar to EOLAS / ReasonBase, but uses AceWiki instead of MediaWiki
ACL-FRDCSA
Integration between Attempto Common Lisp and FRDCSA
ACL comes with a rather featureful emacs Lisp interface, which we
intend to emulate here.
Action Extraction
Generates action semantics for the world from experimentation and text
A world's action semantics consists of the actions and their
preconditions and effects.
There have been several attempts to
extract these automatically from text.
Some of these are
available for download.
But in order to use tools like
suppose-suppose (which searches all moves ahead to a given depth
to avoid blunders), we require the action extraction capability.
Action-Planner
Practical Reasoning System
Precursor to the Free Life planner, implements most of what is
mentioned here:
https://frdcsa.org/~andrewdo/WebWiki/FreeLifePlanningCoachSoftware.html
Action-System
This has been superceded by the execution-engine.
Please
incorporate the materials from here into that.
Adulting System
Helps with the (sometimes mundane but) necessary tasks of a responsible adult
What are most pressing executive functionality we are lacking?
This system is related to many other executive skills systems in
the FRDCSA, and is basically a container for some of them.
Advanced TTYPlay
Plays back terminal recordings, but with more control
This can pause, fast-forward, do meaningful jumps to things like
the next terminal output, rewind, etc. search!
Affordance Interface
Quickly list affordances (uses) of a particular object or type
This is an emacs interface which queries the KNext parse of the
British National corpus in order to quickly list actions, facts,
etc that can apply to that particular object or type.
For
instance, when querying the type "car", here are some
representative examples of the kinds of items returned:
does-approach does-arrive does-belong-to-someone does-break_down
does-come-to-a-halt does-crash does-drive_off does-move
does-pull_up does-run does-slow does-start does-stop
does-undergo-a-delivery does-undergo-a-purchase
does-undergo-a-theft does-undergo-a-use does-wait has-a-back
has-a-boot has-a-door has-a-driver has-a-floor has-a-front
has-a-length has-a-rear has-a-roof has-a-seat has-a-side
has-a-sound has-a-top has-a-value has-a-wheel has-a-window
has-a-windscreen has-a-wreckage has-an-end has-an-engine
has-an-interior has-an-owner has-control has-headlights has-wheels
is-armoured is-beautiful is-black is-broken-down is-clamped
is-competitive is-damaged is-dark is-driven is-found is-heavy
is-hired is-in-a-country is-in-a-garage is-in-a-road is-in-an-area
is-in-front is-in-the-world is-nice is-on-a-road is-on-fire
is-oncoming is-open is-parked is-powerful is-red is-secondhand
is-seen is-serviced is-stolen is-stopped is-unmarked is-white
is-yellow
AFS-FRDCSA
Tools to access the Andrew File System (AFS)
The Andrew File system is a complex filesystem used by many
academic institutions such as CMU, and has support in Debian.
This tool help us to locate interesting resources on the AFS, and
manage some of the peculiarities of the fs.
Agent
Multi-agent systems, tools and resources
This system attempts to integrate various information on
intelligent agents, particularly those created by unifying various
modal logics, such as doxastic, deontic, alethic and so on.
There
is also a situation library to develop and test agent responses to
tightly controlled repeatable scenarios.
Agent Attempts
A collection of attempted intelligent agents
This tool houses a variety of prototypical intelligent agents we
have developed used in various other FRDCSA projects, including
parts used by BDI agents, vger, prolog-agent, and FLP agents.
Agent Smith
FRDCSA self-replication
Agent Smith replicates the FRDCSA from a given existing instance
of the FRDCSA.
The user provides agent Smith with a configuration
file containing credentials to log onto a remote system, then an
intelligent agent with remote execution begins installing FRDCSA
on the remote system.
Right now, it assumes the target system is
a vanilla version of the same Debian version as the source system,
however, when the agent oriented aspects are further developed, it
should be able to handle a wider range of target systems.
We are
experimenting with different agent oriented programming
technologies until we find one that works.
There is partial
support for SRI's SPARK platform, but ideally prolog-agent would
be used.
AIGame
A game engine that integrates a Prolog reasoner
We wanted to develop an A.I. testbed to prototype different
agents, all the while using a game engine for the environment.
The idea was to build a variety of games using this engine.
The
key aspect is integration of SWI Prolog with a C++ game engine.
There are various limitations to differing integration approaches,
especially limitations on how to have players / users install the
"game", that have limited our progress.
It remains an interesting
/ tantalizing possibility.
AINTrans
Free/libre Emacs-based Machine Translation system
AIsperger
An AI cognitive agent designed to exhibit symptoms of ASD
The book "Computational Autism" details some experiments in
programming intelligent agents that have similar cognitive
patterns to people with Autism Spectrum Disorder.
AIsperger is
our attempt at doing the same.
Alexa Integration
A working interface between Alexa and FLP
Allows voice control of FLP from alexa, as well as push
notifications from FLP using alexa's voice.
Algernon
I used to know what this system did, but I no longer remember
AM-FRDCSA
Interface from FRDCSA to all things AM (as in Lenat's AM program)
Integrates FRDCSA to am-utexas Prolog reimplementation.
Also
links to AM documentation.
Will contain all of our programming
interfaces to AM eventually.
Analysis Engine
System to analyze our planning options
This system takes an adversarial planning approach to resolving
real-world problems based on modeling of cause and effect
relationships.
So it is useful when one has to choose the lesser
of two evils, a situation that frequently occurs to the poor, etc.
Analytic Environment
Counterpropaganda tool
A recent request for grant proposals targeted systems that could
mitigate the effects of "fake news."
So we submitted a proposal
for the FRDCSA Project designed to address this - "This project
leverages 20 years of artificial intelligence research towards
providing readers with at least 25 counter-propaganda analysis
tools, including logical fallacy detectors, evidential reasoners,
shared knowledge bases, text to logic pipelines, text paraphrasing
and rewriting tools, news analysis repositories, fact extracting
and checking, and a peer review capability."
Android FRDCSA Client
Make Android accessible from FRDCSA
Currently just consists of a script to pull SMS messages.
Outdated.
Anomaly Detection
An anomaly detection system
Related to the "nonrandom" project.
Intended to learn
expectations of various events via
https://en.wikipedia.org/wiki/Bayesian_inference , and then to
determine when anomalous events occur.
But, more precisely, will
emulate other anomaly detection systems.
Has many use cases, such
as home security, fraud detection, etc.
Ansible
one-time pad generator and encrypted n-way communicator
AOP-SWIPL
Automatically extracts PLT tests from executing SWIPL programs
This system uses some goal expansion code written by dmiles in
order to extract Prolog calls, and then memoize the results, into
PLT test files.
The idea is you run the program you want to build
tests for (in order to help determine regressions, or recognize
improvements) and the test cases are written out.
Works well
enough for now for simple programs, but has some loading issues
for instance when run on FLP or logicmoo.
API Learner
Learning coding libraries through operator learning and representation
The goal here is to use iaec / sayer / suppositional-decomposer /
entity-typing / etc to automatically infer argument types and
other constraints automatically for APIs, as well as the
relationship between the inputs and the outputs of the api.
API Manager
Central dispatch w/ caching to different Web APIs
This is primarily used right now with Free Life planner's world
model mashups.
We need the ability to query services and to
understand what to expect from them.
It is related to api-learner
but is not based on induction.
APT
Cleans text input
Consider a specific string as input.
APT works by allowing the
user to define a number of text processing functions that accept a
string and return a possibly modified string.
APT will loop,
"firing" applicable functions until either no more modifications
occur (idempotency), or a timeout occurs (this inherently avoids
some of the problems with the bad worse case running of certain
regular expressions we experienced on certain corpora).
The user
specifies a dependency chart of functions and applicable functions
are those which have their dependencies met.
Archives Manager
Survivability and continuity plans for personal research
With projects such as FRDCSA and picform, there are concerns that
should their primary authors die, the work would go abandoned,
undisemminated, etc. Archives manager therefore allows the
backing up of research to your friends computing environments,
along with plans for dealing with the death of the primary author.
Argument System
Abstract argumentation / argument mapping framework
A hub of argumentation research.
Various Prolog implementations
of Abstract Argumentation Frameworks, various argument mapping
software systems and notations.
A prolog database of various
common arguments in relation to FRDCSA and politics.
Systems for
generating persuasive argumentation.
ArXiv Spider
Spiders ArXiv.org
This tool is probably redundant since they've made their repo
available now.
Anyway, when the FRDCSA first started I spidered
most of researchindex, and looked for a way to find-or-create the
various tools mentioned in the papers.
That is the role of
system-implementor / iaec now - to take a paper, and try to
reimplement the software mentioned in the paper
semi-automatically.
Assumption Junction
System to track assumptions and consequences, as moves in a dialog game
A project tries to map out beliefs as moves from an initial blank
slate, and a belief in the initial blank slate is of course a
first move?
Atreides
A system that does world knowledge enrichment + ML to predict
market behavior
Audience Message Handler
Communicates between audience and the user
Ideas have been taken from the book "Take Back Your Life: Getting
and Staying Organized with Microsoft Outlook".
We have
implemented their model of dealing with messages, notifications
and interruptions.
This system handles that implementation and
also the task of alerting the user to important information
contained in messages.
As such it is highly interrelated to the
email priority classifier and the rest of the audience system.
Auto-Builder
Automatically configure and build software
This program builds software, using make, finds the appropriate
libraries, etc. loads them and then installs.
Auto-CYC-Wrapper
Create CYC bindings for as many programs as possible
Systems like KM, daydreamer, etc. This hub-spoke architecture
would be a way to "information fusion", if I'm using that term
correctly.
I really think ai is the result of an information
theoretic sufficiency condition.
I'm looking through all the
wonderful programs I've collected over the years, trying to think
what more to do with them then package them.
Auto-Builder
Automatically configure and build software
This program builds software, using make, finds the appropriate
libraries, etc. loads them and then installs.
Auto-Packager
Data driven system to learn how to make packages
Auto-packager takes existing Debian packages and their orig.tar.gz
files and uses this information to construct a set of rules for
packaging software.
Auto-Paperwork
Form-filler and automated workflow for scanned paperwork
Does Speech Act Classification on each senttence to determine the
kind of information being asked.
Uses a KB of personal
information to form fill.
A WIP.
Automated Legacy Testing
Bring legacy Perl systems under test automatically
Uses system::Table to identify dynamic module and function
dependencies, and then wraps most functions with sayer using
Hook::PrePostCall to memoize function inputs and ouputs (in the
same way as aop-swipl does) to then generate test cases.
Backup Manager
Assists with FRDCSA project backups
Similar to data-manager.
Bash Alias Generator
Read bash history for patterns, proposes aliases
Speeds up CLI usage through creating aliases for common tasks.
Behavior Trees
Prolog-based Behavior Tree system that integrates with FLP/LOGICMOO
Before plan-monitor was written, we created this system based on
Simularity's SimGen BT system, as described here:
https://frdcsa.org/~andrewdo/writings/behavior-tree-task-manager-for-covid-19.pdf
Ran into some showstopping issues, before switching tack to
plan-monitor.
Yet infrastructure remains should for instance
logicmoo's Episodic Memory planner be finished, for Prolog-based
BT integration, and more, since Episodic Memory planner goes
beyond mere BTs.
Better Locate
A faster implementation of locate
When making multiple calls to locate, it may take a while.
Here
we take an index based approach using Namazu for now as opposed to
grepping through large files.
Our approach has issues that need
to be resolved, hopefully by studying exactly how to formulate
searches with Namazu.
Bill Tracking System
Manage bill payment
This is really too specialized of a domain for a minor codebase.
However, it will be nice to have the resources organized locally.
We are nearing completion of the most straightforward
implementation of planning and scheduling using ai planners,
SPSE2, and so on.
However, advanced features, such as approximate
lengths of time for task completion, replanning, etc, are not
implemented.
Nevertheless, it will be useful to plot out the
basic structure of bill due dates and amounts and feed that to the
planner.
When combined with contract work, it will make it easier
to plan out work and to make ends meet.
Also, it will work with
the analysis-engine to reason with problems of insolvency.
Biometrics
A collection of floss biometric software
Various biometric algorithms can be useful for security and, when
used in the correct context, privacy (ironically).
So we are
collecting open source implementations.
BlackArch FRDCSA
Blackarch - as a situated remote environment controlled by Prolog-Agent
BlackArch Linux is a pentesting distribution, that contains a vast
quantity of computer security tools.
As FRDCSA is focused on
collecting tools that perform tasks, BlackArch is an interesting
use-case.
Given the complexity and differing levels of
documentation for BlackArch tools, it makes sense as a domain for
prolog-agent to experiment in and learn from.
Ideally,
prolog-agent could semi-automatically learn to harness some of the
more prominent BlackArch tools.
BLeaf
An Android app pushed to market in 2011 for boycott management
Helps the user to select products whose businesses are believed to
act in accordance with the user's principles.
It integrates with some Perl software called "elle Ethical
Consumer", which is responsible for helping to generate boycott
lists.
Written by Skyy Siejko, Samuel Coddington, Kevin Davidson, Andrew
Dougherty.
I am releasing this per the agreement with elle Inc., and have
also released the elle Ethical Consumer, in the hopes that some
other android developers will take it and improve on it so that it
will help people to vote with their dollars.
It is being superseded by Koo's Koordinator web-based project, as
well as boycott-manager.
I really want there to be a crypto aspect where signatures are
verified from trusted sources.
Future versions might benefit from
a (defeasible?)
theorem prover for reasoning about who the user
ought to buy from based on the knowledge available to them.
Bluetooth Support
Early Bluetooth tools
Bluetooth support in Debian used to be less reliable, and
therefore these scripts helped me to keep it working.
Bluetooth Tools
Resources for effective use of Bluetooth under Linux
Bluetooth support was initially not very good for Linux, this
package included instructions for making use of Bluetooth devices
properly.
Bookmark-Clustering
Organizes your bookmarks into categories
Performs text clustering in order to arrive at a bookmark
solution.
Bookmark-Clustering (Old)
Organizes your bookmarks into categories
Performs text clustering in order to arrive at a bookmark
solution.
Boycott Manager
Cryptographic and semantic infrastructure for issuing boycott proclamations
Brainstorm
Distributed human teams for question answering
An automatic brainstorming [agent] that distributes a question
you ask to multiple people and aggregates the results and uses
other people to check them...
[gutenphrack (Jan 2004)]
The obvious question is in which way does this differ from
things like forums, issue-trackers, bug-trackers, FAQs, etc. I
would imagine it would work more like a messaging service,
perhaps on an agent architecture, and would have a formal syntax
like KQML or Prolog, and be designed to get answers as quickly
as possible from a knowledge based system that automatically
handled minor requests and failed to contacting people with
matching abilities listed in their capabilities, and then sought
verification, and defaulted from there on.
Thus it depends a
great deal on formal modelling of users in many disparate
contexts and hence abstractly on a number of other packages.
The most obvious implementations to me would be OAA, Electric
Elves, and/or Retsina agents.
Broker Buy/Sell System
Manages acquisition of required and sale of unnecessary items
Looks at the Shared Priority system Editor, the inventory manager,
the Budget system and the shopping list to determine what items to
sell and what to keep.
Handles the actual act of researching and
possibly negotiating purchase and sale with various sites.
Budget System
Performs personal/business finance management
Takes into consideration ones goals and especially the financial
consequences of purchases.
Determines what you can afford.
ByteLibrary
A curated collection of software and datasets
An effort around 2015 for building a business for collecting and
distributing scientific programs and datasets.
Since integrated
into FLP.
Able to crowdsource and moderate project and metasite
URLs.
Screenshots:
https://frdcsa.org/~andrewdo/projects/bytelibrary-screenshots/
CALCULEMUS-FRDCSA
Continuation of abstracted CALCULEMUS goals in FRDCSA
CALCULEMUS was an earlier Mathematical Knowledge Management
project, that intended to formalize mathematical knowledge into a
universal database.
This is an effort to gather information about
the CALCULEMUS project, and see how it ties into the frd project,
and use it as a basis for continued development.
This is similar
to the qed-project-frdcsa.
Car Maintenance
Decision support system for car maintenance
This project is subsumed by other FLP projects, but originally had
its own directory.
It tracks/logs problems with a users
automobiles, as well as adds the recommended maintenance Schedule
of the vehicle to FLP's calendaring system.
Integration also
planned with ODBII sensors for FLP to automatically track vehicle
condition.
Generally relates to car computer systems, as well as
our vanguard vehicular intelligence platform.
Cash Tracker
Another FRDCSA budgeting / cash management tool
Cause-Effect
A system to establish cause effect relationships and plan with them
There are some programs that are available to plan with causal
relationships.
So we are trying to amass a collection of causal
relationships, such as static causal laws, and other such
relationships, and then try to plan with them, perhaps in a
capacity similar to AlphaZero or MCTS.
CCPP
Does the same as CCP (convert copy) but for Perl
CFO
Extends CSO, acts like Master Control Program - indexes other programs
This system uses a frame-based slot system to track different
metadata about computer functions.
It statically (and sometimes
dynamically) analyzes programs and extracts out this information.
It is similar to Eurisko in this regard.
It is a knowledge base
about functions, vaguely consonant to the Master Control Program
from the first Tron movie.
CHAP
Performs traditional (human-like) chess analysis
This system performs human-like chess analysis.
It reasons about
position and displays the strengths and weaknesses, etc. It
differs from usual computer chess in that it employs positional
theorem proving and language based reasoning, as opposed to pure
minimax type model-checking, which is deemed too simplistic.
CHAP2
Extends CHAP with updated Formalog architecture
CHAP is a program for positional theorem proving in chess.
It
uses a provably superior, but computationally less tractable,
approach to playing chess.
The idea is to learn cross-domain
relationships from chess to real life.
CHAP2 uses the formalog
system to enable integration between Prolog and Perl, to make it
that much easier to develop for it.
It will still employ the same
UI, once it is ported to work with formalog.
But the advantage
will be a better approach to using Prolog (using
Language::Prolog::Yaswi) than was possible with the original chap
program (using ai::Prolog).
CICM-2021
Ostensible FRDCSA paper for CICM conference
CLG+ FRDCSA
Integration with CLG+ contingent planner
Climate Change Adaptation
"It does not do to leave a live dragon out of your calculations, if you live near him." – J.R.R. Tolkien
The svrs is the Sustained Virtual Reality Shelter, a project to
house the FRDCSA and similarly inclined individuals.
It dealt
with all aspects of living in relation to the environment.
Lately, the looming climate crisis presents new challenges that
should be addressed, such as considerations as to how to help
those affected by climate change, including ourselves.
It also
concerns carbon and other environmental footprints (of FRDCSA and
others), procuring clean energy supplies, algorithms to help
individuals reduce their trash footprint, so on and so forth.
Comprehensive Library Ontology
Relates to the comprehensive CSO (Software) and CFO (Function) ontologies
Track all information about programming libraries, including
static, dynamic analyses, etc.
CMU AI Repository FRDCSA
An extension of the original CMU AI repository
FRDCSA has struggled to make a comprehensive software ontology
available.
Given the free nature of the CMU ai repository, and
with the blessings of its creator, we are engaging in a project to
extend the original repository.
The data schema is very apparent,
and we are mapping this into freekbs2 and using all of our
ontological tools to better support the layout.
Then we are
extending the number of systems, and the categories are being
modernized.
Ideally it will serve the basis for the cso
(Comprehensive Software Repository).
CoAuthor Interactive Natural Language Generator
So, suppose you wanted to say: "I remembered that...". Well, you
could also say it as:
I recalled that
I recalled to mind that
I reminisced that
I was reminded that
etc.
This system is to help one come up with those possibilities. The idea
is that one should be able to take a sentence and mark parts of it for
rephrasing, which then the computer generates possible selection,
among which you choose.
It can also grade the recommendations based on various properties.
This is similar in some way to the 'bard -c' functionality, only that
works on a small word or possibly phrase. This would be more general,
and take advantage of NLG systems, such as possibly Halogen.
I'd like to have an Emacs mode for it, of course, in which you move
the mark or region over the area to be altered. It could also operate
on parse trees.
Code-Language
Clandestine cipher
Code Language should have a morality logic associated with its
invocation.
Could think of it as a riddle.
Even if someone knows
you are using it, and knows its rules, but does not know your
shared secrets, it should still be hard for them to eavesdrop.
The system can have many syntactic and semantic operators.
For
instance, one operator could negate the following sentence or
clause.
Should have quote operators and metasyntactic operators.
Helps maintain privacy and security.
Write software that can
perform these transformations and test us on our understanding and
generation of them.
Code Maturity Detection
Metrics computed from available information related to code maturity
We wish to measure the maturity and vitality of various codebases
we wish to incorporate into FRDCSA, as well as other properties.
For instance, when using github-spider, the repositories are in a
variety of states of completion.
Sometimes we can use incomplete
software, but often times with GitHub it is an empty placeholder
project.
Obviously we want to assess how complete and usable the
software is, since we prefer evidence of utility upfront when
collecting software.
Code-Metrics
Tools to calculate metrics over our software collections
Uses linguist to compute source language composition of codebases,
records size.
Other metrics planned.
Code-Search
Helps track down various bits of data that easily can get lost
Like a lost and found for project data which we know longer
remember how to access but can think of a description of it.
Ways to search:
+ full text search using a search engine like indri or something
+ document similarity search using
Capability::Similarity::Document
+ files that had been opened around the same time, proximity
search through Event Log
+ documents that use a certain set of modules
+ by document date
CogBot-FRDCSA
CogBot - FRDCSA integration
There are several projects that come to mind that could be
implemented by cogbot, although I'm not 100% comfortable with the
lack of an open world afforded by opensim.
You could implement homeless-at-cmu, the game, which is about
surviving at CMU homeless, and involves dynamic planning and so
on.
You could implement the metaverse and in particular the Irish
history game, stored in the metaverse dir for now.
You could implement a software agent.
MultiAgent systems such as TeamLog language with Joint Intention
Theory semantics of performatives.
Use robotic soccor agents.
See also: https://frdcsa.org/~andrewdo/writings/cogbot-use-cases-for-posi.txt
Columcille
Inexpensive book scanning robot
The famous 6th century Irish monk columcille was notable for
having caused an early copyright legal battle which then boiled
over into an actual battle.
Columcille had something of an
assembly line of manuscript copiers, spreading the Good News.
So
naming a robot columcille that that promotes the spread and
sharing of knowledge seemed altogether fitting and proper.
An
early prototype is viewable here:
https://www.youtube.com/watch?v=OonuSWi9gTE
Command-Reference
How would one record things one learned in a way that one could
easily check after one has already forgotten the context of how it
was stored. For instance, if I just write "ruled out open-type
for use with web-agent", I'm not liable to remember any of the
search terms. So in effect we need a context sensitive semantic
memory.
Another motivating use case - when using proof-general and coq -
there are a lot of commands, that, if bothered to be learnt, will
nevertheless be forgetton, along with with facts/commands from
other places. So in effect, the net gain is zero.
We must have a context-sensitive command representation system
whenUsing(and(proofGeneral,coq),means(commandFn('Qed','Proof has
been terminated'))). A memory aid to know what commands to use in
different contexts, possibly even defining the pre/post conditions
of commands. Thus related to Prolog-Agent, KMax Object
Manipulation System (KOMS), BrainLeach, etc.
Commune
Tech collective concept where members rotate between work and research
Tech collective where people rotate who works so the others in the
collective can work on their projects.
Say you have 2-3 people working full time who send checks to the
collective which supports the others, then when their work time is
up or what not, they have credits or something to apply towards
their project time, at which point in time others who are working
will help them cover their bills.
We use something like financial
planner to minimize expenses for people, to something feasible.
We save, then when someone's project is monetized, they contribute
some portion back to the collective.
Similar to a peleton
drafting - some people pull (by working), others draft (work on
their projects, get rejuvinated, and then can do another pull
period).
The group helps place people in new jobs using
job-search or something.
Anyway collectives usually fail, but
it's worth a thought to try to help people collaborate to have
time to work on their projects.
Communicator
Employ ToM to aid communication
Uses theory of mind and builds libraries of translations of our
writings, to improve engagement and communication.
Comprehensive Ontologies
Resource list / ontology for the project
A meta resource list for the project, detailing where to find
everything.
For instance, when.do, etc. What is it called, what
does it do, where it is located, how to access it, etc.
Comprehensive FRDCSA Resource Ontology, and a series of
"Comprehensive X Ontology"-ies, i.e. cso, cfo, clo, etc.
Computational Autism
A preexisting AI cognitive agent designed to explore ASD
From the author of the book: Computational Autism.
Useful to
simulate autistic reasoning for use in anticipating how to utilize
some of its strengths and work around some of its limitations, as
well as to simulate multiagent groups.
Might be nice to integrate
with Horn-TeamLog if available, to help form teams of people with
autistic to work on shared problem sets.
Computational Ethicist
Ethics of, for and by computational systems
There seems to exist an attitude that computational ethics is
impossible, but even if it is in the general case, it is extremely
important to nevertheless develop the theory of computational
ethics, of, for and by computational systems.
I think that the
field is woefully underdeveloped, however, there is more promising
recent work.
A regression library of Situations and their moral
responses, such as I believe is being built by MIT, is a good
starting point.
As is work on deontic logic, and formal
verification of ethical decisions.
Collecting research into this
area.
Another area of study is ai safety, which is receiving
increasing scrutiny lately.
Configurator
Prolog-based hardware configurator
A Prolog configurator for raspberry pi / arduino which tells you
which components can be connected successfully, and then the user
expresses a set of capabilities, and it configures the cheapest
instantiation of that.
Conspiracy Theorist
Generates plausible alternative explanations of observed phenomena
Similar to DARPA's aida program:
https://www.darpa.mil/program/active-interpretation-of-disparate-alternatives
Forensic science tells us to question the objectivity of our
observations.
For instance, if say you say John Doe driving his
truck, are you sure you didn't just see John's truck being driven,
and assume it was him?
The inference of reality from inconsistent
and fallible observations involves search through possible
candidate models of reality.
There are sometimes patterns to the
failure modes of observations, which serve as heuristics for
extrapolation of possible true circumstances.
Another application is possibly deceptive environments, such as
online media and disinformation.
While the name of this project is tongue-in-cheek, the recent
increasing weaponization of conspiracy theories is cause for
concern.
But in general, critical thinking demands this form of
suppositional reasoning.
Consultant Support
An Emacs time and job tracking system
Logs time and work conducted, and then computes PDF invoices for
multiple clients and pay structures.
Archives Manager
Survivability and continuity plans for personal research
With projects such as FRDCSA and picform, there are concerns that
should their primary authors die, the work would go abandoned,
undisemminated, etc. Archives manager therefore allows the
backing up of research to your friends computing environments,
along with plans for dealing with the death of the primary author.
Cooperative Game Archive
Archive of (video) games that do not encourage competition behaviors
Many domains are cooperative.
Increasingly, commercial video
games tend to reflect competition behvavior.
This project tries
to collect games which are cooperative by nature and do not have
an enemy externality.
For instance, often FLOSS software
development is such a cooperative game.
Corpus Manager
A system for running text analysis of various text corpora
This system is capable of running hte Capability::TextAnalysis
module in perllib, as well as other kinds of analysis, over
whatever collection of documents you place into it's incoming
directory.
I've used it to process a variety of interesting
data-sets, with the goal of extracting out affordances and other
information relating to the text - to help with RKF-like Text to
Ontology / Logic / KB / Knowledge etc, efforts.
COVID-19
Centralized location of all FRDCSA (pandemic) survivalism tools
The covid-19 pandemic of 2020 - present (at time of writing) has
forced us to take survivalism more seriously, since we believe we
have a serious duty to survive in order to make Public the
FRDCSA/FLP.
Therefore, this system coordinates other tools like
plan-monitor, FLP, SPSE2, iem2, wsm etc etc into a pandemic
survival resource.
And it will help with disaster (and other
emergency) preparedness in general, which is a large component of
FLP anyway.
CPAN Release Manager
Tools to assist releasing FRDCSA to CPAN
We recently completed a sample CPAN module release:
https://metacpan.org/pod/distribution/Org-FRDCSA-AIE/script/aie
However, we made a lot of mistakes.
There are in general a lot of
endemic issues with releasing FRDCSA to CPAN, for instance, the
presence of potentially destructure scripts (when run outside of
the FRDCSA environment).
Therefore careful consideration how to
refactor to mitigate these risks is required in order to release
the rest of the project to CPAN.
The task1, task2 and
perl-rulebase systems are also involved in releasing to CPAN.
Critic Browser
Helps fill out applications for jobs
CRITIC3
A continuation of the CRITIC system effort, but mainly in Emacs
CRITIC3 is an effort to finally develop a usable critic system,
this time using emacs.
However, we ran into some unresolved
issues when developing it, mainly with the emacs hidden text.
That is used to store generated metadata for entries, and then the
user can assert various n-ary relationships about the entries
using various keybindings.
It has a domain editor with different
domains, and a knowledge editor for manipulating assertions.
CRM
Customer Relations Management system using FRDCSA
Crowdsource Everything
A crowdsourcing system factory
Mainly to be used to crowd-source information for FLP, including
gathering guidance and compiling from English into Logic
semiautomatically.
Should be able to crowdsource various
information, for instance, things like reverse telephone number
lookups.
Probably this project is contained within FLP itself.
Perl Catalyst-based.
CSA
Implement the CSA portion of FRDCSA
The csa toolchain consists primarily of radar, packager and
architect.
This umbrella project serves to get a toy
implementation of this architecture functioning.
This consists of
having the list of desired capabilities, executing searches for
systems having the capabilities (using tools like radar-web-search
and software-recommender), generates a priority queue of software
to obtain.
It will iterate over the queue, downloading the
systems with radar and packaging them with packager.
It then
performs many administrative tasks wrt the new system - including
the Application phase of csa, through architect.
CSX Process
Extract URIs (for spidering) from CiteSeerX papers matching search topic
Allows full text search using Namazu of our CiteSeerX data dump
acquired using S3.
Returns an acceptlist of papers to extract out
URIs for feeding to the vger spider.
Cultural Systems
System to record and use cultural resources
Includes projects, user groups, language resources (corpora,
Dictionaries, TTS, MT, grammar checking, fonts), various
audio-visual resources (music, film, document (story, books,
images) archives), software, politics, history, genealogy, etc.
First use case was Ireland, but wish system to be general purpose
factory for different world cultures.
Used in conjuction with the
metaverse simulation system for engaging in historical /
ahistorical simulations / games / research.
Tries to reconstruct
world history.
Current Development Stack
Tracks recursive workflows
Usually during development of FRDCSA, we work on a given problem
until we reach an impasse, and then we jump to solving that
impasse.
So, we essentially recurse on problem dependencies.
Eventually, we wind up returning to the original problem due to a
circular dependency, but all the work we have done in the interim
means we are likely closer to a solution.
If not we simply
continue recursing.
This project tracks (ideally in emacs) the recursive problem stack
we are working on, so that we can pop the stack when we finish and
do not lose our place.
Cyber Defense Advocate
Personal information security system
With applications like FLP, there is a need to store private
information.
The cyber defense advocate is an intelligent agent
that works to protect this private information.
It depends on our
IPS/IDS called setanta and setanta-agent.
It helps the user
construct secure cyberphysical systems, vacuuming private
information using Scrubber/Redactor/etc into airgapped installs,
as mentioned in our main FLP use case document:
https://frdcsa.org/~andrewdo/writings/homeless-story.html
CYC Common
Research and code relating to CYC
Contains our notes regarding how CYC works, including some
documentation, various papers, an FAQ, etc. Has scripts for
launching opencyc, an FLP CYC-api, log files, etc. Just tools
for studying and making use of CYC within FRDCSA.
CYC Doc
Tools for searching and studying available CYC documentation
CYC Planning
Efforts to invoke OpenCYC's SHOP2 planner
Contains a small collection of notes on how to utilize CYC's
planning mechanism.
The idea is similar to our reactive-kb
project, Source Code in Database (scid :
https://www.mindprod.com/project/scid.html ), the Grindwork's GTS
system, the unison language (https://www.unisonweb.org/), and
other systems that represent programs in data, and behavior falls
out of the interaction of rules automatically.
The idea is to
represent everything using PrologCYC discipline and automatically
synthesis programs this way.
CYC Tutorial
A quick and dirty introduction to OpenCYC
Gave a small workshop on using opencyc, and this was the syllabus.
CycL to NL
Export OpenCYC's CycL -> English data
Code to list opencyc's contents, alongside the corresponding nlg
generated English version, for use in feeding to paraphrase and
deep learning systems, for making progress on the reverse
direction (NL->CycL).
Cyclone
Our reimplementation of Prolog-CYC. May borrow heavily from
dmiles' PrologCYC (LogicMOO/LogicMUD/PrologMOO)
Many aspects of CYC are similar to Prolog.
dmiles' logicmoo
system has gone to great lengths to reimplement CYC within Prolog.
Because his system is under heavy development, its APIs are not
stable enough to use, so we begin by studying his system and
implementing one of our own, which can either be upgraded or
replaced as his system advances.
Cyclone Rule Editor
FLP-based rule editor for CycL
Daniel's AIs
A minecraft-like virtual world developed by a CW student
DarkUranium Systems
Interface between FRDCSA and DarkUranium's code
Data Integration
FreeKBS2 backend directly from Prolog using ODBC to MySQL
More generally, this project relates to the difficulty of managing
various world-states across federated FRDCSA, FLP and logicmoo
systems.
However, thus far, it consists only of a partially
complete Prolog freekbs2 backend, allowing persistent storage of
Prolog facts and rules.
Data-Manager
Aid in backing up and otherwise managing complex data storage requirements
Helps to organize git repositories, detect backed up data
structures that are modified copies, and backup items on multiple
disks and systems.
A lot more functionality besides.
Datalog to GDL
Convert Datalog to Game Description Language (GDL)
There are a number of adapter projects in FRDCSA that translate
between KRR languages.
This is a theorized interface between
Datalog and GDL, which should be possible because iirc GDL is
implemented using a Datalog-like if not Datalog itself semantics.
The idea is to help enable Prolog->GDL export as well, so that for
instance, FLP could export world state to a GDL solver for use in
adversarial reasoning.
A bit tenuous in practice however.
Dates
Implementation of calendaring for tasks and appointments for FLP
DAYDREAMER-FRDCSA
Integration of DAYDREAMER
Ways to extend daydreamer:
+ flesh out missing aspects of its ontology, for instance, add
homelessness surival information.
There was a long list of
things excluded early on in the book Daydreaming in Humans and
Machines:....
+ work on theoretical perfection of the planning processes,
through model checking
+ use more than nonnested fluents
+ daydreamer bindings for querying the KB (as opposed to asserting/retracting to/from the KB
DebConf 2020
Video production materials for (now postponed) DebConf presentation
DebConf 2020
Video production materials for (now postponed) DebConf presentation
Debian Packaging Tutorial
Materials for intelligent tutoring of the Debian packaging process
Debian Release Manager
Project to coordinate the release of FRDCSA via Debian packages
Debian-Rulebase
Formalizing the rules required to package for Debian
Since packaging for Debian is a relatively complex process, we
want to formalize all the rules involved, so that we can try to
automatically perform this task and validate the result.
We also
are formalizing them to help us remember them, since there are
many different hats worn in the project, and we sometimes forget
procedural information.
It is thus related to nlu-mf,
textbook-knowledge-formation, RKF, perl-rulebase, and many others.
Debt Manager
Track all our debt
If one is experiencing economic hardship, one often falls into
debt of various kinds.
So this system helps a person track what
they believe they owe, as well as what other people believe they
owe.
It also helps one avoid falling for debt collection scams.
It is related to the rest of the FRDCSA financial projects like
financial-planning, etc.
Decision Support System
Helps the user to formalize their practical reasoning problems
An example problem might be how best to proceed with the
development of A.I..
This project is related to things like
Multi-Criteria Optimization, as well as other DSSes.
Deduplication
Deduplicate filesystems to avoid explosion of backups
Owing to various historical circumstances, such as insufficient
funds to store hardware, lack of a backup system or organized
note-taking for backups, many FRDCSA files have been copied and
copied, into a snowballing collection of files on various hard
drives.
The goal of the project is to backup all of those files,
detecting duplications of individual files as well as whole
directory structures, and backing up each file on enough disks in
enough phyical locaitons so as to minimize the chance of permanent
data loss.
Definition Extraction
Enhance RKF/Textbook Knowledge Formation by extracting definitions
There are many research papers, wikipedia articles, and other
properly licensed textual materials.
We have obtained a
definition extraction system which extracts about 50% of the
definitions mentioned in various texts, and have wrapped the
results of that program into something that formalutes the
definitions as comments in a SubL knowledge base file.
This
system is automatically invoked by the related sentinel program,
which looks for downloaded PDF papers, and process them.
Dialog-Interface
Handles parsing of voice and other text commands for FLP
This system implements DCG parsing for a wide range of voice
commands (from speech-enabled assistants like alexa), as well as
associated world knowledge.
It contains work on creating a
multi-step dialog as well.
Dialog-Move Ontology
Resource for ontology-based dialog-management
DigiLib Agent
A agent-based tool for assembling a digital library
Consists of tools, similar to and using academician, for locating
research papers and websites that relate to concepts we are
interested in.
Diplomacy
Approaches coordination problem for A.I. in a diplomatic manner
Helps us reason more diplomatically about how to work with others
on A.I..
Includes things like letter writing campaigns, tracking
interested parties, etc.
Disaster Emergency Survival Preparedness
Survival prepping tool, specifically for disasters
The COVID19 pandemic brought our survival planning to a crux.
This system should become the focal point for a lot of FLP's
disaster planning tools.
Includes libraries of threats, and plans
to respond to them.
A known cognitive bias is that people
underestimate the probability of at least one of a number of
low-probability events occuring, hence we can be relatively
certain that there will always be something we have to plan for.
Discipline System
Help user to acquire self-discipline
Various FLP tools, including gamification, habit tracking,
enforcing habits in crisis scenarios.
Just a variety of tools for
helping improve self-discipline.
Discourse Representation
Focal point for DRT and DRSes
Discourse Representatino Theory is a powerful tool in the domain
of computational semantics.
This is a collection of resources
centered around the C and C parser tools.
DisInform
A free Inform7 like language and related tools
Inform7 is a popular interactive fiction language, which is
currently undergoing an open source release.
It is descriptive
and powerful, and hence we have represented some of FLP using
Inform7.
In lieu of the release of Inform7 we have created a host
of tools for working with Inform7-like files within the project,
like parsers, translaters, rulebooks and so on.
It is designed to
eventually replace Inform7 should Inform7 never be released.
Dmiles AGI Bot
Chatbot tools
Infrastructure for an intelligent chatbot.
Dmiles Systems
Tools that allow accessing dmiles' software from FRDCSA
DMS-Formalog
DMS-Formalog adds Formalog to Paperless Office / DMS
DAndD
Documentation tools, with D&D as the domain
This is a system for quick reference to the Dungeons and Dragon's
manual provided by d20srd.org.
While the domain is silly, it is a
good test bed for developing interactive question answering
software and tools for interacting with rule bases such as legal
and medical.
DNFct-FRDCSA
DNFct is a top performing contingent planner we are attempting to integrate
Document Understanding System
Allow format parsing and arbitrary document understanding
Documentary Generator
Generates documentary videos from texts
System extracts named entities from text, and then uses Google
Images to retrieve pictures of the entities, and displays with
OpenGL (can be exported to a video file).
Documentation Central
FRDCSA project documentation
Download Auditing
Produce signed audit trails when downloading files
Sometimes, such as when building a software archive, it is
necessary to track our downloads.
For instance, saving the STDOUT
and STDERR of wget.
This can be used hopefully to prove when and
where we downloaded a specific file.
E-Government
Tracks voting records etc for use in applying political pressure
E-Health Clinic
Tools for locating a physician
E2C FRDCSA
Interface to dmiles' E2C program from FRDCSA
E2C is a very powerful nlu system that translates English to CycL
representations.
This system records our use cases, and other
aspects of integration with E2C.
E2C OpenCYC Export Tools
Use OpenCYC NLG to create a parallel English/CycL corpus
Certain versions of opencyc have nlg available, we use it here to
export the contents of opencyc into a parallel corpus for use in
improving nlu (English -> CycL).
One possible method is to use
paraphrasing software to paraphrase the English, and then see how
E2C performs mapping the paraphrased English back onto the
original CycL.
ECLiPSe Prolog
Code to run Eclipse Prolog on FRDCSA
Elderly Affairs Management
Assist with eldercare
Elle Ethical Consumer
Review boycott requests and tag mentioned named entities for polarity
ELog2
Event-Log v2
Emacs Agent
Intelligent Emacs agent using ELisp for program synthesis
Emacs Dungeons and Dragons
Like Fantasy Grounds but in (graphical) Emacs
Emacs-KB-ATP
Imbue Emacs Lisp with a knowledge base and an automated theorem prover
Emacs Lisp is similar to other Lisps, and lisp can be taken as the
basis of a formal mathematical system.
Therefore it may be
possible to create theorem provers and associated knowledge bases
directly in emacs.
This would speed up some emacs related tasks
and improve it's general "intelligence."
We might consider using
something similar to acl2, which is a theorem proving environment
which uses an applicative subset of Common Lisp.
There may be
other Lisp ATP systems out there that we could either port or
utilize.
Furthermore, Chaitin has proven a number of results
using Lisp systems, if his code is available and suitably licensed
we could prove some metamathematical results using it.
Would be
nice to interface with other ATP systems as well, such as export.
UniLang/FreeKBS2 already has an emacs syntax translatable to
unilang's Prolog-like interlingua, which can be exported to
vampire-kif and reasoned with.
Emacs Poetry Mode
Emacs poetry mode that helps with viewing and interactively composing poetry
Email Prioritization and Routing
Determines which messages from your mail are importance. Ties in
with your goal system.
Email2Speech
Reading email aloud
Tools to expedite email reading.
Stands somewhere between clear
and audience.
In addition to emails, should also read RSS,
twitter - any pull information sources...
Encoder
Explains FRDCSA to newcomers
ENDER
Massive collection of game AIs for all known games
Ender is a general purpose game ai.
That is, ender is a system
that, given the rules to a game, will play that game.
This is
achieved on many dimensions.
The first is a matchmaker1 which
matches the game directly to known engines and uses on of those.
If this fails, it formalizes the game, and attempts to generate
an A.I. from the techniques within its system.
Ender therefore naturally excels at all games for which we have
an engine.
But the point of this system is to encourage a
classification of games, and the reuse of game knowledge across
domains.
For instance, many of the definitions used in the game
of go might aid in other games, and in this case, the system
would be able to prove more conditions that would hopefully lead
to victory.
Entertainment Center
Interface for a home infotainment system
Perl/Tk interface for accessing the most important and
entertaining features of FRDCSA from a TV.
Entertainment Ideas
System for figuring out fun things that people can do together
It uses the same software as the posi interest acquisition
software.
Then it figure out what there is to do that is fun.
Entity Database
Like Yago or Linkipedia, stores entities known to FRDCSA
Entity Resolution
Disambiguate / resolve named entities to entities in entity-database
Uses multiple entity resolution implementations.
Entity Typing
System to parse "dead text" into entities for use in processing and understanding
The idea is to parse out all text into entities, such that the
Prolog-Agent/Emacs-Situated-Agent/Web-agent can use these
annotations to compose services.
For instance, if a file of IPs
is annotated as such, tools such as NMAP know they can operate on
them, pruning the space of compositions of shell commands in shell
command synthesis to achieve outcomes.
Epistemic Planning
Project hub for epistemic planners
Ethical Consumer System
Advises on which products to avoid based on stated beliefs
This is a system to boycott by manufacturer, or product, or any
other information.
It has several modes of operation.
You can
scan a product, mention a manufacturer, etc, it will tell you
what, if anything, is wrong with it according to signed advisories
from various organizations, or your own knowledge base.
Ethical Systems Analysis
Determine relative consistency of all pairs of moral systems
Translate various moral systems into logic.
Determine relative
consistency.
Also evaluate stories / behaviors against moral
systems to determine which axioms possibly have been violated.
Etiquette Guide
Checks that all our communication etiquette is proper
Audience subsystem that intercepts our communications and ensures
compatibility with respective etiquette for medium.
Eurisko-FRDCSA
Reimplementation of famed Eurisko program
Eurisko Resources
Various online documentation regarding Eurisko/AM/CYC, for use with eurisko-frdcsa
Event Calculus
Tools for working with Event Calculus, including from ConceptNet API
Event-Extractor
Extract events from text such as web and email
There are many events that are referenced in emails, on web sites,
etc. It is a rather common task to extract and populate calendars
with this information.
So this system does it automatically.
There is a dataset for event extraction but it is brittle.
There
is also the geek event aggregator which seems to have good
methods.
I also want to collaborate with Tech Venue.
There are
some useful tools such as TIMEX3 recognizers.
Integration with
these is underway.
Executable Actionable Notes
Put the reasons I do things and such into notes for the AI
Execution Engine
A system to monitor and proxy users' computer usage
The Execution Engine has for instance a tool that watches over
one's shoulder to see the commands they are executing, and prompts
them regarding whether they really intend to execute it, or
whether a particular situation that triggers other actions has
come up.
For instance, if you are rushing, it prompts you to slow
down.
Ideally it will eventually use prolog-agent to determine the
consequences of shell-commands, and trigger on anything
potentially harmful and bring it to the user's attention.
Also
will try to implement plan recognition so that Execution Engine
can help detect and achieve good goals and detect and block bad
goals.
What is good and bad is a question worth looking into, but
a simplistic notion for now might be something like, don't delete
files for which the particular file(s) is the only known copy.
Just general sanity.
It's capabilities are not limited merely to
interceding as needed, however.
Will list more capabilities soon.
Supersedes the action-system project.
Executive Function Decision Tree
Decision Support System for Decision Tree for Time Management
Executive functioning for mentally processing things in a
flowchart fashion.
Typcial neurodiverse people tend to have a
bottom up approach where you have all the details.
Executive
function tells us to do the opposite of that.
Breaks tasks down
methodically, sorts in terms of priority.
Continually reassess
priorities within time frames.
Fact Extraction
Extracting facts from text
There are several systems in existence which are able to process
text and extract facts.
In general, on can think of breaking a
text down into straightforward, small axiomatic assertions.
So it
is indeed related to natural language to logic conversion.
But
this methodology does not require to go the full way, for this it
is sufficient to break it up into actionable facts.
More later.
Factionary
System of memory using computational semantics that we query
Factored Planning
Decompose large planning domains, stack others
Factored planning involves breaking a large planning
domain/problem into smaller almost disjoint planning
domains/problems, to enable an easier solution.
FLP and verber
use federated planning to generate and combine smaller domains
into a large one.
Moreover, with this implementation, we'd like
to be able to generate a plan and assert its constraints into
other domains/problems.
Kind of like the way you pack a car, you
put in the big items, then the medium items, then the small items,
backtracking when you cannot fit things.
FAQ Builder
Extract FAQs from chat logs
Faster apt-file
An attempt to speed up the apt-file command by using an indexed search
FCMS
Formalog + ShinyCMS
FCMS is the content management system that is created when using
the Perl Catalyst content management system ShinyCMS, along with
our formalog scripts for interfacing Prolog with Perl using
Language::Prolog::Yaswi and formalog-pengines using JavaPengines
and Inline::Java.
When combined with the start up files for
free-life-planner, becomes the Free Life planner (FLP).
FE2C
FRDCSA replacement for E2C, in lieu of completion of dmiles' E2C
E2C is a powerful system for translating natural language input to
CycL output.
E2C is written by dmiles, and here are example
translation results:
https://frdcsa.org/~andrewdo/projects/E2C.txt
E2C is a very complex system and as such is not yet finished, thus
we are writing fe2c to act as a stop-gap.
Federated Agents
Wrappers for federated planning agents
Currently focuses on extracting store hours from Google's api,
however, in general will handle lots of such federation tasks, for
input into temporal and other planning domains.
F-eshell
Eshell enhancement for FRDCSA
FGOAL
Partial reimplementation in Prolog of GOAL agent programming language
File Organizer
Look at files, figure out where they belong, based on properties of the files
File Sanitizer
Clean infections from data
FDSS
Consumer DSS for helping people budget/manage their finances
Parses GNUCash files, does analytics of purchasing decisions.
Pulls and matches purchase data with receipts.
Helps with
shoppinglists.
Fitness Manager
FLP module for fitness planning
Fletcher
System to reconstruct circumstances at any given sets of times, by
backtracking, priming, using evidence. Abduct models. Etc.
Named after the character Jessica Fletcher who as a particular
book mentions seems to explemify this rationalist as opposed to
empiricist approach to investigation.
Flora to Prolog
Part of our n X n KRR language translation software
Flowchart Generator
FLP Prolog module that generates flowcharts from contingent plans created by DNFct
FLP Advocacy
System purpose built to market FLP
FLP Cordova
Early system to try to create an Android app for FLP using Apache Cordova
FLP Demo Release
Tools to modify and release FLP to a VPS for demoing
FLP Mojolicious
Mojolicious reimplementation or FLP module
FLP PDDL
Export FLP nested rules and facts to nonnested PDDL
FLP Tests
Continuous Integration testing for FLP
FLP Toy
Toy implementation of basic FLP functionality, including Prolog/SubL and NN tech
FLP2
A reimplementation of FLP
The main need for reimplementing comes from applying what we
learned with the first FLP.
Morever, the need for a proper
microtheory system bogged down the first FLP project.
Starting
flp2, we will attempt Microtheory systems until we find one that
works well.
Problems arise from the nuances of the SWI-Prolog
module system.
Fluent Editor
WSM helper files for managing FLP fluents
FLUX-Dmiles
FLUX port to SWIPL by dmiles
Dmiles and I tried to port FLUX from ECLiPSe Prolog to SWIPL,
unaware that a port already existed.
FLUX-FRDCSA
FLUX enhancements for the FRDCSA project
The FLUX system is a very elegant framework for agent development.
Unfortunately, in our experience, and perhaps the experience of
the author, the framework is not suitable performant in order to
enable generation of large scale plans.
This is rather peculiar
as Prolog itself is performant and the design is minimal.
It may
have to do with the efficiency of the CLP library (CLP(fd)).
Anyway, we have extended it in numerous ways, firstly, by allowing
arbitrary terms instead of simply integers as arguments, by
employing the serpro mapping.
We have also included a nested to
nonnested term wrapper.
Temporal capabilities are partially
working.
Lastly, we integrated BFS.
We have created several
domains, mainly related to softbots and security.
FLUX Resources
Mostly docs regarding how FLUX and FLUXPlayer work
We tried but failed to aquire FLUXPlayer, and so we've collected a
lot of documentation and some code related to reimplementing
FLUXPlayer.
FMEA
Run FMEA analysis over proposed actions/situations
Folksonomy
Tag systems learner and labeller
Folksonomy is a tool for classifying software according to various
"folksonomies", which is a (possibly condescending) word for
things like the Sourceforge classification scheme, the debtags
systems, and the Freshmeat classification system.
Food Ontology
A formal representation and interlingua of food state/condition
Being able to precisely represent the state of food is crucial to
the gourmet meal planner.
In this vein, we are developing a food
ontology which can be mapped to various things such as folk
ingredient descriptions, nutrient information, and products.
Formalization of Large Deviations
Formalize the theory of large deviations in an ITP
Large deviations theory is covered here:
https://en.wikipedia.org/wiki/Large_deviations_theory
We are interested in formalizing aspects of large deviation theory
in an ITP system like coq or Isabelle, in order to calibrate our
efforts to formalize, aka make rigorous in a formal language, a
useful field of mathematics for our Mathematical Knowledge
Management efforts.
Formalog
Formalog is a backend for FRDCSA/Perl/Prolog integration, w/ persistence
It does most of the work integrating Perl and Prolog, allowing
using Language::Prolog::Yaswi calls back and forth.
This is for
fcms, which is an MVC obtained by combining ShinyCMS (itself
based on Perl Catalyst) with formalog.
Add the initialization
files for the Free Life planner, or the prolog-agent, or the
formalog-kbfs, and you obtain those systems.
Formalog wraps unilang, currently allowing it to call freekbs2 in
order to assert into the KB.
However, we're working on a direct
SWIPL ODBC interface which by lacking overhead should be many
orders of magnitude faster.
This can be found in the
data-integration codebase.
Formalog-Pengines
Low latency, low bandwidth Perl -> Prolog RPC
This system has much less latency but also lower bandwidth as
compared to Language::Prolog::Yaswi, which is initially used to
talk from Perl to Prolog in projects like FLP.
So this is a
secondary api.
It is used with emacs for instance to speed up
queries.
Eventually I plan to auto-select the appropriate query
method based on the size of the query, and the the size of the
answer.
Formalog-Template
Template code for a Formalog Emacs system.
Frame-Based System
Implementation of a Frame-Based System like FOOPS or XSIP for SWI Prolog
Lots of our systems could make use of a frame-based system format.
For instance, in reimplementing Eurisko, within FLP, or with cfo.
LOGICMOO already contains such a frame-based system.
This is just
a reimplementation for our uses.
FrameNet to IKL
Mapping from FrameNet framesets into IKL (similar to Common Logic and CycL)
FRD
Intended as a "universal database of mathematical knowledge"
The main aim of the frd project (the first half of the FRDCSA
acronym) is to use mathematical reasoning to solve problems
affecting people.
The "unreasonable effectiveness" of mathematics
allows us to engage in epistemic reasoning (what is true?), which
has implications for practical reasoning (what should I do?)
as
well, which is in fact our main use case for such reasoning.
FRDCSA-1.1
Attempt to release/partially fork FRDCSA
This is an attempt to release/partially fork the FRDCSA.
It works
by copying all the perl code and scripts to a new directory
structure.
These files are then vetted for license compliance.
Then, tests are made to run the files to see if they still perform
as desired.
Files are judiciously copied over as needed,
licensing permitting.
The license for all files is made clear.
Installers via CPAN and Debian, plus others, are created and the
code is installed.
This includes a CPAN installer for the
myfrdcsa-1.1 itself.
Tests are run in vms that are deployed to
test the distribution, for different operating systems.
Stuff is
expected to not be in a perfectly working state.
It should be
backwards compatible for the most part with myfrdcsa-1.0. It will
be the first release of the FRDCSA.
FRDCSA-1.5
Rewrite of core FRDCSA functionality
This is a rewrite of the core functionality of the FRDCSA,
especially unilang, freekbs2, etc. It maintains a kind of
compatibility with FRDCSA-1.0 in that it should work with similar
programs with relatively little modification.
Everything is
reengineered for better coding/documentation/test standards.
FRDCSA-2.0
Futuristic rewrite of FRDCSA where many ideal properties are directed
At one point, several proposed versions of FRDCSA were designed,
but ultimately, not yet acted upon.
There were FRDCSA-1.0, 1.1,
1.5 and 2.0. The 2.0 was obviously the most advanced of these.
The differences are enumerated here:
https://github.com/aindilis/myfrdcsas-doc/blob/master/MyFRDCSAs.README
FRDCSA Dashboard
A GUI dashboard for tracking the status of and adminstering various FRDCSA systems
FLP
Helps to organize the lives of people who request the assistance
The FLP is the flagship subproject of the FRDCSA metaproject at
present.
It consists of a lot of tools for tracking the state of
the world, and the goals of its users and trying to work out
robust and fault-tolerant plans to achieve this.
It makes use of
many other systems, which are wrapped from Prolog.
It uses fcms
in order to have a Prolog/Perl/Emacs interface.
The goal is for
it to help those who are experiencing poverty, illness, disability
and/or homelessness.
A free program that plans one's life is
probably more useful on average than a lot of other programs.
It
currently has an alexa Skill which we hope to (partially)
monetize, by soliciting donations from people who have used it to
improve, among others, their financial security, to help fund
other project work once the FLP is complete.
The ai is more
general than FLP, but this is certain a critical component and
will help us find the stability and productivity to pursue the
rest of the project.
It includes a domain for productivity.
Free Logic Form
Generates logic forms of English sentences
Free Logic Form is a system for generating logic forms of English
sentences.
(http://en.wikipedia.org/wiki/Logic_form) parser, by
postprocessing the output of the Enju predicate parser
(http://www-tsujii.is.s.u-tokyo.ac.jp/enju/).
Free RTE
A free RTE system
Recognizing Textual Entailment is the problem of, given a source
text and a target text, determining whether the target is implied
by the contents of the source text.
As one might guess, it is
context sensitive.
Such a tool is useful in applications such as
determining if unilang entries are redundant.
This capability is
also useful in many other applications, and is closely related to
paraphrasing.
Free WOPR
Free War Operation Plan Response
FWeb-Translate
Translate the FRDCSA web pages into foreign languages
Given the general applicability of the FRDCSA it seems
ethnocentric to only post its web pages in English.
Therefore,
the Apertium engine was used to translate the static website into
Spanish, for starters.
However, it will work with other
translation systems and so soon we will release translations to
many as many other languages as we can.
Google Summer of Code Application
Is just an application for GSOC
Gourmet-Formalog
Gourmet Prolog system
Greenhouse Management
Helps manage gardening, greenhouses, aeroponics, hydroponics, etc.
Ideally interfaces with FLP and provides sensor/effector control
infrastructure for the greenhouse.
Includes general information
about plant requirements.
IAEC
Eurisko replacement, enhancement
IAEC uses a persistence mechanism and a pending sayer2
implementation which tracks multiple invocations over time to
detect changes and also has a KB about the functions themselves.
It uses different logics to assert functional relationships in a
lispish/prologish notation.
It keeps a blackboard of the state of
all the different problems it's working on.
It can represent
strings in more economical ways by refering to function evaluation
results and previously stored data.
It integrates with kbfs, nlu,
etc. It also does knowledge discovery and program verification.
Using kbp systems we will extract a KB of properties about
algorithms.
It then aids in automatic programming.
It is capable
of exceeding the transitive closure of it' programming because it
integrates external data read from books and such into its own
system coherently, and thus mines and learns.
IEM
Walks users through constructed plans, handles plan failures, etc
IEM is responsible for walking the user through plans.
In actual
real-world Situations a plan can be hard to concentrate on and
follow, even with sufficient prompting.
So beyond simply walking
the user through plans generated, the iem takes an active role in
helping the user maintain situational awareness, and iem also
tracks what it suspects the user is aware of, in order to
facilitate clean interactions and missions accomplished.
IES
Annotate text, enrich it for features, and learn extractors
This system is comparable to MinorThird or any other information
extraction system.
It uses something for annotating text in
emacs, derived from the nlu-mode.
It will be useful for a lot of
tasks, but especially cso, system-ie, and other that escape my
memory.
InfoLab
Proposal for an American Hacklab Infolab
Problem: Corporate Media, owned by just a few companies, has a
monopoly on the ideas that are force fed to "consumers".
Likewise,
corporations to a large extent control the computer operating systems.
The internet, however, has seen the production of many documentaries,
documentation, and operating systems which offer different and
important viewpoints.
Many of these documentaries and operating
systems are licensed with free redistribution, and can be distributed
via DVD.
The goal of the American Hacklab infolab project is to create, in the
tradition of European hacklabs (but without the physical space
requirements), Infolabs that can help with the distribution of
materials.
IEM
Walks users through constructed plans, handles plan failures, etc
IEM is responsible for walking the user through plans.
In actual
real-world Situations a plan can be hard to concentrate on and
follow, even with sufficient prompting.
So beyond simply walking
the user through plans generated, the iem takes an active role in
helping the user maintain situational awareness, and iem also
tracks what it suspects the user is aware of, in order to
facilitate clean interactions and missions accomplished.
Interrelator
Interrelates UniLang messages and PSE goals
Manually identifying all meaningful relationship between unilang
entries such as pse goals with the critic system is a time
consuming task.
This system attempts to derive relations
automatically.
Such relations are explicitly marked as having
such a derivation.
The most obvious relation is the depends
relation.
It would be nice to be able to determine from context
which goals depend on or predepend for other goals.
IRC-TDT
Clear marking of different conversation threads on IRC (and other chatrooms)
Being able to distinguish conversation threads is a useful skill.
There is existing research which seems to be related - that of
topic detection and tracking.
While the very concept implies a
notion of "topic", it is sufficient to get started disambiguating
IRC topic threads.
Jess' Debugger
A Java debugger
A very basic Java debugger.
Current capabilities include stepping
through code, display local variables and inspecting and
navigating the stack.
The main interface is based on emacs GUD
mode and add additional functionality when setting breakpoints and
correlating positions to code files.
JS Application Agent
Helps fill out applications for jobs
JS Form Filler
Automatically fills out job applications
Tool to fill out forms using your posi job-search profile to
submit job applications.
KOMS
A contextual menu for duck-typed objects from strings within Emacs
KOMS duck-types strings, so for instance, if you have a string
that matches the regex for a URL, one possible duck-type for it
would be URL.
In this case, affordances for the URL would be
opened in the contextual menu.
For instance, you might want to
open it in a browser, record it as a metasite, mirror or spider
it, etc. If further, it were a GitHub URL, you might want to
store it in the git repository repository.
The main motivation
for KOMS is to cut down on the number of nonessential keybindings
that one has to memorize, freeing the user up to memorize more
frequently used or efficient combinations of bindings.
Language Learning
Facilitates foreign language learning
Chat with text/speech bots in foreign languages.
List of Lists
System to manage lists of information
Often times there comes a need to record a list of items that is
relevant to some problem or issue.
List of lists just
consolidates that into a system so that, if we are having in mind
to build a list, it will be easy to refer to it and to extend it
as time and examples furnish.
Log Analysis
Annotates Apache logs
This system display various information, like GeoIP, hostname,
etc, of visitors to your Apache web server.
It can also display
the various search engine searches that reach your site.
LogicMOO-FRDCSA
Bridges the sister projects LogicMOO and FRDCSA
The logicmoo system, aka PrologMUD, PrologMOO and PrologCYC, is
the sister project to the FRDCSA.
The new flagship FRDCSA project
called FLP (Free Life planner) makes extensive use of technologies
developed by the author of logicmoo (dmiles) and imported into
FLP.
This project consists of various tools for bridging
effectively between the two projects.
Car Maintenance
Decision support system for car maintenance
This project is subsumed by other FLP projects, but originally had
its own directory.
It tracks/logs problems with a users
automobiles, as well as adds the recommended maintenance Schedule
of the vehicle to FLP's calendaring system.
Integration also
planned with ODBII sensors for FLP to automatically track vehicle
condition.
Generally relates to car computer systems, as well as
our vanguard vehicular intelligence platform.
MKM
Seeks to formalize mathematical knowledge within CYC
MKM is a recent branch of mathematics dealing with repositories of
mathematical knowledge.
The CYC system's ontology rather
conspicuously lacks a detailed mathematical KB, seeing as CYC is
derived from AM (Auto-Mathematician).
Giving CYC the ability to
prove theorem from mathematics will help with its reasoning
abilities when trying to solve problems with automated theorem
proving, especially program synthesis problems involving
computability and complexity.
It will also help with intelligent
tutoring systems.
The techniques developed for MKM will then be
applied to other areas of study, such as computer science and
artificial intelligence.
MDR
Implementation of MDR web data extraction algorithm
This is an implementation of the algorithm described in "Mining
Data Records in Web Pages" 2003, Bing Liu, Robert Grossman,
Yanhong Zhai.
Metasite Extractor
Extract system names and descriptions from metasites
A metasite is a site with links to many projects.
This can be
something like Sourceforge, or an academic lab's project listing,
or a list of related software, etc. radar can record metasites
and they are collected and stored.
Their information needs to be
extracted and given to cso.
Minor Source Hatchery
Like internal source hatcher, but for minor codebases
source-hatchery, is a place to hatch new codebases from.
You can
promote them out of the source-hatchery, or demote them if
necessary to the hatchery.
I plan to take a lot of the original
project ideas for FRDCSA from ~2005 and put them in the hatcheries
as well, and hopefully make good on them.
And to demote some of
the less important systems to declutter the minor codebases.
However, new methods for indexing the minor codebases are
necessary, since there are so many of them.
Miscellaneous Games
Implementations of solutions to various silly games
So for includes an interface to IMDB to solve the game Six Degrees
- where you link two actors by a network or co-stars.
Music Control System
Control music playlists with speech recognition
This is a system for hacklabs that allows the user to pause the
music and describe a song (or playlist) to play
NLU
Performs Natural Language Understanding
Interprets text in the appropriate context.
Nooks and Crevices
Identify areas of the project that have sat dormant for a while
Nooks and Crevices uses Elog data about which files are being
visited to calculate which files and directories of the FRDCSA
have not been attended to recently.
The thought is that often
times we lose sight of the big picture and the very tasks we are
attempting to resolve have been either partially or wholly
completed elsewhere in the project (as has happened many times,
just look at "todo-systems").
By allowing us to look at the areas
of the project that have been dormant for a while, hopefully we
will distill a larger picture of the purpose of the project and
relearn aspects of the project.
Object Recognition
Identify objects and spatial relations among objects from photos (or video)
Updating the inventory of the pantry and the rooms using barcodes
has proven infeasible, since often times things get really moved
around much quicker than the information can be updated.
So we
are working on for pantry/inventory a combination of RFID in
addition to image-based object recognition.
The proliferation of
deep learning has accelerated the capabilities of such systems.
We intend to locate, either through GitHub or provided by some
colleagues, the appropriate tools to update the inventory from a
cell phone or surveillance camera.
The strategy used by the image
compontent (i.e. not the RFID) is this, when an object is
recognizeds, its absolute location and relative location is
recorded along with the recognition confidence, and asserted into
the KB's relevant temporal contexts.
When a particular item is
sought, it checks the last known location and if present the
object's assigned default location, otherwising marking the object
as misplaced or via user saying directly so.
Image models will
probably enable a web-based image-based inventory manager, similar
to the 3d one that was generously written for the project using
Blender.
Option Classifier
Standardize command line options
This is probably the silliest, smallest possible application, but
I just find it fun.
The goal is to learn to assign flags to text
descriptions of capabilities (and I guess vice versa to some
extent - you want to make sure you don't use something that is
better suited for something else....
In other words, it is able
to assign command line options to a description of that option,
ensuring standardization of flags.
Package Installation Manager
Figure out why certain packages are mutex, explore the dependency space
Often times you have massive wars between packages and their
dependencies.
This causes it to be hard to install useful
software.
Figuring out why there is a conflict and what can be
done about it is important.
This tool helps one explore this
space and reason with packages.
Package Priority Queue
Track the collective need for different systems that are candidates for packages.
The Package Priority Queue tracks demand for different programs to
be packaged.
It uses a lot of predicates to model information
relevant to this process.
In particular, it specifies enough
information so that our automated tools can attempt to retrieve
and package these tools on their own.
We will continue to improve
the quality of that process.
Packager Agent
SoftBot dedicated to making operating system packages
Packager-agent is a SoftBot (i.e. a software agent living in a
computing environment) that seeks to help make OS packages of
external software.
Currently the technology is lacking, because
we cannot obtain the PUCCINI or XII softbot planners.
Prolog-agent is supposed to have this functionality but we ran
into severe limitations during development.
We are also looking
at using the planner from Marty's Interactive Fiction Engine in
order to do metaplanning - that is planning where you may have
adding a goal to the objectives as an effect of an action, and
also invoking the planner as an action, etc. There is a good
document here describing some of this:
https://docs.google.com/document/d/1T-TV4luNRqkxCR4FgwP6mPyR5FkLOhfl0NraM8dq3qg/edit
Panoply Release Manager
System to manage VM releases of Panoply GNU+Linux
We have been trying to release the FRDCSA project almost from the
start, however, it just hasn't gotten done.
The first method
thought of was to make Debian packages of the FRDCSA using the
task1 system, which was accomplished but didn't fully resolve the
issue.
Secondly we focused on building CPAN releases of the
modules, which met a similar fate.
Then we began building a VM
distribution.
Since the ai attempts to increase its own
completeness, a fitting image of that completeness is rendered by
the term "Panoply".
So the VM distribution took on that name.
Despite some setbacks we now have a better build system for the
VM.
The latest attempt to release the FRDCSA has involved the
manual scrubbing of important minor and internal codebases and
subsequent release to GitHub.
The next step with the GitHub
strategy is to then pull all these repos in and build the
Panoply-GitHub release, which will be the Public version of the
Panoply GNU+Linux system until scrubber and kbfs are working well
enough to take over.
Paperless Office
Nuance Paperport (TM) equivalent
Scan, OCR, text classify, and file (into filing cabinets)
documents.
It uses Ocropus and Tesseract to OCR images obtained
by the scanner.
The text is then classified and various other
meta-data is derived.
A location within your filing cabinets is
prescribed.
When you require documents, you have full text search
along with other search capabilities (similar to many aspects of
digilib).
Perl6 StdLib
Collect useful functions that should form a standard library
There are many useful functions and classes in many programming
languages.
The goal of this project is to analyze the existing
functions to build a list of desired functions for inclusion into
Perl6.
This strategy is complemented by efforts to run other
languages directly on the Parrot virtual machine.
Personal Adaptive Filtering
Learns your news preferences wrt goals, interests and abilities
Apply news analysis to all news feeds.
Plan Recognizer
System for integrating disparate plan and goal recognition technologies
PlanLogic-FRDCSA
Upgrade of Panoply VM to include PrologMUD
The Panoply VM is the distribution of the FRDCSA via virtual
machine.
Unfortunately, only one redacted version has been made
at this point.
Anyway, PlanLogic is integration of FRDCSA and
PrologMUD, onto one VM.
The original PlanLogic VM is lost.
But
we will be rebuilding it shortly.
It will use the
prologmud-frdcsa extensions and contain a working version of the
FLP, as well as working versions of PrologMUD/LogicMOO.
Positional Analysis
Analyzing how desirable a given situation is to be in
There's no denying that some people find certain Situations more
desirable than others.
In fact, quality of life research
indicates that the desirability of a position relates to its
quality.
A position is like a situation, it means the entire set
of circumstances and facts obtaining for a given person or group
of people.
As such, this system is related to
suppositional-reasoner, which seeks to ply search over this
evaluation function.
Positional Analysis can be likened to an
evaluation function, such as in chess.
Morever, we employ theorem
proving using Prolog and ATPs to prove facts about the situation,
which are used as features in computing the desirability of a
situation.
Poverty Survival System
Assists with logistics of those experiencing poverty
Poverty is a destabilizing influence which increases the
Kolomogorov complexity (due to increased disorder) of the meeting
the requirements of life, depleting finite will-power reserves and
generally grinding a person down.
Since we have seen that modern
chess programs vastly excel modern human chess players, it seems
plausible that the logistics of poverty (and or homelessness,
illness and disease) could be better managed by appeal to a
central planning system.
This system is the free-life-planner,
with whose functionality the poverty-survival-system overlaps, but
not perfectly.
So this system attempts to have a focus on
stabilizing and improving the users' health and financial
security.
Prolog-Agent
Does anyone share a vision of an intelligent software agent with planning capabilities that is able to navigate around a computer and generate plans to accomplish tasks it derives or are delegated by the users, moving and processing files, reading and understanding their natural language contents, extracting structured information from semi-structured sources, acting in meaningful ways as described by knowledge bases of procedural information, reading man pages, using perceptual capabilities to guide experimentation with existing software components to learn pre and post conditions to heighten capabilities, study documentation, memoize function calls, index functions, index new software, extract lists of their features, package that software and wrap it, analyze both the code itself and the function signatures, derive knowledge bases about their features, use this in automated programming and program synthesis. This is some of the more long-term research I am debating embarking on. I know that such systems already exist, such as are available in ResearchCyc. The challenge is to make an open source version. One of the ways I am proceeding is to iterate, via system iterator, over the projects available from sourceforge that are closest to these capabilities and communicate with their authors about the need to package and integrate these systems into a coherent whole. In particular, I am collecting Prolog and Lisp code, as these are among the highest level systems currently available, and can more easily be integrated, given that they are extensible programmable programming languages.
This long term research is not as important as the short term work on the life planner however, and so, given that unless I am able to generate a foolproof plan for the future I won't always have as close to an ideal environment for working on this as I do now. Also, I am having trouble finding the motivation to work on the longer term stuff because I keep getting waylaid, which is contributing to a learned helplessness against sticking my neck out again on these sorts of projects. However, without these tools, stuff like the Packager system and the Free Life Planner are going to have practical limits to what they can achieve, just as the Packager system has failed to fully automatically package arbitrary software so far.
https://www.youtube.com/watch?v=ZTDEOPXAztA
Prolog Prolog Parser
A Prolog parser written in Prolog
PrologMUD-FRDCSA
Handles integration between PrologMUD and FRDCSA
Handles integration of PrologMUD and FRDCSA, as do most -frdcsa
projects.
In this case this consists of a lot of tools similar to
those for running the FLP.
Need debugging and code finding.
It
also, more generally, handles integration of the software systems,
allowing FLP to use PrologMUD.
PrologMUD_I7-FRDCSA
System to integrate Toy PrologMUD system based on MIFE into FRDCSA
PrologMUD_I7 is a smaller toy demonstration system of an
interactive fiction engine based on MIFE (Marty's Interactive
Fiction Engine).
This consists of scripts to integrate it with
FRDCSA.
PSE-x
Is a Priority System subsystem of Verber
Raiders of the FTP Sites
Search FTP sites for interesting artifacts and catalogue
While the FRDCSA has a ridiculous number of projects ongoing at any
time, a recently developing project has taken my fancy because it
promises to offer good dividends.
The project, called "Raiders of the
FTP Sites", well, speaks for itself.
It is a system that searches FTP
sites for interesting artifacts and retrieves them.
It works by
correlating subject matter of interest with FTP sites, extracting a
recursive directory listing of the FTP site, and then performing
several analyzes of the contents.
While still a very immature system,
it has yielded up a labelled resume corpus which will help the
job-search program.
Reading Analyzer
Determine the intellectual caliber of a text
It is a theory of mine that linguistic expressitivity supervenes
on thought.
How can one reason with something if they cannot even
precisely state it?
This system is geared at determining the
intellectual caliber of a text.
It will assist then in locating
similar texts.
It works with all to teach the user concepts in
the text they don't already know (provided it can know them
through some means).
It works with sayer and thinker otherwise.
Receipt Manager
Track purchase receipts
Receipt manager is a system to track purchase receipts for the
purpose of indexing inventory and supplier data.
Other
applications include financial tracking, expense reporting, pantry
management, shopping and resupply management, crowdsourcing,
bargain hunting, etc. Our main application is for pantry
management and resupply.
Our intention is to use OCR and custom
parsers to extract product information, and synchronize it with
scanned barcodes.
The process should be no more difficult than a
self-checkout at a grocery store.
Then the updated inventory will
be made available to the meal planning system.
And the supplier
information will be useful for when it comes time to reorder
products.
Recommender System
System to recommend information to the user based on info it already knows
This is a recommender system which works with the Free Life
planner to make good suggestions to the user based on what it
already knows about the user.
For instance, if you have a certain
political belief and you are about to buy something from a company
that opposes your belief, you'd be warned.
Also, it tries to
proactively find out information about the user and recommend
things to help their life situation.
Example I've used before is
if it asks you and determines that you have pets, in particular,
cats, and that you are trying to save money, it would recommend to
purchase cat Litter from the Dollar Tree store where there are
currently large bags of it for merely a dollar.
If the person had
children, it would advise them differently based on this
information.
The Recommender system gets its data from crowd
sourcing and it's own readings.
It is intended to be the first
alexa Skill we release as a test bed of the certification process
and to eventually drive users to the freelifeplanner.org website.
Recovery-FRDCSA
Reassemble lost parts of the FRDCSA
At one point in the history of the project, the main FRDCSA system
was destroyed.
All that was left of it was one partial backup on
a remote site.
As you can tell, lots was lost.
But, echoed
throughout that backup were some projections of parts of the data.
For instance, many capabilities were listed on the webpages.
This
enabled the reconstruction of various parts of the project.
Though several years of unilang messages were sadly lost, many
years were restored through such files.
They were recently
reloaded into unilang, enabling the regeneration of the FRDCSA
static web sites.
Release to Github
Helper functions to speed release of our software on github.com
This software attempts to make releasing to github easier.
It
tracks all previous redacted information by comparing our version
to uploaded ones, as well as allows us to use kbfs to annotate
sensitive information and files, and infer from this what other
information in the project might be sensitive.
This is to speed
up redacting for deployment on github.com, so that the FRDCSA is
more transparent until Panoply or whatever successful distribution
mode is achieved.
Possibly will try to create an installer that
uses the github.com to build an FRDCSA instance.
Also helps us
with differential releases, where the system may have diverged
from the redacted branch.
Should probably use actual git branches
to achieve this.
Research Ontology
An ontology of existing research areas, problems, techniques, capabilities, etc.
The Semantic Web has led to some interesting collections of
metadata regarding scientific research.
The goal of this project
is to collect this useful information.
Resource-Manager
Tracking critical life support and productivity resources.
Resource manager aids the inventory management system under
development.
It mainly looks at the availability of resources and
the management of distractions in order to maximize productivity
on the project, since productivity leads to solved problems which
contributes to stability which recycles into productivity.
It is
kind of a cross roads project, integrating things like bill
payment, shopping lists, supply chain info, productiivty
conditions, trip plans, resource usage rules, etc.
Reward Ontology
Knowledge about what motivates individual people
Tries to distill a picture of what a person desires and what can
be used as a reward signal in order to improve performance towards
community goals.
RSR
Artifical emotional intelligence
RSR is a psychometric reporting system for users to record their
present condition and beliefs, etc. rsr combines this information
with that from other systems and mines causal relationships.
Behaviour modification training, changes to SOPs, and new goals
are used to eliminate undesirable states.
RSR also exports its
functionality as a decision aid to other systems.
For instance
machiavelli will use it to model/monitor other people's emotions.
RTE
Software to run RTE using CandC's Nutcracker system
While we have the project Free rte, there has since been released
the CandC rte system.
I am however having trouble getting this to
work.
It runs but the theorem prover does not return.
I am
trying to get ahold of the correct version of the vampire theorem
prover.
SAFE
System to edit planning information
Sayer
Cognitive system that analyzes data structures for meaning
Sayer gets its name because it builds a context by asserting
interesting facts about arbitrary Perl data structures.
Sayer
(along with thinker) is one of the most interesting projects of
the FRDCSA.
What it does is index arbitrary perl data structures,
and attempt to derive interesting information and conclusions
about that data using machine learning.
For instance, if your
data structure consisted of a string, and that string contained a
paragraph of text, sayer would apply a decision tree or similar,
set of tests, to determine that it indeed was as we described.
It
would represent this relation as a graph, with verticies as
data-points, I.e. the input, and "true", and edges as function
calls.
All data of course is stored to a database.
This graph
data is then used as input to classifiers that attempt to distill
summarily interesting information about said data.
For instance,
if it is a sentence, it may well wish to perform various NLP
procedures, extracting things like named entities, and recursively
analyzing those within it's attention span.
It uses Perl as
knowledge representation interlingua.
The architecture is
expansive, complex, and beautiful and integrates many other FRDCSA
systems.
Sayer-Learner
Combines aspects of Sayer and Learner
Sayer is a system for positing things about data.
Learner is a
system for predicting future relationships based on given
information.
Sayer-learner is a way to expedite the development
of both systems.
Scrubber
System to deidentify information
There have been several scrubbing and deidentification attempts
through the years.
This one seems to have gotten the furthest.
The other ones are classify and release-manager.
A new module was
created called Capability::Deidentify, which uses system::DeID as
one possible engine.
Unfortunately, the overhead on running this
is quite high per invocation, but DeID being written in Perl
should be amenable to being unilang-agentified properly.
Another
feature of scrubber is that it has many keybindings for redacting
text, and asserts redacted text into the KB and can automatically
redact it from the selected or a set of documents.
KBFS tracks
the metadata regarding the files.
Sensor-Network
Integrated sensor-network system for FLP
Setanta Agent
Intelligent IT and scripting transportable agent
Setanta agent can administer machines.
It can read man pages and
understand the options, and write perl scripts.
It can transport
itself through the internet.
It could administer a defensive
network, and recognize network attack plans.
It does this using a
multi-agent coalition logic, plan recognition, the ability to
read, understand and write shell and perl scripts, the ability to
understand natural language, a knowledge base and reasoning
engine, a plan library, and so on.
Situated Agent Attempts
Attempts to build a "software robot" that can control a Linux system
In the 90s lots of work was done on SoftBots, i.e. software robots
that operated in domains such as a Unix environment.
We're
attempting here to build one that can interact with a vagrant
virtual machine, such that we can checkpoint, experiment, measure
and restore until the system learns enough about the cause effect
relationships on Linux and other Virtual Machines, in order to be
able to construct plans to achieve goals.
SKME
Extends KMax, or is rather synonymous with it
Social Media Presence
System to coordinate, and log posts to different social media platforms
The field of social networking has expanded greatly and therefore
a custom built system designed to handle the outreach efforts of
the FRDCSA Project on multiple social networks and tightly
integrated with the FRDCSA architecture is now under development.
It also functions in other capacities, as a reference section and
also a logger of posts to combat censoring.
Software Finder
Searches the web for software that performs a specific task
Software Finder mainly consists of radar-web-search, a program
that searches yahoo for systems that have a certain capability.
Special Lug Admin
Software to manager Linux User Groups
In order to manage LUGs in an objective way, we are developing
software to automate many of the common tasks, such as talk
solicitation, scheduling and announcements, etc.
Spider
A focused-crawler for web information extraction, etc
Able to crawl websites, storing multiple versions over time like
the wayback-machine.
It is especially desired that this system be
able to deliberate as it spiders, by using the nlu capabilities of
FRDCSA.
Ideally it should work similar to a web/unix softbot.
Spreading Activiation Package Search
A system for finding software suitable for a purpose
This system is related to system Recommender but takes much, much
longer to run, due to its underlying spreading activation engine.
Shared Priority System Editor
System to edit planning information
The Shared Priority system Editor allows us to rapidly edit and
relate sets of goals and to place constraints upon them such as
what they depend on for completion, and what time constraints
there are related to them.
All of this information is then
exported into a set of assertions that can be systematically
reasoned with in order to generate appropriate plans.
Various
natural language processing techniques, such as Textual Entailment
Recognition, are applied to aiding in the elicitation and
breaking-down of knowledge about the situation being planned.
Also, recently, we have added tools for visualizing not just
planning domains but a large number of other domains requiring
similar interactive graph based visualizaition.
SPSE2-Formalog
SPSE2-Formalog allows us to circumvent some of the limitations of SPSE2
Suppositional Reasoner
System to manage, view and edit game state, moves and plans, etc
Suppositional reasoner currently uses GDL, but should be expanded
to handle more gaming abstractions, such as FLP, TIELT, gym, etc.
It allows one to load various games, view the state and edit.
The
idea is to provide an interface to allow positional theorem
proving of game positions/states.
It runs in emacs, allows
enumeration in a buffer of all Ist-Asserted and Ist statements (w/
closures where necessary).
System-IE
IE tools and datasets to extract system names from websites, documentation
System-IE currently uses MinorThird and a homegrown dataset to
train and extract the names of systems from documents.
System Iterator
Iterate over lists of systems and download, package and upload the
result.
system-iterator is a (rather weak) play on words.
It's mission is
to iterate over FLOSSMole, or rather cso, sets of packages,
perhaps using information such as auto tagged debtags or other
resources from folksonomy, and download and package the various
systems automatically, using all the various toolchains in
existence such as auto-packager, etc. It's a play on words
because in one sense, we are iterating over lists of systems and
packaging them (yes it should be able to accept lists of systems
as input, such as from vger and package-priority-queue).
But in
another sense, each time we package a system, we are developing a
new iteration of the sequence of increasingly complete FRDCSA
supersystems.
It differs from vger in that it doesn't seek out
software through focused crawling, but iterates over known
software.
It is similar to but more general than game-time.
System Recommender
Capability based CSO system search
Searches cso for software that matches desired capability.
Uses a
primitive collaborative filtering implementation to rate software
for applicability to a specific purpose, and then finds related
software.
Rate, filter, repeat.
Task Manager
Gnome applet to interrupt user with important task reminders
Knowing when and how to bring time-sensitive informatino to the
user's attention is extremely critical.
This is one of the
various aspects of executive skills management that makes up the
cognitive prosthetics aspect of the FRDCSA.
Task Tagging System
Learns how to tag PSE-x tasks for various important categories
Tags include personal, work, finance, cell phone, and so forth.
Text Analyzer
Apply various NLP to text
This system I actually forget what it is supposed to do.
I think
though that it was intended to provide for a comprehensive
analysis of text, such as fact extraction, NLP etc. It would
operate on top of something like sayer.
The FRDCSA Book
Effort to develop the definitive text on the FRDCSA
It may help to attract developers, facilitate progress, solve
problems affecting people, and perhaps to generate some revenue
towards the continuance of the project, to publish a text on the
workings of the FRDCSA.
Todo Systems
A collection of initial attempts at various aspects of todo systems
The FRDCSA has a long and glorious history of incomplete todo system
implementations.
To wit: score, do, Lightspeed,
Normal-Form/Spark, Todo, pse, Agenda, system-planning, and
task-manager, to name a few.
It is a tough domain.
(Fortunately,
recent work on freekbs has enabled the creation of a set of tools
for efficiently working with goals.)
Additionally, each system
catered towards a different aspect of the so-called executive
skills.
This system therefore is part of the FRDCSA research into
cognitive prosthetics.
This system aims to integrate all these
aspects into a new system with superior capabilities - that will
definitively secure the solution to this challenging domain, at
least enough of a solution to keep us on track to achieve the
final product.
It has been rather successful lately in helping
remind me to execute common tasks, although much further work is
needed.
Twitter-Follower-Analyzer
Classify your followers
This program classifies twitter followers according to various
categories they exhibit.
For instance, if they appear to send out
only spam, or if they retweet, or talk about only a few topics,
etc. This is useful in determining what block operations to
perform on followers based on the contents of their posts and
other account properties.
Message Classifier
Classify UniLang messages according to intent
This is a subsystem of corpus (that is related to critic) that
attempts to apply various strategies to determine how a unilang
message should be classified.
UniLang sends corpus the log
database entry id of a message, and corpus should respond with a
set of prescribed actions.
One strategy is to use classifications
proposed by the user.
The annotations are created through one of
several interfaces (a critic script and the critic freekbs
interface).
Another strategy is to apply sayer to the message to
obtain semantic information about it, and use that context to
derive the desired results.
Another strategy being looked at is
to group entries together based on approximate lexical patterns.
Vanity-Search
Determine search rank for various pieces of information
Sometimes it is useful to obtain an idea of how far down the
search rankings a particular piece of information is. This system
measures that.
SEO in general is somewhat shady IMHO, but it
helps to give one an idea of why a particular idea is not being
visited upon.
VM Release
Constitutes a Virtual Machine release of the FRDCSA
A fully running virtual machine with all the FRDCSA software
installed and running.
Web Analytics
This is a work system that measures website efficacy.
Web-Backup
Archive important web sites
There are often times that an important website is about to be
shutdown.
It may be so important that we cannot trust to the
internet archive to keep a backup, such as in the case of
Fravia.com.
While caching/annotating useful web content is a very
important area, this is just a simple project for archiving major
sites.
There is really no code of which to speak.
What To Do
Recommender system that integrates with your tasks, goals, etc
What to do suggests different tasks that the user can do when they
have trouble thinking of something to work on.
The system uses a
few heuristics to improve the recommendation.
But mainly it can
be used to recommend studying and software development activities,
as well as entertainment and other pleasurable activities
(suggested as rewards for actual accomplishments in order to help
facilitate a gamified and rewarding experience that keeps the user
engaged in the attempt to resolve their problems and mitigates
fatigue and frustration).
Workhorse
System to read and understand books and other texts
Workhorse is a system to set up dedicated servers for the creation
of tagged, analyzed and understood texts, and other linguistic
research.
For datasets, we have Wikipedia, Gutenberg, and
hopefully fulltext books from Google Books, all appropriately
licensed.
We aim to develop a highly annotated freely-available
corpus of marked-up texts that have been processed with a wide
variety of state of the art systems.
We also aim to apply natural
language understanding, knowledge base population, and other
techniques, onto the texts to derive useful knowledge.
WSM
Responsible for tracking and syncing real-world state in order to plan
WSM is similar to the Sentient World Simulation.
It is
responsible for establishing models of the real world based on
evidence it comes across.
For instance, a temporal semantics has
been implemented based on recording observations of the real
world, and knowing the last known state for a particular relation
or predicate.
Eventually, would like to track confidence, and
learn how quickly uncertainty usually grows regarding specific
facts, and try to infer when circumstances dictate that a
particular fact is likely to have changed.
This will integrate
with sensors such as basic ones all the way to video object
recognition and resolution.
WSM
Responsible for tracking and syncing real-world state in order to plan
WSM is similar to the Sentient World Simulation.
It is
responsible for establishing models of the real world based on
evidence it comes across.
For instance, a temporal semantics has
been implemented based on recording observations of the real
world, and knowing the last known state for a particular relation
or predicate.
Eventually, would like to track confidence, and
learn how quickly uncertainty usually grows regarding specific
facts, and try to infer when circumstances dictate that a
particular fact is likely to have changed.
This will integrate
with sensors such as basic ones all the way to video object
recognition and resolution.
XWordNet Utils
Tools for working with the XWordNet data
XWordNet is a useful source, where all wordnet glosses have been
converted into logic forms.
This is useful for expanding the
meaning of words to aid in lexical inferences in systems such as a
Recognizing Textual Entailment system.
XWordNet-Utils has perl
functions for interacting with the dataset in meaningful ways.