Similar Threads:
1.another idea for a log based ai
yes, this idea for me pops up occasionally.
pardon the cross post, it is only 2 groups, just ones with long names...
people here may remember me previously having obsessed on the idea.
I still have no idea of originality or whether it could work. however, now,
I have come up with an idea of how to test it.
the idea would be to simulate a "cat" in an effectively text-based world.
as time goes on various things would show up or things will happen (need to
eat, crap, sleep, play with other cats, ...). the test would be if it is
able to figure out what to do in these situations, and if it is able to
maintain it's mood/state eventually.
similarly, testing could help in cleaning up the algo or pointing out what
is broke. of course, it may also be broke, or it may be useless for games,
or it may be unoriginal.
I don't really know, and I don't know where to ask.
oh well, whatever, flame if you want...
idea (was originally an email):
---
this is an idea that has actually been beating around my head for years,
occasionally showing up again for whatever reason (among others related to
emotion).
now, recently I was reading more of a psychology book, and they were going
some into memory and learning, and I had noticed that in a general sense, it
was essentially the same (or a very similar) algo to what I had before
imagined for a log ai. they went into a little more detail though, showing
that effectively I only have to really process events previous in time (as
opposed to 2-way).
this gives me more confidence, the algo could work, and likely would have
reasonably light performance demands (compared with many other forms of ai
at least, but still likely a bit more than hard-scripted ai). the advantage
is that it could be possible to train the behavior of
characters/monsters/... however, this may-well be ineffective. at least in a
general sense it could be possible to have them go against each other and
try to learn how to operate effectively, and maybe occasional human
involvement could help in making the behaviors "sane" (I am imagining a
"stick of punishment" here, eg, used for prodding at any ai's that do
something out of line).
basic behaviors are still necessary to be hard-coded though, others could
possibly be learned. the important issues are how effective it could be and
whether it is computationally feasible.
another mystery is whether it would be more or less work than just
hard-coding it.
I have no idea of any originality here though.
similarly, this is a bit much for me to really try out presently.
rough idea at present:
the world, as opposed to the mass amount of direct state changes and method
calls common to many game ais, one uses a general form of "event system".
each general event effectively has some properties, and applies to the
world. for each character, the events are culled and filtered some, eg,
location specific events that are invisible are dropped, the event could be
modified for whether the event applies to self or someone else, ...
ok, so all remaining "relevant" events get recorded to the log, along with
any recent actions or similar. the log could be trauncated after a little
while, events too far in the past aren't really relevant.
ok, from the recent events it is necessary to generate a "stimulus".
this would be done by effectively scanning the log, determining the weight
for each event (diminished with time backwards), effectively the biases for
the events are multiplied by the weight and added to the stimulus.
this could be made about O(N).
afterwards, a second pass is made effectively adding the stimulus*weight to
the bias for each event-type. this could help to associate particular types
of events with each other and particular actions.
this part would likely be O(N^2), and would thus favor shorter logs. it may
be possible to get this to O(N) as well, eg, by maintaining some state for
recent event/behavior types and adjusting for each new event (eg:
multiplying weights by a constant time degeneration and applying current
stimulus and weights), thus eliminating the need to make a pass over the log
for each event.
also part of the stimulus would likely be a more abstract "strengthen" or
"weaken" bias, which would be associated with some events (eg: those used
for training behaviors), but would be naturally close to neutral for more
ordinary events (possibly with a slight bias twards weaken to cause the ai
to forget less common patterns). comparatively the other more usual biases
(eg: like anger, fear, health, or whatever) would be weaker, but would help
differentiating between actions (attacking/running from enemies, running
twards health items in low health situations, ...).
behaviors could be chosen based on the current stimulus. my thought is that
behaviors would be chosen based on proximity to the current bias for a
behavior. nearby behaviors will be generated, and may further effect the
current stimulus. some behaviors could involve generating events, eg,
generating something like a "pissed off" event could be help in maintaining
"mood" or similar. limits would probably have to be set on how often events
could be generated though to avoid trying to generate the same action
repeatedly. the thought though is that events could have a natural local
"weaken" bias that degenerates over time (eg: twards some more neutral
bias). reinforced behaviors would get a more reinforced natural bias.
positive events would be a natural strengthen and negative ones a local
weaken. this might help in reducing destructive actions and generally
driving behavior or such.
maybe I am just stupid, or maybe there is no point in writing this, I don't
know. at least by intuit it seems like it might work...
2.curious inhibition ( another idea for a log based ai)
"cr88192" < XXXX@XXXXX.COM > wrote in message
news:QnFEd.8783$ XXXX@XXXXX.COM ...
> yes, this idea for me pops up occasionally.
> pardon the cross post, it is only 2 groups, just ones with long names...
>
> people here may remember me previously having obsessed on the idea.
> I still have no idea of originality or whether it could work. however,
> now, I have come up with an idea of how to test it.
>
> the idea would be to simulate a "cat" in an effectively text-based world.
> as time goes on various things would show up or things will happen (need
> to eat, crap, sleep, play with other cats, ...). the test would be if it
> is able to figure out what to do in these situations, and if it is able to
> maintain it's mood/state eventually.
>
now, at least the most basic part is done. it adapts to conditions in the
log and exhibits basic learning-like behavior.
the base algo works thus far, and I have got the ai to be able to maintain
it's food level (sort of, it is curious though).
now, when there was no "cost" to the action, the ai would refrain from
eating or eat to maintain itself in an optimal state, thus, most of the time
was spent here.
I had figured I would add a cost, and it would prevent it from eating a lot
in a short period of time (and thus go from hungry to trying to eat while
completely full). this worked in terms of adding a kind of weight that is
reduced whenever an action occures, and over time returns to 0 (or
essentially no-effect).
now, once I added a cost, something odd happened:
instead of eating to maintain state and preventing chains of the action, it
instead caused it to wait until it was fairly high on the hungry end, and
then eat a whole lot to throw itself slightly into the full range (approx
50-75% or so, from a point of about hungry 75-100%).
the inhibitions for eating in the mild hungry range (50-75%) are curiously
high, effectively in general preventing eating there.
in the other ranges (ok, and slight/mild/complete full), there is
inhibition, but lower than would be expected (however, by watching it still
looks like it does not really eat in these ranges).
my guess is that it is utilizing the fact that eating while being in the
75-100% hungry range gives the most reinforcement for the longest period of
time, wheras eating from the mild hungry area would allow a lot less
reinforcement for a shorter period of time.
it is still curious though, intuition says it shouldn't figure this one out
(eg: it should be more eager and go for the quicker rewards of the
mild-hungry range).
of course, it could just be a bug...
I have not tested with more complex situations/actions, so I don't know
really.
it is a mystery what would happen if I just added a general "eating cost"
that works by just punishing the ai a certain amount for eating.
I don't know really though.
3.another idea for a log based ai
yes, this idea for me pops up occasionally.
pardon the cross post, it is only 2 groups, just ones with long names...
people here may remember me previously having obsessed on the idea.
I still have no idea of originality or whether it could work. however, now,
I have come up with an idea of how to test it.
the idea would be to simulate a "cat" in an effectively text-based world.
as time goes on various things would show up or things will happen (need to
eat, crap, sleep, play with other cats, ...). the test would be if it is
able to figure out what to do in these situations, and if it is able to
maintain it's mood/state eventually.
similarly, testing could help in cleaning up the algo or pointing out what
is broke. of course, it may also be broke, or it may be useless for games,
or it may be unoriginal.
I don't really know, and I don't know where to ask.
oh well, whatever, flame if you want...
idea (was originally an email):
---
this is an idea that has actually been beating around my head for years,
occasionally showing up again for whatever reason (among others related to
emotion).
now, recently I was reading more of a psychology book, and they were going
some into memory and learning, and I had noticed that in a general sense, it
was essentially the same (or a very similar) algo to what I had before
imagined for a log ai. they went into a little more detail though, showing
that effectively I only have to really process events previous in time (as
opposed to 2-way).
this gives me more confidence, the algo could work, and likely would have
reasonably light performance demands (compared with many other forms of ai
at least, but still likely a bit more than hard-scripted ai). the advantage
is that it could be possible to train the behavior of
characters/monsters/... however, this may-well be ineffective. at least in a
general sense it could be possible to have them go against each other and
try to learn how to operate effectively, and maybe occasional human
involvement could help in making the behaviors "sane" (I am imagining a
"stick of punishment" here, eg, used for prodding at any ai's that do
something out of line).
basic behaviors are still necessary to be hard-coded though, others could
possibly be learned. the important issues are how effective it could be and
whether it is computationally feasible.
another mystery is whether it would be more or less work than just
hard-coding it.
I have no idea of any originality here though.
similarly, this is a bit much for me to really try out presently.
rough idea at present:
the world, as opposed to the mass amount of direct state changes and method
calls common to many game ais, one uses a general form of "event system".
each general event effectively has some properties, and applies to the
world. for each character, the events are culled and filtered some, eg,
location specific events that are invisible are dropped, the event could be
modified for whether the event applies to self or someone else, ...
ok, so all remaining "relevant" events get recorded to the log, along with
any recent actions or similar. the log could be trauncated after a little
while, events too far in the past aren't really relevant.
ok, from the recent events it is necessary to generate a "stimulus".
this would be done by effectively scanning the log, determining the weight
for each event (diminished with time backwards), effectively the biases for
the events are multiplied by the weight and added to the stimulus.
this could be made about O(N).
afterwards, a second pass is made effectively adding the stimulus*weight to
the bias for each event-type. this could help to associate particular types
of events with each other and particular actions.
this part would likely be O(N^2), and would thus favor shorter logs. it may
be possible to get this to O(N) as well, eg, by maintaining some state for
recent event/behavior types and adjusting for each new event (eg:
multiplying weights by a constant time degeneration and applying current
stimulus and weights), thus eliminating the need to make a pass over the log
for each event.
also part of the stimulus would likely be a more abstract "strengthen" or
"weaken" bias, which would be associated with some events (eg: those used
for training behaviors), but would be naturally close to neutral for more
ordinary events (possibly with a slight bias twards weaken to cause the ai
to forget less common patterns). comparatively the other more usual biases
(eg: like anger, fear, health, or whatever) would be weaker, but would help
differentiating between actions (attacking/running from enemies, running
twards health items in low health situations, ...).
behaviors could be chosen based on the current stimulus. my thought is that
behaviors would be chosen based on proximity to the current bias for a
behavior. nearby behaviors will be generated, and may further effect the
current stimulus. some behaviors could involve generating events, eg,
generating something like a "pissed off" event could be help in maintaining
"mood" or similar. limits would probably have to be set on how often events
could be generated though to avoid trying to generate the same action
repeatedly. the thought though is that events could have a natural local
"weaken" bias that degenerates over time (eg: twards some more neutral
bias). reinforced behaviors would get a more reinforced natural bias.
positive events would be a natural strengthen and negative ones a local
weaken. this might help in reducing destructive actions and generally
driving behavior or such.
maybe I am just stupid, or maybe there is no point in writing this, I don't
know. at least by intuit it seems like it might work...
4.curious inhibition ( another idea for a log based ai)
"cr88192" < XXXX@XXXXX.COM > wrote in message
news:QnFEd.8783$ XXXX@XXXXX.COM ...
> yes, this idea for me pops up occasionally.
> pardon the cross post, it is only 2 groups, just ones with long names...
>
> people here may remember me previously having obsessed on the idea.
> I still have no idea of originality or whether it could work. however,
> now, I have come up with an idea of how to test it.
>
> the idea would be to simulate a "cat" in an effectively text-based world.
> as time goes on various things would show up or things will happen (need
> to eat, crap, sleep, play with other cats, ...). the test would be if it
> is able to figure out what to do in these situations, and if it is able to
> maintain it's mood/state eventually.
>
now, at least the most basic part is done. it adapts to conditions in the
log and exhibits basic learning-like behavior.
the base algo works thus far, and I have got the ai to be able to maintain
it's food level (sort of, it is curious though).
now, when there was no "cost" to the action, the ai would refrain from
eating or eat to maintain itself in an optimal state, thus, most of the time
was spent here.
I had figured I would add a cost, and it would prevent it from eating a lot
in a short period of time (and thus go from hungry to trying to eat while
completely full). this worked in terms of adding a kind of weight that is
reduced whenever an action occures, and over time returns to 0 (or
essentially no-effect).
now, once I added a cost, something odd happened:
instead of eating to maintain state and preventing chains of the action, it
instead caused it to wait until it was fairly high on the hungry end, and
then eat a whole lot to throw itself slightly into the full range (approx
50-75% or so, from a point of about hungry 75-100%).
the inhibitions for eating in the mild hungry range (50-75%) are curiously
high, effectively in general preventing eating there.
in the other ranges (ok, and slight/mild/complete full), there is
inhibition, but lower than would be expected (however, by watching it still
looks like it does not really eat in these ranges).
my guess is that it is utilizing the fact that eating while being in the
75-100% hungry range gives the most reinforcement for the longest period of
time, wheras eating from the mild hungry area would allow a lot less
reinforcement for a shorter period of time.
it is still curious though, intuition says it shouldn't figure this one out
(eg: it should be more eager and go for the quicker rewards of the
mild-hungry range).
of course, it could just be a bug...
I have not tested with more complex situations/actions, so I don't know
really.
it is a mystery what would happen if I just added a general "eating cost"
that works by just punishing the ai a certain amount for eating.
I don't know really though.
5.Other 4-player simultaneous paddle game ideas (was: 4-player Tetris-style game idea)
Bill Kendrick < XXXX@XXXXX.COM > wrote:
> It occured to me, one could do a four-player Tetris-style game
> on the Atari using two pairs of paddles.
Some other 4-player, simultaneous-on-the-same-computer game
ideas:
* Multiplayer space battle ("Space War") or "Asteroids"
* Multiplayer racing (3D like Pole Position, Enduro or
Night Driving; or 2D like the GameLink game I saw,
"Speed-Up!", or "Championship Rally" on the Lynx)
* Multiplayer "Lunar Lander" (who can land first?)
* Multiplayer shoot-em-up (like "Space Invaders")
(I also realize there was "Demons to Diamonds", which
was 2-players facing each other... this would be
four players somehow sharing the ground at the bottom)
Heck, one could even make a jump-and-run game
(not unlike a simplified version of "New Super Mario Bros. Wii"),
since... for the most part, you use left/right/jump.
One I was thinking about that I'm pretty sure wouldn't
work would be a 4-player simultaneous "Combat" / "Tank"
game, since you need controls for both forward/back and
firing.
I could probably prototype a bunch of these in TurboBASIC XL.
("POKE HPOSP0+PLY,PADDLE(PLY)" ;) )
--
-bill!
Sent from my computer
6. an original game idea sales pitch idea
7. CFP - AI, Games and Narrative AI
8. Game AI Poll: The 2005 GDC AI Roundtable Format