Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

Timer block 1-in, 81-out operations- coding a neural network?

Discussion in 'Programming (In-game)' started by Calaban, May 19, 2020.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. Calaban Junior Engineer

    Messages:
    994
    I was defending the honor of a timer block in another thread, noting how 81 operations per second didnt seem that bad after all.. and it got me thinking.

    ... is it possible, to someone with the know how, to build a neural net with nothing but timer blocks?

    Each block has a single input with 5 different actions: Start countdown, Stop existing countdown, Trigger now, Power off (suspend countdown), Power on (Resume countdown)

    When triggered, each block has 81 actions it can output (9 actions on each of 9 toolbars)

    This got me thinking of neural net construction, which is very much 1 in-many out cross linkages.

    Also thinking of BEAM robotics transistor neuron builds. (bicore rotor control photovore/ sensor headbot), as each timers variable wait time can be thought of as a discreet RC timer circuit. Start/Stop/Trigger/pause/resume could make all manner of logic gates as well. These very simple discreet electronics builds are about the extent of my knowledge in this type of coding.

    If a timer can alter another timers wait time, and can abort or fire off now as well, on the fly, as well as pause and resume timers already running... Then the 1 in many out, and each iteration of the "hidden" layer of the neural net adjusts timer "bias" adjustment.. basically defines the layout of a neural network construction, with a single programming block verifying the operation meets the testing goals- looking for that "root mean" objective... as I understand it.

    So- to those with "the know" that may be reading this- is this possible? are there any mechanisms in the game flat out preventing this? Has anyone built anything/tried anything like this already?

    Am looking for a "Hello, world!" Timer block machine.. or a timer block headbot on a rover that points at a detected grid/player/voxel and tracks it as we drive by. Or dream of a neural net that self teaches how to control a piston/rotor/drill arm... without immediately trying to murder us all.

    If flat out impossible because of reason X, then please let me know now, so I can delete this current dream.
     
  2. Malware Master Engineer

    Messages:
    9,865
    The number is not 81 operations per second.

    It's 4860. (TriggerNow) At least I think TriggerNow will invoke every tick... it used to but I'm not exactly using timer blocks all that much. If not, it's gonna be 486 (every 10 ticks)
     
  3. Calaban Junior Engineer

    Messages:
    994
    well, yes triggernow spamming itself is one thing, but just that one block looping- which may still have a place in this. I can only imagine a trigger now spam crashing the engine it it triggered 81 others that fast, though.

    I was thinking more 1 block triggers up to 81 others, which each trigger various output commands, which then sees if it reached a better solution towards target goal, then randomly changes variables of those hidden layer 81 timers of those that did not improve, and redoes the cycle, over iterations changing the variables to reach an optimal "succeeded at task over time" at each step.. to reach a self taught solution to it all- Neural net "machine learning". A crazy little block of timers click clacketing away, figuring out how to move an arm before doing it. I suppose a programming block and script is still needed to evaluate each iteration and change variables, but the point is: its out of our hands how it does it

    Setup a Box drop crane arm with 4 axis of rotation (base, "shoulder" up down, "elbow" fwd/back, "wrist" pivot). Have it start at all rotors in stowed position, "learn" a way to get the box on end of arm to certain position to detach the box on target position the quickest, then, once learned, execute it and move the arm to the correct spot, without any controlled input- it "taught itself" how to do it. And each "solution" to do it will be learned/performed uniquely. Could save "optimal" control sequence, and repeat as needed (sections of the 81 turned off for different tasks). Eventually expand self taught arm to pickup a Box from X, and drop it to Y.. super eventually have it be told where box is and where needs to be automatically as well.

    Which may or may not include killing its creator. And may or may not take 4 hours to compute in game engine.

    Seeing it attain a unique control algorithm on its own without any input other than starting condition and goal, and seeing it come up with unique ways on its own is the magic of the neural net. I can grasp the "Dream" of it all, but not the physical coding aspects of it :(
     
    Last edited: May 19, 2020
  4. Malware Master Engineer

    Messages:
    9,865
    Why would it? Why would it be any worse than running the thousands upon thousands of other methods that's already being run every single tick? :)

    It might slow your game down, for sure.
     
Thread Status:
This last post in this thread was made more than 31 days old.