12 Replies - 4306 Views - Last Post: 02 November 2013 - 07:25 AM

#1 Little Horse  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 16
  • Joined: 10-April 13

one big machine

Posted 10 April 2013 - 12:21 AM

Hi everyone, i'm new to this forum, so : hello world !



It's not exactly a project, since i'm not currently planning to make it real... just an idea i'd like to talk about.

This is about strong general AI (maybe even synthetic consciousness), using a Freenet-like network & the Lua programming language.

If you don't know them, please have a look at :
- Lua : http://www.lua.org
- Freenet : https://freenetproject.org

On Wikipedia's AI page, we can see there's a lot of different approaches, tools, systems, mechanisms, mathematics, databases, whatever... The idea of one big machine is to integrate every invention ever made into a single entity. I guess it's not the first let's-put-all-in-one kind of idea...

Rather than a long boring text, i'd sum it up with the following main concepts :



freenet-like
- shared memory space
- files are deleted only when not used

node
- can be a home computer
- also shares unused CPU (a bit like BOINC)

tables
- are associative arrays (Lua syntax)
- are files
- associate "key" files with "value" files

files
- any kind of file
- published, read, and modified by actors

actors
- can be software Agent (static location, any kind of executable)
- can be Human user terminal (static location, maybe configurable GUI)
- can be Luapse (Lua synapse) (variable location, small Lua program)

propagation
- each file has a list of actors to warn (automatically) when it is modified or "touched"
- these warnings contain only the file's ID
- actors can also "touch" files : make them propagate without modifying them



Most of the work is done by software Agents, which are big programs, located (and staying) each on one node, implemented in any language, running on any platform. Each Agent can perform very well the specific type of task it has been made for (like bayesian inference, genetic programming, goal-based path finding, image analysis, big ontology stuff, ...etc), using local ressources. Typically, an Agent takes some files as input, and outputs another file, in another format. When its input files are modified, the Agent is warned, so it can modify its output file(s). There are also Luapses, which are tiny Lua programs used as glue : propagation, condition tests, simple table updating... A Luapse can be stored redundantly on several nodes.

I've tested Freenet, and i know it's actually slow. So that would be a slow... entity. But we probably look slow, to a fly.

Technical & ethical aspects are interesting... What do you think ?

Is This A Good Question/Topic? 0
  • +

Replies To: one big machine

#2 modi123_1  Icon User is offline

  • Suitor #2
  • member icon



Reputation: 9277
  • View blog
  • Posts: 34,789
  • Joined: 12-June 08

Re: one big machine

Posted 10 April 2013 - 06:45 AM

Sounds interesting.. keep this thread posted.
Was This Post Helpful? 0
  • +
  • -

#3 Little Horse  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 16
  • Joined: 10-April 13

Re: one big machine

Posted 11 April 2013 - 12:27 AM

Sure, i'll post ideas when they come :)/>

Today's idea : files life expectancy.
In freenet, files are deleted only when they're not used for some time, and when there's a need for space. But our machine here doesn't have RAM, so there will be a lot a files created only for short-term treatments. Short-term memory accumulation would eventually cause long-term memory deletion. That's why files should have a "time" type, with :
- one hour files
- one day files
- one week files
- forever files
On each node there's a sort of garbage collector, with 168 lists (24x7). When a piece of file arrives on a node, it subscribes to one of these lists, according to its date of last modification and its time type. Every hour, the garbage collector deletes pieces of file that are on the "now" list.
Most unused files (including "forever" files) are still deleted when there's a need for space, the way freenet does.
Was This Post Helpful? 0
  • +
  • -

#4 modi123_1  Icon User is offline

  • Suitor #2
  • member icon



Reputation: 9277
  • View blog
  • Posts: 34,789
  • Joined: 12-June 08

Re: one big machine

Posted 11 April 2013 - 08:58 AM

I am not sure how all that folds into your original post, but okay.
Was This Post Helpful? 0
  • +
  • -

#5 Little Horse  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 16
  • Joined: 10-April 13

Re: one big machine

Posted 13 April 2013 - 07:37 AM

If something is unclear, tell me and i'll try to describe it better. English is not my mother tongue, i'll do my best.
Was This Post Helpful? 0
  • +
  • -

#6 Little Horse  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 16
  • Joined: 10-April 13

Re: one big machine

Posted 15 April 2013 - 12:07 AM

Luapses should be able to send warnings, containing a file ID, to other actors.

______________________________________


Following Lua's philosophy, tables (which are files) can contain (as keys or as values) : numbers, strings, files IDs, actors adresses, or Lua functions.

______________________________________


There are two special tables :
- one has published files as keys and publishing/modifying actors as values
- one has publishing/modifying actors as keys and published files as values
They are automatically updated by the system.
Was This Post Helpful? 0
  • +
  • -

#7 Little Horse  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 16
  • Joined: 10-April 13

Re: one big machine

Posted 21 April 2013 - 02:09 AM

Files cannot be deleted. This feature is important, because it means that you can't weaken the machine by adding new Agents. Moreover, when you add a new agent, you probably add a new node that provides the CPU cycles needed by this Agent.

For adding a new Agent, the philosophy is :
- use every relevant available data as input
- output everything you can

Redundancy is a good thing.
Was This Post Helpful? 0
  • +
  • -

#8 sbell1099  Icon User is offline

  • Inspiring StoryTeller
  • member icon

Reputation: 16
  • View blog
  • Posts: 685
  • Joined: 28-October 08

Re: one big machine

Posted 21 May 2013 - 04:52 AM

Liking this idea. I'm wanting to work on an AI this summer.

View PostLittle Horse, on 11 April 2013 - 08:27 AM, said:

Today's idea : files life expectancy.In freenet, files are deleted only when they're not used for some time, and when there's a need for space. But our machine here doesn't have RAM, so there will be a lot a files created only for short-term treatments. Short-term memory accumulation would eventually cause long-term memory deletion. That's why files should have a "time" type, with :- one hour files- one day files- one week files- forever filesOn each node there's a sort of garbage collector, with 168 lists (24x7). When a piece of file arrives on a node, it subscribes to one of these lists, according to its date of last modification and its time type. Every hour, the garbage collector deletes pieces of file that are on the "now" list.Most unused files (including "forever" files) are still deleted when there's a need for space, the way freenet does.

This sounds like a Least Recently Used Page Replacement Policy although that is a great Idea it causes problems with things such as files that are important but only accessed once in a large time period.
Your working set of a specific node/task may only access files when needed as the resident set can not be always used (especially in this kind of system). So you could lose some vital files relating to the task.

I'd suggest more of a Clock method with a circular list and a bit for modified. Then only when you need more memory when say you have another request you can cycle through and find ill relevant data.

One Major Drawback of this is having to expand the list with each node addition and with each loss assuming not all programs are going to run forever will mean compaction. This would be rather costly in resources. Maybe you have a better idea?
Was This Post Helpful? 0
  • +
  • -

#9 Little Horse  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 16
  • Joined: 10-April 13

Re: one big machine

Posted 11 June 2013 - 05:41 AM

Hi,
Sorry for the delay.

In a Freenet-like system, you can't be sure that an unused file won't be deleted anyway, because of the nature of the network. So, no file should be considered "vital". And for the same reason, no file should contain a list : instead, each element of a list should be saved in a separate file. In fact, with such a system, we have to do things in a more "biological" way.

We could add a weight value to each file, and then delete less important files when space is needed, but it would be a subjective value, and different contributors/users could disagree about it.

In my opinion, the "touch" feature is the answer : by linking generalised knowledge to instances, you can keep refreshing important stuff.

If you start something this summer, please let me know !
Was This Post Helpful? 0
  • +
  • -

#10 Little Horse  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 16
  • Joined: 10-April 13

Re: one big machine

Posted 29 June 2013 - 12:48 AM

There's a virtual 3d space.

Each actor can have an avatar.

Each avatar has a geographical position in the virtual space.

The first avatar is called Earth. It's a big sphere textured from "google earth".

If an avatar is near another one, they can interact, and exchange data.

An avatar is made of skills. Skills are like Firefox plugins. They define what an avatar can do.

Avatars can send calls, based on geographical proximity, and containing keywords.
Was This Post Helpful? 0
  • +
  • -

#11 Little Horse  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 16
  • Joined: 10-April 13

Re: one big machine

Posted 13 July 2013 - 01:02 PM

With google glasses you could see it.

1316 views no reaction lol c'mon guys ur so dead.

This idea sucks !!!
Was This Post Helpful? 0
  • +
  • -

#12 modi123_1  Icon User is offline

  • Suitor #2
  • member icon



Reputation: 9277
  • View blog
  • Posts: 34,789
  • Joined: 12-June 08

Re: one big machine

Posted 13 July 2013 - 01:13 PM

Well when something interesting or cogent was presented there might be more movement. ;)
Was This Post Helpful? 0
  • +
  • -

#13 Little Horse  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 16
  • Joined: 10-April 13

Re: one big machine

Posted 02 November 2013 - 07:25 AM

View Postmodi123_1, on 13 July 2013 - 01:13 PM, said:

Well when something interesting or cogent was presented there might be more movement. ;)


No, it is a good idea. It's big.
Forget the "3d space" post. Add an Icecast feature maybe, nodes working on streams. It's a good idea.
Angelscript might be better than Lua, Joy might be better than Angel. Or, something between Joy & Signal. Don't know.
Still needs to be... worked on.
I'm no natural english speaker. I'm not good at presenting ideas. But : this is a good one.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1