Monday, November 3, 2008

More Research Bullet Points

Also wanting to track other things on my sometimes-too-subconscious radar, here are additional bullet points to follow up my research mission statement:

  • Good enough now is better than perfect later. Related to performance profiles and satisficing.

  • Multiple strategies at all levels simultaneously, including alternate algorithms. Different kinds of feature spaces in use. Parallel computation to let bests bubble up on different paths. (More on this and the next bullet discussed in my later "prioritized reduction engine" post.)

  • Metathinking. How to decide what to think about. CPU cycles are scarce resources.

  • Software built to be usable by third parties, not just for experiments. Open source where possible.

  • Multiclass assignment ("tagging" in modern netspeak) and fuzzy class membership.

  • Graph structure matching (analogies). Relationship to traditional predicate logic?

  • Ensemble of simple behaviors often better than single complex ones.

  • Allow compromise between behaviors. I might want to rest an injured leg, and I might want to walk somewhere. One doesn't have to rule out the other. I might just walk slowly, more carefully, or less often.

  • Automatic splitting of problem space into different behaviors. (Learning basis functions.)

  • Behavior activation/deactivation based on applicability and thinking resource limitations.

  • Behaviors as semi-peers rather than specific layers. The kinds of controlled actions or perhaps group activation/deactivation might imply layers still.

  • Root behaviors live independently. Some behaviors could spawn others which might be short-lived. Longer-lived behaviors might attach themselves as roots.

  • Hmm. Almost sounds like a hurd of interfaces representing depth of Unix-replacing daemons of interfaces representing depth ... I mean, like a multitasking operating system. No, I've sadly never used GNU Hurd.

  • Simulation is nice, but real world rules.

  • Most things shouldn't require huge hardware. If it doesn't go fast enough, find better algorithms.

  • Be willing to be inspired by biology, but don't get too committed to the idea.

  • Dynamic dimensionality. If sensors or actuators (or intermediate computation results) come or go, the show should go on. Algorithms shouldn't need recoded to deal with extra dimensions.

I've been warned some about watching ideas closer so other people don't steal them and publish first, but I think my chances of being seen by a potential idea thief are low. Until I get super famous (cough, cough) of course. And most people prefer to pursue their own ideas more than those of others.

And finally, I can't do everything anyway. If someone gets cool ideas from me, I guess I'll just have to hope it's something I wouldn't have gotten to.

Finally, this stuff here is still pretty high level. Not exactly a how-to manual. Need to figure out all the how-tos myself first, anyway, if I even get to focus on any of this.

So, um, steal away or something.


  1. I've added and modified a couple of bullet points. I wish Blogger kept history like wikis.

  2. Added basis functions comment.

  3. And dynamic dimensionality bullet.