FRDCSA | minor codebases | IAEC

[Project image]

Architecture Diagram: GIF

Jump to: Project Description | Parent Description | Capabilities

Project Description

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's programming because it integrates external data read from books and such into it's own system coherently, and thus mines and learns.


  • iaec should use km
  • workhorse should understand the difference between a sentence, a paragraph, etc. This info should be given from the iaec/universal-parser stuff.
  • iaec can use recommender systems datasets as inputs to "interestingness"
  • Get iaec VM set up, control iaec from within Emacs, have it have the ability to open files of interest and annotate them. Kind of like Do::ListProcessor4, only all from within Emacs. Allow the user to control it as well. Monitor the state of Emacs, as input to the planning process.
  • iaec should be responsible for taint analysis.
  • iaec should have a mechanism where it defeasibly updates future computations based on better implementations of functions. For instance, if my CycL converter is incomplete and generates partial translations, then when a better CycL converter is implemented, propagate the corrected versions through and change things dependent on it, or at least record the new application.
  • iaec see: http://www.cs.ox.ac.uk/activities/machinelearning/PProgol/ppman.html#SEC12
  • Make iaec fluent with all data representations.
  • This may be risky, but maybe we should look into a market based allocation for attention for iaec.
  • When we have iaec and nlu done, use it to analyze source code like a human would, simulating things based on their knowledge of the language. Like what happens if you use a given statement at the beginning of the program, etc.
  • With iaec and nlu etc, set up taint analysis so that we can determine which information we can distribute and such.
  • Record in FRDCSA reasons why or why not a given piece of software can or cannot provide a given service. For instance, what is the status of CIAO prolog providing iaec persistence?
  • nlu iaec et al should consider the use of FramerD
  • iaec http://infolab.stanford.edu/lore/
  • Look into Internet of Things for iaec.
  • iaec should look at this to see if it's the same: http://docs.mongodb.org/manual/'
  • See if you can take git version histories, and try to predict what should be added to code on the basis of this. Use this as part of iaec.
  • Code monkey and iaec are program analysis tools.
  • Think of iaec as a search problem, use BPS for that.
  • Just as in how I would define things that I hadn't seen very often by remembering all the bindings or examples of their use, nlu/iaec/sayer2 should remember all invocations of text / data in context. So for instance, if it saw a particular word, it would track all usages of the word, and all data sources like WordNet mentioning it, and cross reference them.
  • I wonder if we could use UniLang as the record for iaec, and have it fill out things and observations, just as I do, with provenance information provided. Maybe can even train on this.
  • See about if there is any meaningful integration of AM-utexas with GDL, and link to iaec.
  • iaec and thinker are similar.
  • Think about iaec issues of monotonicity.
  • As much as is possible with iaec, integrate existing solution methods to help propose candidates for evolution.
  • See about integrating adversarial search or such into iaec.
  • One possible thing to do to get the auto-programmer and the iaec and system-implementor working, would be to have it try out every different possibility of mereological type such as when KNext is saying that something may be a certain way, but it is unclear which way it is. Could also order them by probability, such as by using WSD results. This way, the program can direct it's evolution. Then we can simulate everything from the structure describe by the text, as input to the program for trying to evolve programs to solve problems. Awesome.
  • Integrate SAGE with iaec.
  • See about integrating OSCAR into iaec?
  • Possibly use acl2 with iaec
  • Integrate Mizar into iaec
  • See about incorporating the model-based problem solver into iaec
  • Have iaec learn correlations between features of words, such as -TheWord postfix being related to certain kinds of things in Cyc.
  • Apply the function learning aspects of iaec to Emacs functions, among others, as part of KMax.
  • iaec is the new name for AM-Eurisko-Cyc-BPS
  • Suppose iaec could have arguments akin to the ArgMAS systems instead of "symbolic reasons" i.e. tags, explaining why the task is worth doing.
  • A funny name for a system would be iaec, e.g. "I AM EURISKO CYC" read "I am Eurisko, psyche!"

This page is part of the FWeb package.
Last updated Sat Oct 26 16:39:53 EDT 2019 .