blackboard systems - a way of many AIs working together

  • 4 Replies
  • 2669 Views
*

Ben.F.Rayfield

  • Bumblebee
  • **
  • 38
blackboard systems - a way of many AIs working together
« on: July 02, 2015, 07:12:19 am »
https://en.wikipedia.org/wiki/Blackboard_system
Quote
A blackboard system is an artificial intelligence application based on the blackboard architectural model,[1][2][3][4] where a common knowledge base, the "blackboard", is iteratively updated by a diverse group of specialist knowledge sources, starting with a problem specification and ending with a solution. Each knowledge source updates the blackboard with a partial solution when its internal constraints match the blackboard state. In this way, the specialists work together to solve the problem. The blackboard model was originally designed as a way to handle complex, ill-defined problems, where the solution is the sum of its parts.
...
The following scenario provides a simple metaphor that gives some insight into how a blackboard functions:

    A group of specialists are seated in a room with a large blackboard. They work as a team to brainstorm a solution to a problem, using the blackboard as the workplace for cooperatively developing the solution.

    The session begins when the problem specifications are written onto the blackboard. The specialists all watch the blackboard, looking for an opportunity to apply their expertise to the developing solution. When someone writes something on the blackboard that allows another specialist to apply their expertise, the second specialist records their contribution on the blackboard, hopefully enabling other specialists to then apply their expertise. This process of adding contributions to the blackboard continues until the problem has been solved.

The main bottleneck in neuralnets is they have far more connections than variables to store data as short term memory or sequences. Often you need it to learn a process with many steps that involves copying and transforming data between many parts. Neuralnets are great for things that can be imagined all at once or in just a few steps, but whats missing is what people use a pen and paper for, or more recently a text file or paint program. We write things and come back to them later. Neuralnets are much more powerful if they have places to store the numbers in their nodes (which may be bit or scalar).

To store the numbers in their nodes or go back and read them later, the neuralnet would need a way to choose where to read/write and which of read or write to do. This can be done by moving a window of variables over the area it can read/write, and hooking some of the neuralnet's variables into where it moves next and what to do when it gets there. The simplest way is 1 dimensional where 1 variable chooses to move it left or right 1 square, like in a turing machine. It could also be 2d or more dimensions or have other amounts it could move. There could be another variable that moves it 100 squares left or right, so then it could move 99 or 101 squares either direction. Combining variables of different amounts of movement, especially powers of 2, it could choose to move any distance or it could be to any specific place. Then read or write the bits in the "window of variables" to/from the "visible nodes" of the neuralnet and run it as usual.

A kind of blackboard system would be if many neuralnets did that together, some reading what the others write in the big space of variables.

This could be hooked into any kind of AI system that uses neuralnets.

*

ivan.moony

  • Trusty Member
  • *********
  • Terminator
  • *
  • 800
  • Can computers cry?
    • Structured Type System
Re: blackboard systems - a way of many AIs working together
« Reply #1 on: July 02, 2015, 07:25:12 pm »
With www, so many idle computers can in parallel give their processor power for solving heavy tasks. An old idea, but it fascinates me. The problem is how to get a crowd to visit the site with distributed javascript algorithm.

It should be something of public interest, maybe people could vote how much of their computer idle time would they want to commit to what specific task. Something like: I want to give 50% of my computer's idle time for finding a cancer cure, 25% for advance in physics and 25% for advance in chemistry.

And server would happily crunch results of its distributed client grid. This could be installed on site for playing games, the site should provide cool games to attract public. Or you can offer some other unrelated services which would gather crowd.

But first things first, you have to know how to provide advances in sciences, meaning you have to have an AGI scientist first. I have some ideas, but it is not tested in reality (remember inductive finding new formulas in logic I wrote about? The same should go for chemistry and physics and I hope for everything else)

I have some plan in a distant future to build distributed behavior in a new web operating system I plan to develop (it would run on pure php+mysql+javascript). Wouldn't it be nice if *every* computer that is running Linux or Windows could be used for parallel processing? A lot of processor power. Even without a new operating system, a native Linux / Windows distributed app could be built, but it is hard to attract users. Distributed algorithm should be built into the core of an operating system for the greatest user count.

And if you want the real business, users could even sell their processor power. An agency could exist which could mediate between power sellers and power buyers.

A lot of things to do, yet to be seen how far it will go.
If you vaporize a teardrop, you get a salt.   :flake:

*

Ben.F.Rayfield

  • Bumblebee
  • **
  • 38
Re: blackboard systems - a way of many AIs working together
« Reply #2 on: July 03, 2015, 12:54:14 am »
javascript is a slow language. We tolerate that because its so useful on the web. You shouldnt use it for grid computing. You'll get maybe 10 times faster with C or Java. But even those arent how you should grid compute because GPUs are generally a few hundred times faster than CPUs on the same computer. Their problems are they arent much standardized so are hard to access consistently and reliably and you have to separate your program into many GPU threads to make use of its power. Still, GPUs are by far the fastest way to do digital grid computing.

I'm still looking for what calculations I want to do before I figure out how to make them run at grid computing speed.

Quote
But first things first, you have to know how to provide advances in sciences, meaning you have to have an AGI scientist first. I have some ideas, but it is not tested in reality (remember inductive finding new formulas in logic I wrote about? The same should go for chemistry and physics and I hope for everything else)

Nobody is an AGI scientist yet until we actually build it. But I have put years of my life toward that goal.

You should look into the new decentralized grid computing systems before building an entirely new one. Theres maidsafe and ethereum at least.

I'm going for some kind of shared space on the Internet where many millions of people (hopefully, so I design for scaling) will build new kinds of AI and game objects and draw in flowing colors shapes and patterns, to build the game from inside the game. Its not easy abstracting that far, so I've settled on a few basic things to get started. Everything goes in my kind of mindmap which is lists of lists of lists in networks with cycles, and each list has a definition thats all editable. This is where you just organize stuff. The game and AI objects go in there. The intelligence of these objects will be variations of whats in this thread, the blackboard system with neural windows sliding over the variable spaces and reading and writing while choosing where to go next. The game objects will be blobs that learn shapes and bounce and grab and reshape eachother as they use eachother as tools. The blobs (just physics so far, no AI hooked in yet) are prototyped in (opensource GPL) https://sourceforge.net/projects/smartblob This will be a 2d space with many people in it building things for fun and scientific research on AI, played with in these smartblob game objects.

Nobody will use your computing grid if it doesnt have a killerapp to prove what it can do and get people playing with it. Maybe you should stick to specific programs instead of the infrastructure layer for now. Theres lots of us working on infrastructure and we'd love to work together at the app layer with many of eachother.

*

ivan.moony

  • Trusty Member
  • *********
  • Terminator
  • *
  • 800
  • Can computers cry?
    • Structured Type System
Re: blackboard systems - a way of many AIs working together
« Reply #3 on: July 03, 2015, 12:15:46 pm »
javascript is a slow language. We tolerate that because its so useful on the web.

Actually we more than tolerate it. It is for better and worse (with all its drawbacks) because users aren't too eager to install native add-ons for browser or other applications from the web. It is because they either don't know how to do it, either they don't want to pollute their machine with new apps.

Javascript is a must have for concurrent task management if you want a greater count of people to contribute, but it's just my opinion.

Quote
Nobody is an AGI scientist yet until we actually build it. But I have put years of my life toward that goal.
Actually I meant artificial AGI scientist.

P.S.
Did you see asm.js? They claim that they have achieved speed in Javascript two times slower than native applications and it is compatible with all browsers. There is even Emscripten, c++ to asm.js transpiler. Rumor goes around that they even transpiled DosBox to web application, so you can run native Dos apps inside browser.
If you vaporize a teardrop, you get a salt.   :flake:

*

ivan.moony

  • Trusty Member
  • *********
  • Terminator
  • *
  • 800
  • Can computers cry?
    • Structured Type System
Re: blackboard systems - a way of many AIs working together
« Reply #4 on: July 04, 2015, 06:19:49 pm »
The TPTP (Thousands of Problems for Theorem Provers) is a library of test problems for automated theorem proving (ATP) systems.

What is interesting is that TPTP inspire for having a big knowledge base like Yago-Sumo online that could solve problems through distributively crunching data by different machines connected over web.  :D

The technology is already out there, someone just has to carry it into effect to start a new era of science where united web of devices would constantly make artificial intellectual contributions. You just pose an intellectual problem to the server and you get notified by e-mail when a solution is found. True AGI is not even needed with a system like this to i.e. find new drugs and cures to diseases, explain chemistry or physics phenomena or generally find ways to solve different on-earth problems.

This is definitely on my to-do list.
If you vaporize a teardrop, you get a salt.   :flake:

 


Users Online

26 Guests, 0 Users

Most Online Today: 52. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles