Bitphase Moves Forward Friday, Nov 10 2006
AI 9:04 pm
Today I amused myself for 10 minutes playing a small AI pathfinding demo on bitphase.com, the website of Bitphase AI Ltd., a startup by British software developer Michael Wilson.
On his blog, Wilson writes:
I’ve put up the first web-based demo of the (current) Bitphase system. It’s not all that impressive to look at, though I think the stuff going on behind the scenes is pretty neat; it generates pathfinding algorithms (usually a variant of A*) using a combination of heuristics, hypotheses and directed experiment. In short you can draw a little maze and watch the AI trying to solve it without any prior knowledge of how to move around in 2D space.
And incidentally, Wilson has added a lot of preliminary material to the Bitphase website. He describes the technology he is working on, and some solutions it will provide. The claims are ambitious:
The Bitphase engine can extract complex causal models from raw data, by applying a variety of pattern recognition and machine learning techniques and combining the results. These models can then be queried interactively to return the probabilities of particular statements or outcomes, optionally with additional user-specified assumptions, or linked to an automated decision system. The Bitphase system supplements its library of standard analysis techniques with customised algorithms generated and refined as it analyses the data set, delivering outstanding predictive performance and efficient use of compute resources.
Our technology excels at finding and exploiting complex, conditional patterns and layered structure that simpler and more conventional data mining techniques miss. The models produced by the system are open to human inspection and unlike opaque systems can benefit from human refinement and tweaking. If you have a tough data mining application and desire a higher level of performance than existing techniques can provide, a Bitphase solution may be able to deliver the results you’re looking for.
Bitphase, Ltd. will soon be relocating from Sheffield to London, and will be hiring for several positions. Will Bitphase fall flat on its face, or make millions, automating important aspects of human reasoning and accomplishing things never before thought possible? If Wilson’s innate intelligence is any indication, I think they will do quite well.




Hi Michael, that was quick. :)
I should probably clarify a few things;
* This is the experimental version of the system, which is focused on designing code from scratch. The things it can do at present are mostly trivial tasks for human software engineers, but it’s a significant advance for an AI to do them at all.
* The commercial system is quite different; currently it’s focused on prediction and decision making using (essentially) continuous probability distributions and expected utility in fuzzy/messy domains, rather than these neat microworlds.
* At some future point I plan to closely integrate the two sets of components, which should be a big jump in overall capabilities. The high-level automated code generation capability will hopefully be the basis for a line of pretty revolutionary software engineering tools, though that’s some way off at present.
Even if your generous assessment of my research capabilities is correct, it takes a lot more than that to create a successful company, as I found out in a very direct fashion with my first (MMORPG) start-up. Fortunately this time I really am solely the ‘research and development director’, not the effective CEO and finance director as well. Bitphase AI is a joint effort with two directors who jointly founded and ran a pair of very successful AI-focused start-ups in the 1980s and early 90s, plus a sales/development manager with an impressive track record. It’s a solid, experienced core team and though it’s still early days for the company, things are looking good so far.
What information about pathfinding is given to the AI before the task?
At start-up the AI has a basic concept of lattices (which is to say a small bundle of inference rules and heuristics for reasoning about lattices, a subset of the knowledge about graphs), and can recognise the visual data as a 2D grid (of pixel primitives). It also has the notion of set cardinality; the goal is specified in terms of minimising the size of the set of (movement) actions the AI will take before the green pixel is gone. In this task the inference system recognises that getting into the right row and getting into the right column are semi-orthogonal tasks if diagonal movement is available (which the joystick-like control interface suggests), so there may be several minimum-possible-length paths (quirk of the microworld). When the hypothesis ‘walls are solid’ gets confirmed A* is derived from the notion of checking all length 1 paths from the current location, then all length 2 paths, then all length 3 paths etc. The translation of that into code works by creating a generator for a minimum path generator; a function is designed and executed to mark up the graph with traversal distances, then another function is designed and executed to find a path from the goal back to the current location. It’s pretty inefficient; for one thing the AI should notice that the second function doesn’t need complete data for its intended use, and the first function can return as soon as it attempts to mark the goal pixel. When I get time I’ll enhance the applet a bit and port some optimisation knowledge over to the associated AI state image.
Incidentally Java in Firefox seems to be a bit hit-and-miss; sometimes it deregisters the plug-in (along with others) when it auto-updates. Reinstalling the JRE is usually the easiest way to fix the problem, though if you can’t see the applet and you’re using Firefox on Windows give IE a go first (much as I hate to say it). Alternatively, type ‘appletviewer http://sapphire.bitphase.com/pathfind1.html‘ into a console window/command prompt.
The pathfinding thingy is not doing anything for me. It just sits there and says it’s starting the AI task. It doesn’t even find a straight path two blocks away. I must be doing something wrong.
I majored in motion planning myself, so this kind of appeals to me.
Checking the server log, there have been a couple of tasks that aborted due to a broken network connection, but neither of them are near the time of your comment. If you got as far as being able to start an AI task in the first place, the applet must have been able to connect to the server ok for the initial handshaking. Once you start the task the server basically streams 4-bit uncompressed video (at very low resolution and frame rate) to the applet. I can only assume there’s some sort of network problem blocking that traffic.
Hey dude, was just browsing through the internet looking for a bit of information and came across your website. I am very impressed by the info that you have written on this site. It shows how good you understand this subject. Bookmarked this page, and will come back for more. You, my friend, ROCK!!!