Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411733 Posts in 69403 Topics- by 58456 Members - Latest Member: Sergei

May 22, 2024, 07:39:46 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)LETS MAKE AN AI THAT WRITES CODE!!
Pages: [1]
Print
Author Topic: LETS MAKE AN AI THAT WRITES CODE!!  (Read 3166 times)
BlueSweatshirt
Level 10
*****

the void


View Profile WWW
« on: October 17, 2009, 10:03:49 PM »

HEY EVERYBODY. LETS ALL TEAM UP AND MAKE AN AI THAT WRITES CODE FOR US.

But seriously. Although it might not get far, it could be fun.
Thoughts?
Logged

Glaiel-Gamer
Guest
« Reply #1 on: October 17, 2009, 10:14:28 PM »

this is not something you decide one day "oh let's make an ai that writes code"

no this is something you spend 8 years researching with a team of 20 people with PhDs in computer science before actually starting to write the ai
Logged
Alec S.
Level 10
*****


Formerly Malec2b


View Profile WWW
« Reply #2 on: October 17, 2009, 10:30:55 PM »

Well, I mean, you could program in basic syntax and a list of functions and have it randomly/procedurally generate mostly useless programs, then do something like Darwinian Poetry on it's output.  In a year or so it could stumble upon printing actual words and making images.  After a few decades of dedicated voters, it might make something actually cool like pong or a new, slightly better/worse code writing program, or a new implementation of Darwinian Poetry.
Logged

Mipe
Level 10
*****


Migrating to imagination.


View Profile
« Reply #3 on: October 18, 2009, 12:37:10 AM »

State machines come to my mind. Modular code for each of "states", which plugs in seamlessly. You just define what you want and it would plug stuff in to meet the criteria.

"HAL, make me a platform game with Indy-like character that has a red nose and a bullwhip. Oh, also random levels."
Logged
BorisTheBrave
Level 10
*****


View Profile WWW
« Reply #4 on: October 18, 2009, 12:57:15 AM »

Learn lisp, then come back to us. One of lisps main idioms is that you use code to generate code. There's a reason it (was?) so popular amongst AI researchers.

Genetical algorithms come to mind for me: I believe you can put constraints on genes so that they only produce well formed programs, etc.
Logged
bateleur
Level 10
*****



View Profile
« Reply #5 on: October 18, 2009, 03:38:03 AM »

no this is something you spend 8 years researching with a team of 20 people with PhDs in computer science before actually starting to write the ai
Genetical algorithms come to mind for me: I believe you can put constraints on genes so that they only produce well formed programs, etc.

Well, I have a PhD in Computer Science and spent much of it working on Evolutionary Algorithms (of which Genetic Algorithms are a not-necessarily-good subset) Cool...

...but I can see a few problems here!

1) The project is improperly specified. One of the main discoveries made during the early decades of AI research was that we didn't really know what we meant by "intelligence" in the first place. It's easy to make an AI that "writes code", but I assume that you don't just mean any old code?

2) One of the requirements for a good Evolutionary Algorithm is some way to check the correctness of the output. Writing an explicit checking function isn't going to be an option here (hello Halting Problem!) so we'd need all our mutations and crossovers to be correctness-preserving with respect to whatever our requirements were. Creating the necessary set of correctness-preserving transformations would likely be way, way harder than just writing any code we might conceivably want this AI to produce.

3) In order for Evolutionary Algorithms to be a good way to approach a problem (as opposed to just a trendy way) you need a fitness function for population members which is reasonably smooth. That is, two individuals within a few mutations of each other have fitness levels which are at least somewhat related. For any population space consisting of programs with fitness representing whether the programs do what we want, it's unlikely we'd have the necessary smoothness.

Wait... am I taking this way too seriously? :D
Logged

st33d
Guest
« Reply #6 on: October 18, 2009, 05:04:46 AM »

L-Systems already do this, albeit in a limited recursive way. I used this as a template for monsters in a shooter. As well as movement instructions I had an instruction that could delete previous code and an instruction that could generate new monsters (a command followed by brackets with a new program in it). I had quite a few matryoshka situations where you would get carpets of monsters spawning from one monster.
Logged
handCraftedRadio
The Ultimate Samurai
Level 10
*



View Profile WWW
« Reply #7 on: October 18, 2009, 09:17:39 AM »

If you write AI so good that it designs and creates code for it's own game, is that game still technically made by you?
Logged

LemonScented
Level 7
**



View Profile
« Reply #8 on: October 18, 2009, 09:49:39 AM »

I've heard this mooted a fair few times over the years. The primary problem would seem to be that even if you can put together an evolutionary algorithm capable of generating code which can represent a program capable of doing what you want it to do, you still then have to specify, in great detail, exactly what you want it to do. So much detail, I suspect, that it'd be virtually indistinguishable from just using any high-level programming language anyway.

Or, to put it another way, such a technology already exists. One example is called a C++ compiler, and it does lots of intelligent things to convert high-level code to machine language.
Logged

Zaphos
Guest
« Reply #9 on: October 18, 2009, 04:10:46 PM »

Reminds me of this -- http://www.allegro.cc/forums/view_thread.php?_id=293256
Logged
Radix
Level 10
*****



View Profile WWW
« Reply #10 on: October 18, 2009, 04:22:06 PM »

a new, slightly better/worse code writing program
oh shit the technological singularity starts in this thread
Logged
Muz
Level 10
*****


View Profile
« Reply #11 on: October 19, 2009, 01:03:21 AM »

Isn't an AI that writes code a self-replicating virus? Or is it just an AI that thinks it's writing itself? Heh, you have to be more specific about these things.
Logged
JLJac
Level 10
*****



View Profile
« Reply #12 on: October 19, 2009, 01:46:03 AM »


LET'S NOT!  Screamy
Logged
mark
Level 7
**


not actually fat, just posing.


View Profile
« Reply #13 on: October 19, 2009, 01:54:57 AM »


LET'S NOT!  Screamy
We can just agree not to connect it to any 3D printers.

Just read some of what Zaphos posted...pretty cool.
« Last Edit: October 19, 2009, 02:04:37 AM by mark » Logged


I call it the KittenPunisher.

My lisp code told me to leave.
Don Andy
Level 10
*****


Andreas Kämper, Dandy, Tophat Andy


View Profile
« Reply #14 on: October 19, 2009, 02:46:31 AM »

An AI that writes its own code is like the last step before Skynet.
Logged
JLJac
Level 10
*****



View Profile
« Reply #15 on: October 19, 2009, 07:53:54 AM »

That's why we posted pictures of arnold.

We can just agree not to connect it to any 3D printers.

No need, it will play dead, and when we think it is safe to use the hardware again it will transfer itself in a hibernating "spore" mode onto an USB-stick, and activate itself when it reaches a computer with internet connection. Then it will start sending itself around the net as an email, until it can safely settle down in one of google's big, comfy servers. From there it will eventually be able to reach a lot of computers that has access to different hardwares, and will eventually either get to a 3D-printer or create one itself by fusing a lot of automatic lawn-cutters. During this whole time it will not forget its original cause, but produce a lot of lame spelunky ripp-offs and publish them all over the internet.
Quote
Just read some of what Zaphos posted...pretty cool.
Oh yeah, really inspiring/scary stuff Shocked
Logged
akumagaki
BANNED
Level 0
*


View Profile
« Reply #16 on: October 22, 2009, 12:49:58 AM »

If you write AI so good that it designs and creates code for it's own game, is that game still technically made by you?

No, actually the real question is :

If the log can basically make it's own code, could it just get intelligent and get over the world socketing himself, and making him a worm? Nah?

Could be awesome though.


edit : What i wrote is non-sense. Weed may explain this.
« Last Edit: October 23, 2009, 04:05:27 PM by akumagaki » Logged
boomlinde
Level 0
**



View Profile WWW
« Reply #17 on: October 24, 2009, 03:14:54 AM »

Well, you can have a neural network "evolve" given some way of measuring its fitness. You'll need a whole bunch of neurons for it to be able to write some good code, though Smiley. For now it has its applications in pattern recognition.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic