AutoHotkey Community

It is currently May 26th, 2012, 12:14 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 26 posts ]  Go to page Previous  1, 2
Author Message
 Post subject:
PostPosted: September 7th, 2008, 9:10 pm 
Offline

Joined: May 25th, 2007, 6:13 pm
Posts: 373
That is excellent! I'm running you're already compiled one now. And you did this while BORED? Criminy!
Now how about a few predators for the bugs to fight off? And perhaps "territories" to defend against other bugs?
Totally impressive, to say the least.

Ciao,
Dra'Gon

_________________
Image
For a good laugh {hopefully} >> megamatts.50megs.com

My WritersCafe profile>>
http://www.writerscafe.org/writers/BlueDragonFire/


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: September 10th, 2008, 4:02 am 
Offline

Joined: May 28th, 2008, 2:11 am
Posts: 739
Location: Minnesota, USA
Dra_Gon wrote:
That is excellent! I'm running you're already compiled one now. And you did this while BORED? Criminy!
Hehe :lol:
Dra_Gon wrote:
Now how about a few predators for the bugs to fight off? And perhaps "territories" to defend against other bugs?
I like your ideas, I'll see what I can do with them :D
Dra_Gon wrote:
Totally impressive, to say the least.

Ciao,
Dra'Gon
Thanks :D

New version of the bug thingy, fixed a couple of bugs (lol...) such as the rate of mutation accidentally being something like 1 in 5 quadrillion rather than 1 in 5... OOPS!

EDIT: Just thought I'd post this, it's a pretty good demonstration of the mutations/evolving that go on with the bugs. Notice how they all start out with mostly low speeds (1-3) and by the end every single new one has a speed of 6 or 7. Of course then all of the males died out and they went extinct :cry:
Code:
; Bug Log - 20080909221232
0.0   Bug #1 created. Male, 4 speed.
0.0   Bug #2 created. Female, 2 speed.
0.0   Bug #3 created. Female, 3 speed.
0.0   Bug #4 created. Male, 5 speed.
0.0   Bug #5 created. Female, 1 speed.
0.0   Bug #6 created. Female, 2 speed.
0.0   Bug #7 created. Male, 1 speed.
0.0   Bug #8 created. Female, 2 speed.
0.1   Bug #9 created. Male, 2 speed. (F=4,M=2)
0.1   Bug #10 created. Male, 4 speed. (F=1,M=3)
0.2   Bug #11 created. Male, 1 speed. (F=1,M=5)
0.2   Bug #12 created. Female, 2 speed. (F=4,M=6)
0.3   Bug #13 created. Male, 2 speed. (F=1,M=8)
10.1   Bug #14 created. Female, 1 speed. (F=7,M=2)
10.1   Bug #15 created. Female, 1 speed. (F=1,M=5)
10.2   Bug #16 created. Female, 4 speed. (F=1,M=3)
10.2   Bug #17 created. Female, 2 speed. (F=7,M=6)
10.2   Bug #18 created. Male, 2 speed. (F=7,M=8)
20.2   Bug #19 created. Male, 3 speed. (F=1,M=3)
20.3   Bug #20 created. Male, 2 speed. (F=1,M=2)
20.5   Bug #21 created. Female, 1 speed. (F=4,M=5)
20.5   Bug #8 died of starvation.
23.5   Bug #7 died of starvation.
25.5   Bug #3 died of starvation.
26.5   Bug #6 died of starvation.
36.5   Bug #5 died of starvation.
42.1   Bug #22 created. Female, 2 speed. (F=1,M=2)
44.5   Bug #13 died of starvation.
45.5   Bug #16 died of starvation.
50.2   Bug #23 created. Female, 2 speed. (F=4,M=12)
55.5   Bug #2 died of starvation.
56.5   Bug #9 died of starvation.
59.5   Bug #24 created. Female, 1 speed. (F=1,M=15)
60.2   Bug #25 created. Male, 2 speed. (F=11,M=12)
61.1   Bug #26 created. Male, 4 speed. (F=1,M=17)
61.2   Bug #27 created. Male, 6 speed. (F=4,M=14)
66.5   Bug #12 died of starvation.
67.5   Bug #10 died of starvation.
69.1   Bug #28 created. Female, 1 speed. (F=1,M=21)
69.3   Bug #29 created. Male, 1 speed. (F=1,M=15)
73.5   Bug #17 died of starvation.
84.5   Bug #18 died of starvation.
84.5   Bug #23 died of starvation.
92.5   Bug #15 died of starvation.
93.5   Bug #19 died of starvation.
95.5   Bug #14 died of starvation.
99.5   Bug #21 died of starvation.
102.5   Bug #22 died of starvation.
103.5   Bug #26 died of starvation.
107.5   Bug #11 died of starvation.
110.1   Bug #30 created. Female, 1 speed. (F=4,M=24)
118.2   Bug #31 created. Male, 4 speed. (F=1,M=28)
120.1   Bug #32 created. Male, 2 speed. (F=20,M=24)
128.1   Bug #33 created. Female, 7 speed. (F=27,M=28)
130.1   Bug #34 created. Male, 1 speed. (F=1,M=24)
152.5   Bug #31 died of starvation.
161.1   Bug #35 created. Female, 2 speed. (F=1,M=30)
171.1   Bug #36 created. Female, 1 speed. (F=27,M=30)
171.5   Bug #24 died of starvation.
172.5   Bug #25 died of starvation.
177.1   Bug #37 created. Female, 7 speed. (F=4,M=33)
179.5   Bug #30 died of starvation.
180.5   Bug #28 died of starvation.
187.1   Bug #38 created. Female, 7 speed. (F=1,M=33)
192.5   Bug #20 died of starvation.
197.1   Bug #39 created. Female, 7 speed. (F=4,M=33)
197.5   Bug #32 died of starvation.
202.5   Bug #27 died of starvation.
208.1   Bug #40 created. Male, 5 speed. (F=4,M=33)
211.1   Bug #41 created. Male, 2 speed. (F=1,M=35)
212.5   Bug #38 died of starvation.
216.5   Bug #35 died of starvation.
218.1   Bug #42 created. Male, 7 speed. (F=1,M=33)
219.5   Bug #1 died of starvation.
220.5   Bug #37 died of starvation.
222.3   Bug #43 created. Female, 5 speed. (F=4,M=36)
233.1   Bug #44 created. Female, 5 speed. (F=4,M=33)
236.5   Bug #4 died of starvation.
237.5   Bug #34 died of starvation.
240.5   Bug #36 died of starvation.
242.5   Bug #40 died of starvation.
252.5   Bug #44 died of starvation.
266.5   Bug #29 died of starvation.
267.1   Bug #45 created. Female, 7 speed. (F=42,M=33)
267.1   Bug #46 created. Female, 7 speed. (F=42,M=39)
278.4   Bug #47 created. Male, 7 speed. (F=42,M=33)
283.5   Bug #42 died of starvation.
287.5   Bug #45 died of starvation.
293.5   Bug #47 died of starvation.
298.5   Bug #46 died of starvation.
305.3   Bug #48 created. Male, 7 speed. (F=41,M=33)
328.5   Bug #43 died of starvation.
336.5   Bug #41 died of starvation.
355.2   Bug #49 created. Female, 7 speed. (F=48,M=33)
355.2   Bug #50 created. Male, 7 speed. (F=48,M=39)
365.1   Bug #51 created. Male, 6 speed. (F=48,M=33)
365.2   Bug #52 created. Male, 7 speed. (F=48,M=39)
374.5   Bug #39 died of starvation.
375.2   Bug #53 created. Female, 7 speed. (F=48,M=33)
376.5   Bug #50 died of starvation.
377.5   Bug #52 died of starvation.
384.1   Bug #54 created. Male, 7 speed. (F=48,M=33)
384.5   Bug #51 died of starvation.
394.1   Bug #55 created. Male, 7 speed. (F=48,M=33)
402.5   Bug #54 died of starvation.
403.2   Bug #56 created. Female, 7 speed. (F=48,M=33)
408.5   Bug #49 died of starvation.
413.2   Bug #57 created. Female, 7 speed. (F=48,M=33)
414.5   Bug #55 died of starvation.
416.5   Bug #56 died of starvation.
422.1   Bug #58 created. Female, 7 speed. (F=48,M=33)
428.3   Bug #59 created. Female, 7 speed. (F=48,M=53)
436.5   Bug #57 died of starvation.
438.5   Bug #48 died of starvation.
444.5   Bug #53 died of starvation.
621.5   Bug #33 died of old age.
924.5   Bug #58 died of old age.
928.5   Bug #59 died of old age.

_________________
Unless otherwise stated, all code is untested

(\__/) This is Bunny.
(='.'=) Cut, copy, and paste bunny onto your sig.
(")_(") Help Bunny gain World Domination.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: September 12th, 2008, 4:42 pm 
Offline

Joined: May 25th, 2007, 6:13 pm
Posts: 373
Well my bugs are still dyin' off, dagnabit! Of course, the same thing happens when I try to keep plants so I'm not surprised :lol:. Still a great little diversion!

Ciao,
Dra'Gon

_________________
Image
For a good laugh {hopefully} >> megamatts.50megs.com

My WritersCafe profile>>
http://www.writerscafe.org/writers/BlueDragonFire/


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: June 16th, 2009, 12:09 am 
Offline

Joined: June 10th, 2009, 6:34 pm
Posts: 102
I know it's generally bad forum etiquette to resurrect a dead post (The original poster has been away since December.) However, since the topic of this post has not been discussed else where, I'll go ahead and post here.

I'd first like to make a suggestion for the original problem of having a script that could grow. Instead of having a large script that kept rewriting itself to increase its abilities, why not create a central script that could write and execute other scripts without having to modify itself?


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: June 16th, 2009, 4:41 pm 
Offline

Joined: August 2nd, 2008, 12:31 am
Posts: 101
I don't think it really matters how you would store extensions onto the main script. Though it would probably be easier to have separate files from a human stand point.

In my opinion depending on the language you were to write the code in it could be troublesome (for the AI) to figure out what each extension does if they were separate files.

But you could over come that by forcing each extension to have 2 or 3 methods/functions/subroutines detailing it use.

_________________
Woot.

Please read forum etiquette


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: June 30th, 2009, 3:13 am 
Offline

Joined: June 10th, 2009, 6:34 pm
Posts: 102
Well. My main interest is a.i. The reason why I found autohotkey is because I realized I'd be using a lot of functionality that macro recorders provide in my attempt to create a general purpose artificially intelligent computer program. Right now I'm working on a catch-all input system (keyboard, mouse, forms, etc.) for the a.i.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: July 10th, 2009, 3:50 pm 
lrh9 wrote:
Well. My main interest is a.i. The reason why I found autohotkey is because I realized I'd be using a lot of functionality that macro recorders provide in my attempt to create a general purpose artificially intelligent computer program. Right now I'm working on a catch-all input system (keyboard, mouse, forms, etc.) for the a.i.

Care to elaborate on what you're doing?

I too am designing a comprehensive A.I. system in AHK...but I feel that most people throw around the word A.I. far too loosely, in application to systems that are not intelligent in the slightest (i.e. "expert systems").

Anyway it's cool that other people are doing this as well.

And to the author of the bug program: that's very cool! I made a similar program in GameMaker when I was interested to see if the theory of evolution could actually hold. At any rate keep improving on it, you could have something real nice on your hands.


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: July 11th, 2009, 6:38 am 
Offline

Joined: June 10th, 2009, 6:34 pm
Posts: 102
I'm approaching the problem using Alan Turing's child machine approach. Like him, I believe the first super-human generally intelligent program or computer will be a "learner" vs. a "knower", meaning that the a.i. will initially know nothing but learn as human children do.

I mentioned that I was programming a catch-all input system. I also want to program Internet and network interactivity as one of the input/output features of the a.i., as well as modeling the a.i. as an agent with basic "brain" functions such as recording information to and reading it from a file dynamically.

I think that higher level abilities required for truly intelligent action such as problem solving, planning, and logic are learned or taught (programmed), so I hope to program it to accomplish those things as well as language processing and perhaps ocr and image recognition.

The measure of my success will be how well the a.i. can accomplish goals (ones that it is familiar with - such as run application x, and ones that it is unfamiliar with - such as original research or subgoals necessary to accomplish a high level goal).

The program might best be summed up as a dynamic, constantly running interpreter for the autohotkey language, but modeled to have separation of functions and general input/output interfaces between the program and the user and between the components of the program itself.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: July 14th, 2009, 9:31 am 
Offline

Joined: June 10th, 2009, 6:34 pm
Posts: 102
As for the actual implementation of the a.i. in autohotkey, this is what I've worked out so far.

1. The a.i. script will essentially model the human brain. It will be responsible for storing and retrieving data pertinent to itself to and from memory (both files - fileread/fileappend/etc. - and memory - numget/numput) and sending and retrieving data and signals to and from its input/output modules, performing calculations (and possibly comparisons), executing code/scripts/programs, and management of itself to an extent.

I quickly realized that users would want more than one instance of the a.i. running. Ultimately, I realized this would mean that each instance of the a.i. script would have to be uniquely identifiable. Obviously, I could not know how many scripts the user would want beforehand, so I couldn't make that many with unique names, and for the user to do so would be inefficient. So I realized a manager system would be appropriate.

2. The manager system would start on computer start-up and be responsible for ensuring that each a.i. script was uniquely identifiable and ensuring that tasks were assigned to the appropriate a.i. script. Each time an a.i. script started, it would query the manager for a unique identifier. The manager would generate one (ensuring that it is indeed unique by checking that it isn't a currently used a.i. identifier), and assign it to the a.i. There are more features that need to be worked out, but the basic premise is sound.

3. Input/output modules. Much like the manager system controls multiple a.i.s, the a.i. would have multiple input/output modules that it could generate and utilize. The system would utilize messages to ensure that data and commands got to and from the appropriate modules. Examples of modules include reading/downloading from the internet, getting data to and from the clipboard, displaying messages, storing and retrieving non-a.i. data to and from memory, etc.

One of the major subsystems of input/output is the catch-all input system I mentioned. Autohotkey was obviously intended to be utilized by a user with a personal computer and one mouse and keyboard input device (most users). Those two devices will be key in interacting with the a.i., but it must be organized. At first I envisioned this system to be a constantly running monitor recording mouse and keyboard data, but this would be inefficient if the data wasn't needed by any script. Now I'm thinking that a script will invoke this system if it needs mouse and keyboard information, and the system will operate depending on how long each script needs it. For instance, say there are two scripts.

One that needs to collect input data for five minutes or a certain condition is met, or one that needs to collect input data for ten minutes or a certain condition is met. As long as the ten minute script's alternate condition isn't met, the keyboard and mouse will be monitored for ten minutes. However, if it is met, there are a two scenarios. 1) The five minute script is still running. That means keyboard and mouse data will be monitored for the time remaining on the five minute timer or until its alternate condition is met. 2) The five minute timer is no longer running or its alternate condition was met. In which case the monitor will cease.

Due to the system's similarity to a keylogger, this raises security concerns that may have to be addressed in the next system.

4. A security system. A obvious necessity when working with anything capable of drastically altering its environment based on instructions and conditions other than what you place upon it. I have neglected planning this for the moment because working on the other parts is much more exciting. However, the system needs to be built around a model of two users working in the same user space. (There will be you, and the a.i.(s)) You are the more privileged and protected user, so your files/processes/etc. will have to be protected from the a.i. in case something goes wrong, and the a.i. will have to obey your commands. Portions of the security system may reside in its own script, or they may also have to be placed in the a.i. systems.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: September 22nd, 2009, 8:35 am 
Offline

Joined: June 10th, 2009, 6:34 pm
Posts: 102
Two months since my last update... ouch. I'm still working on the project. It's not abandoned. I've completed a large portion of the main a.i. script and I recently considered new ideas and had to perform some more research. I'm just about finished collecting information and after analysis I'll be able to resume work with a hopefully better and/or clearer direction. Most of my notes and discussions about the project and a.i. are on other sites. I post at http://aidreams.co.uk/forum/index.php?action=forum and www.ai-forum.org under the same user name.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: October 12th, 2009, 4:25 am 
Offline

Joined: June 10th, 2009, 6:34 pm
Posts: 102
I'm sorry, but I think that I will not be able to use AutoHotkey to effectively build the program. I realized that some of the functionality of my program would depend on being able to utilize real threads and multiprocessing, and unfortunately AutoHotkey falls short in that department. :(

Another issue that is relatively unimportant but still an issue is that AutoHotkey is effectively limited to Windows at the moment. I know there are attempts at porting AutoHotkey or writing it using an API, but I'm not sure they are as complete as the original program.

So after some research, I've decided to try Python this time. It has modules for threading and multiprocessing, and according to its website it can run on several operating systems. Please don't take this badly. You have a good thing here.


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 26 posts ]  Go to page Previous  1, 2

All times are UTC [ DST ]


Who is online

Users browsing this forum: Google Feedfetcher and 11 guests


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group