 |
AutoHotkey Community Let's help each other out
|
| View previous topic :: View next topic |
| Author |
Message |
Dra_Gon
Joined: 25 May 2007 Posts: 373
|
Posted: Sun Sep 07, 2008 8:10 pm Post subject: |
|
|
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 _________________
For a good laugh {hopefully} >> megamatts.50megs.com
My WritersCafe profile>>
http://www.writerscafe.org/writers/BlueDragonFire/ |
|
| Back to top |
|
 |
Slanter
Joined: 28 May 2008 Posts: 739 Location: Minnesota, USA
|
Posted: Wed Sep 10, 2008 3:02 am Post subject: |
|
|
| Dra_Gon wrote: | | That is excellent! I'm running you're already compiled one now. And you did this while BORED? Criminy! | Hehe
| 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
| Dra_Gon wrote: | Totally impressive, to say the least.
Ciao,
Dra'Gon | Thanks
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 | 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. |
|
| Back to top |
|
 |
Dra_Gon
Joined: 25 May 2007 Posts: 373
|
Posted: Fri Sep 12, 2008 3:42 pm Post subject: |
|
|
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 . Still a great little diversion!
Ciao,
Dra'Gon _________________
For a good laugh {hopefully} >> megamatts.50megs.com
My WritersCafe profile>>
http://www.writerscafe.org/writers/BlueDragonFire/ |
|
| Back to top |
|
 |
lrh9
Joined: 10 Jun 2009 Posts: 102
|
Posted: Mon Jun 15, 2009 11:09 pm Post subject: |
|
|
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? |
|
| Back to top |
|
 |
Jex
Joined: 01 Aug 2008 Posts: 101
|
Posted: Tue Jun 16, 2009 3:41 pm Post subject: |
|
|
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 |
|
| Back to top |
|
 |
lrh9
Joined: 10 Jun 2009 Posts: 102
|
Posted: Tue Jun 30, 2009 2:13 am Post subject: |
|
|
| 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. |
|
| Back to top |
|
 |
XeonXT (NLI) Guest
|
Posted: Fri Jul 10, 2009 2:50 pm Post subject: |
|
|
| 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. |
|
| Back to top |
|
 |
lrh9
Joined: 10 Jun 2009 Posts: 102
|
Posted: Sat Jul 11, 2009 5:38 am Post subject: |
|
|
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. |
|
| Back to top |
|
 |
lrh9
Joined: 10 Jun 2009 Posts: 102
|
Posted: Tue Jul 14, 2009 8:31 am Post subject: |
|
|
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. |
|
| Back to top |
|
 |
lrh9
Joined: 10 Jun 2009 Posts: 102
|
Posted: Tue Sep 22, 2009 7:35 am Post subject: |
|
|
| 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. |
|
| Back to top |
|
 |
lrh9
Joined: 10 Jun 2009 Posts: 102
|
Posted: Mon Oct 12, 2009 3:25 am Post subject: |
|
|
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. |
|
| Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|