New to the forums? Click here to read the "How To" Guide.

Developer? Click here to go to the Developer Forums.

# AI theory - maybe useful for bots in games?

Posts: 723
Trinity
edited November 2019
binary
make path using binary, steps of binary power = path
= [(2 ^ 0, 2 ^ 1, 2 ^ 2, 2 ^ 3, 2 ^ 4) = [(1 or 0), (1 or 0), (1 or 0), (1 or 0), (1 or 0)]]

learn path = one binary at a time completes binary power.
= [(2 ^ 0, 2 ^ 1, 2 ^ 2, 2 ^ 3, 2 ^ 4) = [(1), (1), (1), (1), (1)]]

redo binary power correcting binary errors in subsequent versions to match the number made in the binary power

if previous binary path = true, new binary path may also be true.
changing the binary power to be true for a lower binary power, 2 to the 0 power for example = 1,
greater binary power which does not know this binary value of 2 to the power of 1 = 0 incorporates the value into the number their binary power makes
= [(2 ^ 0, 2 ^ 1, 2 ^ 2) = [(1), (1), (1)]]
= [2 ^ 3, 2 ^ 4) = [(1 or 0), (1 or 0)]]

in creating the value the binary power equals, you incorporate lower binary power values into the greater binary power value which sorts out errors = blend binary path

you branch out the various nouns into their own verb binary path, a verb binary path merges greater binary power paths with lower binary power paths
to make the greater binary path true.

the greater the binary power, the more smaller binary values have to be made to fit the greater binary power, the harder to complete the harder to merge.
for example the number pi, you can merge pi to math but not all of the number pi.
and for things that are a rational number you need to have the entire binary power path, this is considerate.

so fitting a irrational number to a rational number is corrupt. you need to take only a part of the irrational number to a rational value = proportion.

therefore, if a path = a binary to some power, made up of smaller binary power that are themselves made up of smaller binary power,
reversing the largest binary value down each power in the path to sort out its origin might fix the one largest path to sort out the smaller paths to their value,
but the smaller value or path is tied to the larger  value so it holds the smaller values in relation to the largest path value.
therefore in sorting out the return to the smallest value the largest value having sorting out the smaller values to their position,
keeps the largest value open as reference for that value or power till that power has completed its return to the smallest value.
= [(2 ^ 0, 2 ^ 1, 2 ^ 2) = [(1), (1), (1), (1)]]
= [2 ^ 4) = [(1 or 0)]]

therefore, to remove smaller power values inaccessible to the larger path power, the larger path power creates a path intermediate that removes the small power value for the larger power path.
= 2 ^ 3

so thats my theory. in practice if you jimmy up an algorithm using my theory the bot would see it needs the intermediate to generate the result wanted.
the binary goes up to the problem, but not down to the solution.
so the intermediate 2 to some power, is held open binary to some power, made up of smaller binary power that are themselves made up of smaller binary power, eventually to 2 ^ 0. each time this happens a new pice of the puzzle is added until the entire puzzle can be solved, all the pieces are there.

in my theory, the bot would see it needs to sort out a value to its original spot, it cant, so it uses an intermediate paths to generate the result wanted.

im not able to test this theory practically yet, im still learning my binary theory and other maths and game programming but for future reference both to myself and others and people who could jimmy up an algorithm using my theory i put this here now.

i could have put this in the off topic forum but its useful for bots which might come in handy for oculus.

«1

• Posts: 2,274 Valuable Player
I’m not sure what I just read but I am impressed 😀
• Posts: 723
Trinity
edited November 2019
i edited the first post with some math and this is the post to include the picture i drew describing the idea;

• Posts: 723
Trinity
using my previous posts jpeg, here is the math, in the first line of the math, from the 2^2, go to 2^3 to have new numbers.

a -> b
let a = b
a^ 2 = ab
a^2 - b^2 = ab - b^2
(a + b)(a - b) = b(a - b) // a - b = 0
a + b = b
b + b = b
2b = b
2 = 1
becomes
[(2 ^ 4) -> (2 ^ 2 = 4)] // solution -> problem
let (2 ^ 4) = (2 ^ 2 = 4)
(2 ^ 4)^ 2 = (2 ^ 4)(2 ^ 2 = 4)
(2 ^ 4)^2 - (2 ^ 2 = 4)^2 = (2 ^ 4)(2 ^ 2 = 4) - (2 ^ 2 = 4)^2
((2 ^ 4) + (2 ^ 2 = 4))((2 ^ 4) - (2 ^ 2 = 4)) = (2 ^ 2 = 4)((2 ^ 4) - (2 ^ 2 = 4)) // (2 ^ 4) - (2 ^ 2 = 4) = 0
(2 ^ 4) + (2 ^ 2 = 4) = (2 ^ 2 = 4)
(2 ^ 2 = 4) + (2 ^ 2 = 4) = (2 ^ 2 = 4)
2(2 ^ 2 = 4) = (2 ^ 2 = 4)
2 = 1
with this bitshifting you divide by zero to have AI. or, 2 -> 1, which is not dividing by zero but it is still.

• Posts: 2,274 Valuable Player

• Posts: 723
Trinity
edited November 2019

[(2 ^ 0 = 1) (2 ^ 1 = 2) (2 ^ 2 = 4)] (2 ^ 3 = 8) = [(->, <-), ->] = 0
[(2 ^ 0 = 1) (2 ^ 1 = 2) (2 ^ 2 = 4) (2 ^ 3 = 8)] (2 ^ 4 = 16) = [(->, <-), (->, <-)] = 1
0 & 1 = 1 bit

///////////
a -> b
let a = b
a^ 2 = ab
a^2 - b^2 = ab - b^2
(a + b)(a - b) = b(a - b) // a - b = 0
a + b = b
b + b = b
2b = b
2 = 1

becomes

[(2 ^ 4) -> (2 ^ 2 = 4)] // solution -> problem
let (2 ^ 4) = (2 ^ 2 = 4)
(2 ^ 4)^ 2 = (2 ^ 4)(2 ^ 2 = 4)
(2 ^ 4)^2 - (2 ^ 2 = 4)^2 = (2 ^ 4)(2 ^ 2 = 4) - (2 ^ 2 = 4)^2
((2 ^ 4) + (2 ^ 2 = 4))((2 ^ 4) - (2 ^ 2 = 4)) = (2 ^ 2 = 4)((2 ^ 4) - (2 ^ 2 = 4)) // (2 ^ 4) - (2 ^ 2 = 4) = 0
(2 ^ 4) + (2 ^ 2 = 4) = (2 ^ 2 = 4)
(2 ^ 2 = 4) + (2 ^ 2 = 4) = (2 ^ 2 = 4)
2(2 ^ 2 = 4) = (2 ^ 2 = 4)
2 = 1

with this bitshifting you divide by zero to have AI. or, 2 -> 1, which is not dividing by zero but it is still. in a bit, you have two states 1 = 0.

Now
{
[(2 ^ 0 = 1) (2 ^ 1 = 2) (2 ^ 2 = 4)] (2 ^ 3 = 8) = [(->, <-), ->] = 0
[(2 ^ 0 = 1) (2 ^ 1 = 2) (2 ^ 2 = 4) (2 ^ 3 = 8)] (2 ^ 4 = 16) = [(->, <-), (->, <-)] = 1
0 & 1 = 1 bit
}
= 2^ 0 = 1 bit = 1

2^1 = 2

2^2 = 4, where did 3 go to? you need to mix two bits to make the number 3 [(2^0) + (2^1) = 3] = a different type of bit
because a non-bit number is made of bit numbers to have a solution and problem.

its very unpleasant trying to log in. i have a very difficult time trying to log in. its egregiously tedious and demanding work. so much so its distressful i cant log in for my username and password in multiple browsers for so many tries. by the time i finally get in im so fatigued by it all i have no joy in posting whatsoever.
pitiful.

• Posts: 2,165 Valuable Player
..and how on earth did you conclude this forum was the right place to post that?  Did you run that decision by your "AI" ?
PCVR: CV1 || 4 sensors || TPcast wireless adapter || MamutVR Gun stock V3
PSVR: PS4 Pro || Move Controllers || Aim controller
WMR: HP Reverb
• Posts: 723
Trinity
nobody cares. so it doesnt matter. but its for bot decisions which is sort of for ai and games, i guess. but it doesnt matter, nobody cares. no worries friendo.
• Posts: 2,274 Valuable Player
Have you considered posting in the developer section? Most of us are just enthusiasts here.
• Posts: 723
Trinity
edited November 2019
this started as a theory with no math, right now i have the math but no code implementation into build-able AI so its of no use to a developer yet.

when you build sw you need to create a diagram with a path from start to finish, the diagram has a line you follow to boxes the boxes show a yes or no that directs the path. without describing what i described here you cant build the diagram in the first play, then with the diagram you have at least a partial ability to code it.

if i posted this in a forum with strict behavior, a math forum or a sw dev forum, i would be in a bad way. but this is a necessary step to build the diagram that is then built into a sw and i figured it has to be shared so i put it here where no one cares and if i get good enough to build ai in the future i can re-read this later on a build it myself.
• Posts: 2,274 Valuable Player
edited November 2019
Well it looks very interesting. Let us know how you get on with it.
• Posts: 14,879 Valuable Player
edited November 2019
Could also help predict which Stock to invest in, or which Lottery Numbers to purchase!

Interesting data dump.

Are you a fan of the Myst games? Check out my Mod at http://www.mystrock.com/
• Posts: 1,859 Valuable Player
@hoppingbunny123

I'm a software dev and I don't have any idea what you're talking about. When you explain something the most important thing is the high level non-technical description. Can you explain what the problem you're trying to solve is and just generally what your solution is?

Is this a path search algorithm like A* search algorithm?

i7 6700k 2080ti   Rift-S, Index
• Posts: 723
Trinity
edited December 2019
nvm
• Posts: 723
Trinity
edited December 2019
nvm
• Posts: 14,879 Valuable Player
This should probably get moved to Off Topic section since it's not really about VR at all.
Are you a fan of the Myst games? Check out my Mod at http://www.mystrock.com/
• Posts: 723
Trinity
edited December 2019
nvm

• Posts: 723
Trinity
edited December 2019
nvm

• Posts: 723
Trinity
{
[(2 ^ 0 = 1) (2 ^ 1 = 2) (2 ^ 2 = 4)] (2 ^ 3 = 8) = [(->, <-), ->] = 0
[(2 ^ 0 = 1) (2 ^ 1 = 2) (2 ^ 2 = 4) (2 ^ 3 = 8)] (2 ^ 4 = 16) = [(->, <-), (->, <-)] = 1
0 & 1 = 1 bit
}

second arrow pointing right = first arrow pointing right, which puts the second arrow pointing right in-between the first arrow pointing right and the first arrow pointing left, serving as a bridge or seal.

second arrow pointing left = first arrow pointing left,  which puts the second arrow pointing left in-between the first arrow pointing left and the first arrow pointing right, which divides the second arrow pointing right into two.

the above describes a box thats taped shut, then the tape is cut down the middle so that the box isnt shut anymore. this is good.

(the seal that is 0 is divided by 1) = 1/2 = 0, 1

repeating this;
[(->, <-), ->] = 0
[(->, <-), (->, <-)] = 1

becomes;
([(->, <-), (->, <-)] + ->) = 0
([(->, <-), (->, <-)]  + (->, <-)) = 1

theres 1 too few arrows going left in the second example, so as the division happens the arrow pointing left cuts through 0, the second pair of (->, <-) is being cut so that (1 [->, <-]) is being cut as 0.

to fix this you subtract this additional padding of (->, <-), so that the arrow point left can divide (->, <-) = 1.

this is like cutting the tape on the box trying to open the box, but the padding on the inside of the box is holding the second set of lips flush against the top of the box so that cutting the seal the scissors run into this second pair of lips and has to wiggle the scissors so the scissors dont but the box lip only the tape holding the box shut.

• Posts: 807
3Jane
I have degrees in both Physics and Computer Science, work as software dev and my job is creating software bots to automate various tasks. I have no idea what you're trying to do. It's like walking into a class on a proof when it's halfway done and the original question has been erased. Without context, this is all meaningless.
• Posts: 723
Trinity
edited December 2019
repeating this;
[(->, <-), ->] = 0
[(->, <-), (->, <-)] = 1

becomes;
([(->, <-), (->, <-)] + ->) = 0
([(->, <-), (->, <-)]  + (->, <-)) = 1

= multiplication, in the [] brackets you have one factor, on the opposite side of the + sign you are missing the amount of left pointing arrows to make the second factor to make the multiplication true. for the amount of left and right arrows on one factor in the [] brackets, you need to correct the amount of left arrows in the second factor on the right side of the + sign.

by adding left pointing arrows in the second factor, you correct the second factor for the amount of left right arrows in the first factor.

this is using addition, treating the sets of left and right arrows in the first factor as equal to each other to make adding left pointing arrows easy. this is the reasoning in the first logic, that logic belongs to the second factor = addition.

conversely, the first factor counts the second factor incorrect factor value as a subtraction from the correct factor value, missing the correct number of left pointing arrows, that is, taking the correct number of left pointing arrows in the second factor and then subtracting the amount of left pointing arrows to make the multiplication have one true factor inside of the [] brackets, and one false factor on the right side of the + sign, then the second factor progressively adds in left pointing arrows until the full amount of left pointing arrows is filled.

but the first factor is itself a true factor for each of the false factors left arrow increments. for each false factor left arrow value increment, the false factor must include the subtraction difference correctly, but the factors order in multiplication is irrelevant, therefore if the first factor is put in the place of the second factor on the right side of the + sign, then the second factor has no difference to prove only addition not subtraction. this is the reasoning in the second logic, that logic belongs to the first factor = multiplication.

this is a logic to sort out chat bot chats with difficult people. sort out the humans sentences into logic of multiplication or addition. if multiplication then they're being difficult, and if addition then they're being positive and productive. if they're worldly and not pure gud people they sort out to believe in the multiplication logic, and treat pure people as the false factor. this is innately important so the Bool logic imbued on AI has the same beliefs as the worldly people as they have the money and power and corruption and want their AI not to be against them for their impure ways. especially if trans-humanism makes the AI copies of peoples brains and the copied person is a bad person their copy has to be bad too.

its difficult to understand i agree, but its using simple logic of cutting tape off a sealed box and simple math like addition and subtraction, i think the logic is sound its just my voice is hard to listen too even though I'm typing it out and your reading it. it might be so difficult to hear my voice through typing you cant bring yourself to reason such simple logic as i have described here, i sympathize with you. nothing i can do about that my English is broken and IRL i stammer and have a crackly voice and east indian staring eyes that are large and scary looking so in person I'm worse..

not pretty at all;

• Posts: 723
Trinity
i drew out the math so my previous comment is more understandable;

([(->, <-), (->, <-)] + ->) = 0
([(->, <-), (->, <-)]  + (->, <-)) = 1

becomes the factor in the [] brackets goes on the right side of the + sign = the true factor is offended:

([(->, <-), (->, <-)]  + (->, <-)) = 1
([(->, <-), (->, <-)]  + (->, <-) + ->) = 0
([(->, <-), (->, <-)]  + (->, <-) + (->, <-)) = 1

becomes the factor on the right side of the + sigh goes back to be the factor in the [] brackets = the true factor becomes the offender;

([(->, <-), (->, <-)] + ->) = 0
([(->, <-), (->, <-)]  + (->, <-)) = 1
([(->, <-), (->, <-), (->, <-)] + (->, <-) + ->) = 0
([(->, <-), (->, <-), (->, <-)] + (->, <-) + (->, <-)) = 1
([(->, <-), (->, <-), (->, <-), (->, <-)] + (->, <-) + (->, <-) + ->) = 0
...

then for every increment the false factor makes, there is a corresponding increment the true factor makes keeping the false factor perpetually false.

that is the error in multiplicative logic. its the proverbial left side or left hand that's culturally associated as a sign of evil or malpractice.

the converse of this is gud or addition, and that comes from 0, 1, and the left hand increasing the factor in the [] brackets is counted completely, and as the multiplication adds in more sets they're added in to the total number, which results in the addition moving left so that the addition pushes left on the offender.

the offender has then to do both being offended = (1, 0, 1), and being the offender = (0, 1, 0), while the addition has to do only the total sum of left pointing arrows to make, incrementing the value, and so pushing left as addition is drawn left.

• Posts: 6,735 Volunteer Moderator
Yes. Much. Clearer. Now.
A PC with lots of gadgets inside and a thing to see in 3D that you put on your head.

• Posts: 5,465 Volunteer Moderator
its clear that the phase shift was inverted, saturating the magnetic flux restrictors
but only on a tuesday
Intel 5820K [email protected], Titan X (Maxwell), 16GB Corsair Vengeance DDR4, ASRock X99 Taichi, Samsung 500Gb 960 Evo M.2, Corsair H100i v2 Cooler, Inateck KTU3FR-4P USB 3 card, Windows 10 Pro v1903 (18363.657)
• Posts: 723
Trinity
edited December 2019
so far i have showed the logic for the back and forth movement vs the strafing to one side movement to illustrate the logic of addition vs multiplication.

that's a simple movement that's useful for logical reasoning on why people reason cruelly, but its not very gud for AI being useful for real fighting in video-games.

i have written up how to stretch this logic of the two different types of movements into fully fledged fighting mechanics in my YouTube video here;

this details how to write up written pseudo code but not the flowchart, and you need the flowchart to be able to code it up. and its not saying if fighting should be used against anybody in particular its a killer robot basically. to draw in morals into this you have to reason if the fighting mechanism is veering off into the math of multiplication which i detailed here as being potentially destructive and immoral. so that means while the fighting branch is useful its not useful without reasoning what i described in this thread about gud and evil so the robot is safer.

edit, i had no hits on the youtube video so i will put the details in the video here;

i have watched a few fights on YouTube, a few instructors, and played a lot of fps video-games and other stuff and have an opinion on the basic fundamental mechanism in fist fighting.

what there is is there's two mechanisms at odds, and the two fighters fight to decide who gets what mechanism.
- the first mechanism is the back and forth or starting over after a flub.
- the second mechanism is taking the flub and building on it in a sweep.
- mechanism 1 = back and forth
- mechanism 2 = sweep

the whole thing works like opening a door, and then walking through it.
the opponent is the door, they are opened, then they have to close again and this opening and closing is the back and forth to fix a flub.

as the door is opened, the person who opened the door walks through the door and this is a sweeping motion of first opening the door then walking through it.

to get the door open the door opener has to physically take the closed door, and make it have a flub that the door tries to fix by closing.
this door opening is a physical interaction from the door opener to the door, and that is different martial arts strategies of striking or grappling.

if the door is too heavy, you can try to pull the door open but it wont open, so there you have the body strength difference at play. a woman might have the know how to open a door like a fire fighter ramming a door to open it, running into the door, but the door is too strong for the light body of the woman.

if guns, they say the first to land a shot usually wins the fight, so here the first hit is the door being opened. and so if you have a fight with weapons and they can land a shot then you have to take cover, making the door heavy by manoeuvring yourself to cover. then taking opportunity to open them like a door.

and this leads to juking having a place where juking can keep you from getting moved as a door.

juking has two mechanisms;
- circle parameter - the fighter is the door trying not to be opened hides its degree on the circle, and then hides its 3d attributes.
- circle center - the fighter trying to open the door is the circle centre moving to the circle degree to open the door, and has to account for the 3d attributes too.

if the target can juke successfully, their circle degree is hidden, and the 3d attributes help hide the door.

now to problem solve this you need to find the degree the opponent is on, then target it this means the circle will be filled at that 3d space so that as the opponent is moving on that 3d space at various degrees the degree wont matter so much because the entire 3d space for the circle plane is being filled.
as seen in the clip from the movie serenity where rivers brother uses the flash stun tool to free river.

this has a time limit, because they can hit you and you have to take this into account to keep the door too heavy to move.

the problem happens when juking works then the circle centre is compromised and transferred to the opponent and then your the target on the circle parameter. you had a time to become movable in return for hitting them but missed now your exposed.

in boxing you have the movement of moving to the side when its obvious to fight commentators you used up your time to go forward. so you create a obstacle by moving to the side so there's a re-balancing that happens much like tight rope walking.

how does math of addition and multiplication fit into this?factor in morals and that adds another re-balancing to be done of when to move to the side and become passive and so stop the offence.

if you have the skill to not have to move to the side its still technically wrong for the reason of having to move to the side if your using the whole scope of people who have to do it not just the strongest fighter, the weaker fighter would have to step off and re-balance so the strongest fighter has to as well. hence morals of re-balancing to stop from being oppressive come into play and so morals actually fit in with the fighting mechanism. the group consists of both multiplication and addition, hence if multiplication is true addition also has to be true to have the group true.

i watched a Bloomberg documentary of using brain implants to help a paralyzed man regain the use of his hands. he had some mobility regained but not enough to be useful. showing me that there are sets or movements involved in moving the hand functionally. looping the (multiplication to addition) to have fine movements.

the first loop is the most crude set, set 0, then set = set + 1, have increasingly refined movements. this is what must stop the multiplication from looping forever, because the set has multiplication tied to addition. and while multiplication might be immoral, its still tied to the set that includes addition hence whats wrong isn't based on strength but math. and the math to refined movements in increment the loop counting the set. if the multiplication ignores addition then the loop incrementing finer movement stops and your paralyzed, or crippled. so absolute strength must include addition and so have fine meowvement.

• Posts: 2,165 Valuable Player
You didn't accept drugs from this guy, did ya?

PCVR: CV1 || 4 sensors || TPcast wireless adapter || MamutVR Gun stock V3
PSVR: PS4 Pro || Move Controllers || Aim controller
WMR: HP Reverb
• Posts: 723
Trinity
edited December 2019
i read about guys doing that stuff. i dont make or do that stuff. never been drunk a day in my life either, not 1 puff of weed. no woman.
• Posts: 2,274 Valuable Player
edited December 2019
Well I am rooting for you hoppingbunny we need some inventive AI in games. I love Boneworks and Stormlands but the AI seems to be getting worse each year not better. Keep going dear chap.
• Posts: 6,932 Valuable Player
edited December 2019
That's why I like Player vs Player and not against AI in games. There has to be some flaws in AI because if it was smarter then we are it would be to difficult to complete games. We just need AI to play like real people do, but I can't see that happening any time soon.
• Posts: 6,001 Volunteer Moderator
I love Boneworks and Stormlands but the AI seems to be getting worse each year not better.

I like GOAP (Goal Oriented Action Planning) that was used in Fear.
GOAP was also the basis for the Tyrion AI system in Swat 4.

I was designing my own AI experiment based on tagged knowledge gained by observation and unreliable information sharing. It was more suited to a long term a-life system rather than game AI. I should get back to that one day.

• Posts: 723
Trinity
edited December 2019
i c no hits on my YouTube video from December the 18th so nobody read what i wrote so i edited the December 18 post in this thread with the text in the YouTube video,  and redid the video and edited the theory to make it clearer.

to create some tie to the math i described to include the fighting text i wrote takes more mental power than i have unless i re-read it 100 times or so and im too lazy to do that. i'm too cozy and cuddly and comfortable sitting in my warm room and rug for my feet and fat gut and nice chair to want to work to make the fighting and math unified, maybe later i will try too but now im a bum and lazy and tired.

right now im learning unity to make 2d games. when i can do that i might move onto learning unity AI in games then try something using what i wrote above. in a few years, i hope i have the gumption to keep at it and not be lazy and useless and quit like a bum.