From cr@cosmicray.co.uk Sat Jan 30 03:28:02 2010 Received: from moutng.kundenserver.de ([212.227.126.186]) by chain.digitalkingdom.org with esmtp (Exim 4.71) (envelope-from ) id 1NbBUR-0003rn-SI for lojban-list@lojban.org; Sat, 30 Jan 2010 03:28:01 -0800 Received: from [192.168.1.100] (82-71-48-121.dsl.in-addr.zen.co.uk [82.71.48.121]) by mrelayeu.kundenserver.de (node=mreu1) with ESMTP (Nemesis) id 0Ltj2f-1NjOSv17mn-010zLc; Sat, 30 Jan 2010 12:27:40 +0100 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1077) Subject: Re: [lojban] Re: An open source AI research & developing project uses lojban From: CosmicRay In-Reply-To: Date: Sat, 30 Jan 2010 11:27:39 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: References: To: lojban-list@lojban.org X-Mailer: Apple Mail (2.1077) X-Provags-ID: V01U2FsdGVkX19tXWqJ56mlz51UG9v91rs6LbJJSnglcUpcp9v f9etiVEd/KX9ox1ROcB5B/RlWHtBdhNcCqd/YFCLrRxjJY0YPx wXsrGonu5xEEzbD4CxZXoCQMnK5Tfil It reminds me of a genetic algorithm experiment I wrote some time ago as = a proof of concept to myself. I created a 3D environment with a lumpy = landscape, some basic physics (gravity, Newtonian motion) and placed a = target in it that'd move to a new random location if touched. Then I = allowed a population of randomly generated GAs to operate a virtual = tank, one at a time, within the environment. A simple fitness function = was chosen to determine the best drivers: the more times the target was = hit within a given timeframe, the more chance that that GA's bitstring = (its DNA equivalent) would get to "breed" and its offspring would form = the next generation. In generation 1 most of the drivers just sat still, or twitched about, = or would spin around in circles, but every now and then, by pure fluke, = a driver would hit the gas and haphazardly nail a target. This went on = for a couple more generations, but then amazingly by about the 7th or so = there'd be emergent behaviours that really surprised me - drivers that'd = hit every target while executing a series of deft manoeuvres and = handbrake turns. All this from artificial evolution alone - albeit in a = limited environment. The mechanics of the driver were very simplistic: just a couple of = formulae that were analogous to hard-wired Bayesian networks, and a set = of associated weights and thresholds (represented by a bitstring) that = the GA supervisor would modify through breeding. Inputs to the drivers = were environmental measurements such as velocity, angle to target, = distance to target, height of surface below tank, and the heights of the = surface in front, behind and to the sides of the tank. Breeding was a wheel-of-fortune style selection. Imagine a vast wheel = divided into as many evenly sliced pieces as there were total targets = hit for the Nth generation. Then imagine that for each driver, it has a = number of those slices allocated to it that equals the number of targets = it hit. Now to find a breeding pair and generate one offspring, the = wheel is spun twice and the two bitstrings indicated (on occasions this = meant the same one twice) are merged by randomly selecting between them = from one end to the other, with a little random mutation thrown in for = good measure. This is repeated until the N+1th set of bitstrings is = ready to roll, and then the fitness evaluation begins again. Sadly I doubt I have the source any more (I was also checking out = DarkBASIC's 3D abilities at the same time, horribly amateur language), = but it's relatively trivial to recreate. Now, relating this to the lojban-speaking AI may be significantly less = trivial but still perhaps worth a look. I have a few ideas for the = language interface for example, that utilise neural nets with evolved = topologies, and am happy to expand those ideas, but not so eager to do = the work involved... I think the key to good AI isn't so much in worrying about the mechanics = of how a robot would reach its goal - it can be tooled up to figure that = out for itself - it's how you define a complex goal or set of goals (the = fitness function) in the first place. And no, that goal does not have = to default to "kill", that's just laziness :-) kozmikreis On 27 Jan 2010, at 20:13, Matt Arnold wrote: > I have long daydreamed of an idea similar to his, to develop robotic > sensing and movement systems. The idea is to create a robot with a > very stable form, such as a quadruped or hexaped, controlled remotely > by a computer. The computer would try to extrapolate a 3D model of the > robot's surroundings from the side-mounted cameras. It would then vary > and evolve its visual recognition software by how well its hypotheses > hold up when the robot moves to look from a different perspective. It > would also evolve movement navigation strategies from the robot's > attempts to move through the environment. >=20 > It's kind of an extension of this idea: >=20 > http://www.youtube.com/watch?v=3DRZf8fR1SmNY&NR=3D1 >=20 > That having been said, it raises another can of worms about how to > make sure the AI won't try to kill us. I will hasten to interject that > disclaimer before Robin does. >=20 > -Eppcott >=20 >=20 > On Wed, Jan 27, 2010 at 10:35 AM, Super-User = wrote: >>=20 >> An open source AI research & developing project uses lojban >>=20 >> Author: Super-User >>=20 >> Hi! >> I started an open source AI research & developing project which aims = at making AI that could be finally considered as human. In addition, I'm = going to make lojban as AI's first language. >> If you're interested in it, please visit: >> http://gpai.cc >>=20 >>=20 >>=20 >>=20 >> To unsubscribe from this list, send mail to = lojban-list-request@lojban.org >> with the subject unsubscribe, or go to http://www.lojban.org/lsg2/, = or if >> you're really stuck, send mail to secretary@lojban.org for help. >>=20 >>=20 >=20 >=20 > To unsubscribe from this list, send mail to = lojban-list-request@lojban.org > with the subject unsubscribe, or go to http://www.lojban.org/lsg2/, or = if > you're really stuck, send mail to secretary@lojban.org for help. >=20