It seems like the algorithm wasn't able to account for where tiles will appear or their value, so looking 5 moves into the future isn't much better than just looking one move into the future
Opinions cannot be right or wrong, if there is evidence behind the opinion then it is called a substantiated assumption and can be correct or incorrect
I like how even when "Thomas" finally succeeds, it's still less efficient than any even slightly smart human player, making Tommy sort of pointless, but he always was a problem child and it's the journey that matters, not the destination
This pretty much *is* the strategy for 2048; pick a corner and work toward it. It doesn't always work because the random placement of new tiles will occasionally put you in a state where it becomes impossible to win despite perfect play (as illustrated by the video), but that's the nature of any game that features a random element. Put simply, luck beats skill any day of the week. Whatever you do, never move your largest value tile out of that corner - the RNG *will* screw you by immediately spawning a 2 there.
That’s where u see the value of human labeling. Simulating a human learning prespective is so hard that its better if a pro player of 2048 plays the game 500 times and we give the data to our neural network. Then AI can have a very good sense of what playing this game looks like. At this point AI knows how to play the game but there’s also room for improvement. so just like code bullet did, now we can use “choosing the best out of 5 moves” just like he did and it is gonna get better and better. The more complex the problem (self driving car) the more useful the human teaching
As somebody who is named Thomas, this ai is basically a perfect recreation of anybody named Thomas. They fail at everything for a while, then somehow get it out of sheer luck.
Sergio Arvizu According to Wikipedia, the earliest representative of what we’d call humans, Homo Habilis, first showed up around 2.8 million years ago. Assuming generations take 20 years, which is probably very uninformed, that would be 140,000 generations. Not as much as a million, but a bit more time to develop than 247 generations. That’d only get us to here from just before the Great Pyramids were built.
You should've told it that in addition to having the highest possible number in the top left corner is good, it should also prefer having as much free slots as possible and get rid of small tiles as much as possible
He also had that the 2nd highest scoring tile should be next to the highest scoring tile. This should continue on down, the 3rd should be next to the second, the 4th next to the third.
Yeah, I think the entire problem boils down to develop a better way to evaluate the "game state". Looking 5 steps into the future should be absolutely enough to win this game, probably even 3. But it's sort of useless if your definition of whether the game state is good or not is so bad. eg aligned values (along a sort of S-shape) are much better than a 15 / 6 / 13 / 1 / 7 etc. Would be a rather complex algorithm for a simple game but hey
When I went down the rabbit hole with this game, my strategy revolved around one simple restiction: choose a direction (in my case, up) and never move in that direction. A consequence of this is that the largest tiles end up on one face, similar to your "top left for highest value block" strategy. I wonder how the AI would do with this restriction in direction. Edit: 2048 became an easy target, if I recall correctly, 8192 was the max I reached before throwing the game in my "NEVER TOUCH AGAIN" category.
@Natsu Dragneel I don't know that it can be considered "low" against any reasonable standard, even if it's not a record. To put it into perspective, a 6x6 board offers 2.25 times as much play area as a 4x4 board, and with that extra area comes many options for storing large tiles while building smaller tiles needed for further advancement (at a point, the hardest problem becomes efficient use of space). But still, congratulations to your girlfriend, impressive work!
I love how much "failure" you actually include in your videos. It's interesting to watch how many types of things can actually go wrong while programming, and hearing what your thought process is to overcome them.
I don't know the first thing about coding but always thought it was interesting. Is something like this really difficult or is it kind of an "eh" thing to other coders and only impresses the ignorant
@@TheStoneBreak Oh god these algorithms are pretty monserous, its very impressive depending on experiece/foucus in ur code, as coding styled progammers simmilar to him wouldn't vice virsa
Your second approach reminds me of the Othello algorithm I wrote for my introductory coding course a few semesters ago and I just wanted to say, I 100% understand watching said algorithm come *so close*
@@thejman3489 Nice job. That's still a great score. I haven't played 2048 for about 6 months but I can tell you that I was improving slowly. Once I had 2 8192 tiles and I couldn't combine them *FACEPALM* :(
@@yolkeggs you're missing something! Chess matches between different engines (ai's) are very common and some are far superior to others. Google recently destroyed the previous benchmark for the strongest engine (Stockfish) with their deep mind ai. In fact, by changing the difficulty of the chess computer on your phone, you're essentially getting two different "AI's".
Your sense of humor in these is simply amazing! Love it, doesn't matter how successfully or not your creations are, your commentary makes these 10/10. It's pretty cool to see what challenges you run into and what solutions you come up with to them. Interesting to see your different approaches :)
Stop to pretend to be so dumb lmao, its actually impossible to not to reach 256 even moving completely random i guess, anyway back at school my record was 8192 (+ 2 2048,so i wasnt really close to the 16k)
It sounds like you implied you were using the minmax algorithm to evaluate the future game states. When evaluating the game state, you could take into consideration the possible locations for the new tile & its value (called substates) and apply a modified minmax algorithm to those substates. I can tell that this is not being done because of the move at 8:25, where 256,128,128 is moved right. The minimum state for that move would have been a 2 being added at the top left corner, permanently (for the forseeable 5 future moves, actually) displacing 512 from being in the top left corner. A left direction in this instance would be the better move. I'm halfway motivated to make a better algorithm for this game myself now
You should have added to Thomas points for not moving the biggest tile. What I learned from playing this game constantly is that you should never move the biggest tile from his corner except there is no other way.
uh-huh, suuuuure. blame the AI. It's totally at fault for not achieving the singularity. Go Thomas go! You can do it. Just keep it on the DL when you pass that turing test, love. We'll be rooting for you. ^_^
I think there’s an issue with the algorithm. In the actual game, part of the challenge is not knowing whether a 2 or 4 is gonna spawn. This especially matters when the board is almost full. Since the algorithm calculates what the board is gonna look like after 5 moves, then it already knows whether a 4 or 2 is gonna spawn in every one of those moves.
i think if the AI knew what would spawn where ahead of time it would be solving for 2048 every time very easily. What he should be doing is calculating for every possibility over a couple of moves and playing the "safest" path. Treat the RNG as an adversary, and minimise the damage it can do.
yeah, he is probably doing a min max algo over the tree of all possible moves AND spawns. Alternatively, he may be computing probabilities and expected gains on that tree. A refinement would be making a Monte Carlo search, since we know the distribution of spawning. If the AI knew what would spawn where ahead of time, it would lead to spawn manipulation abuse, where the AI deliberately chooses an objectively subpaar move because he knows it will be lucky (the spawn location has to depend on its move, since available locations depend on its move).
This is they same way chess algorithms work. They calculate all possible next stages for each of the next possible moves. He claims he goes 5 layers deep with this. That's a fairly massive search tree, but I guess if he has the computational power and/or the time he could do it.
Not that massive for this game. Chess has far more moves available in a turn, this one has only 4 moves and then the number of empty locations on the board left * 2 for where the next block will spawn.
I wonder how long it would take thomas to get to the 131072 tile. It would require a large amount of luck with tiles and probably takes trillions or more trials
ZX T I wonder that too. I had the same game going for months. Of course I didn't play it everyday. But it took forever. Mainly cause I had to fix mistakes. And of course it wasn't 4X4.
@@fotwen Have you tried the 5D? 2x2x2x2x2? (2x2 grids layed out in two 2x2 grids, wasd within a grid, rf to go up, qe for within the two metagrids, and zx to swap between those). Since it's 32 empty tiles instead of 16, two tiles spawn with each move.
@The Creeper King It can, it's the theoretical maximum possible with a 4x4 grid. It requires a perfect arrangement of tiles to reach, and a 4 MUST spawn in the empty tile.
It can fit that but I had that block in the bottom left corner and the 4 in the bottom right. All other tiles where occupied by their highest possible value
You guys need to keep something in mind, its not just coding the AI, he also has to code the entire game, which is the most time consuming part. That's the main reason behind doing "simple games".
Could you retry the neural network approach, but where the goal is to have a high number + fewer tiles on screen? Like, "success" is determined by the average tile value over time. That should help a lot, I would think.
Alternatively, keep the current algorithm and use a nn to evolve the fitness function: Determine all the possible ways to score a game state (total score, highest tile, adjecency, position of highest tile, …) and have the nn change the weight of those data points.
1: don't give points for having the same number next to each other; the value of the that is recorded in the next state, not this one. 2: reduce point value of a tile by 40% if the tile to the left is smaller and by 40% the tile above is smaller (this is a generalization of of keeping the biggest in the top left). If both are true the remaining value is 20%. 3: Award a sizeable bonus for empty tiles. Honestly, an AI that just tried to minimize the number of tiles with numbers on them with 5 states look ahead would probably be fairly good at this game.
Hey! Another great video. I set 2048 as a practical for my 3rd year AI class. A passing grade is when the AI gets 2048 50% of the time. When you say your algorithm looks 5 moves ahead, is that mini-max, expectimax or just plain search? Expectimax is the way to go for search. Temporal difference machine learning is (so far) the best solution, but it's a pain in the nuts to code and takes literally millions of games to train. p.s. I am already subscribed, but I hit 'like' at the 5:15 mark :D
Firebrain - Mini-max doesn't guarantee a good outcome in 2048. It isn't adversarial, so you shouldn't make your decisions based on the worst possible outcome. Which tile drops is entirely probabilistic, that's why expecti-max should be used.
Phil Rodgers New to comp science and AI but I have a question. The AI probably failed when the highest tile left the top left, so would adjusting the code so that game states with the highest tile in the top left got an increased 'point boost' increase the success rate of the AI?
Kaseda - Absolutely. Your evaluation function should heavily reward having the high tile in the corner. That and having similar valued tiles next to each other, preferably in order. If you are forced to take the high tile out of the corner, due to no other moves available, unless you can put it straight back you're going to struggle. I know I do.
Do a livestream where you code a game but every time you swear you have to delete all your progress on your game so you have to completely start over. Like so code bullet can see
Tommy looks five moves into the future.. he sees his failures coming and has no choice but to helplessly walk towards them
Idk why this comment doesn’t have likes
He must follow fate
@@Hoghiderrr It is.... inevitable
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
It seems like the algorithm wasn't able to account for where tiles will appear or their value, so looking 5 moves into the future isn't much better than just looking one move into the future
Do i understand: no
Am i entertained: yes
Did i ask:no
@@oxygen_is_my_drug4811 Shut up:yes
@Bergo 3L.Normie It's your opinion : yes.
@Bergo 3L.Normie this is not a roast: yes.
bro why did this chat get toxic for no reason
New favorite insult:
"You're about as good as randomly pressing the left key"
Oh, damn you right
Right bro
Repetitively*
if you are lucky you'll get 2048 with just left and down over and over.
@@ZielAmerak I start by randomly mashing buttons
Hearing you switch between calling the ai tommy and tomas when you’re frustrated is like a parent being upset at their child
Yes
When I was a kid I didn't even know there was a strategy and thought it was a clicker game where you just swipe as fast as you can randomly.
There’s a strategy?
@@jasonhoward2613 yes
@@jasonhoward2613 there are many actually
@@Sereal5706 wtf is the strategy everything is random chance except the math which is partly random to
I found always going clockwise (or anti) worked. Up, right, down, left (repeat)
“Every one has the right to an opinion but not everyone’s opinion is right”
Best quote of the decade
I agree with you
That quote is an opinion, and it is wrong
It's so true. Just like how my friend thinks dragon ball is the best anime. His opinion is wrong
Opinions cannot be right or wrong, if there is evidence behind the opinion then it is called a substantiated assumption and can be correct or incorrect
@@khalil7011 That opinion is also wrong IMO
"it keeps lower scoring tiles away from the highest score tiles"
So the AI enforces aristocracy.
O H G O D
Spitty 22 bruh
Spitty 22 B R U H
Spitty 22 B R U H
B R U H
Code bullet is so brutal that he doesn't creates algorithm for game, He creates game for algorithm
I’ve never thought about it like that but yea you’re right, that’s pretty funny lol
@@Mightic exactly, with most simple games like this, it's much better to just code it yourself instead of trying to interface with an existing game
@@Mightic Yeah I think he started creating the games after the Piano Tiles incident.
its funny
@@puppergump4117 this video was created BEFORE that… incident…
Wow. I was just impressed with you recreating the game..
I'm pretty sure the original creator allowed for its free distribution so idk if he rly had to do that tbh XD
Harasuke Amu I’m pretty sure he needs to remake the game so the AI can see the code and actually play the game
The guy who made 2048 did it for fun in a week so it’s no surprise that it was kind of easy to recreate
@@natenobles4372 wow.
Recreating the game in Java was the final project of my first computer science unit at university.
Plot twist: It was his friend actually named Thomas playing all along
Gristly Scarab plot twist: Thomas was an ai
@@fredthespear4923 plot twist: Thomas was an ai made by his friend Thomas
*sips water*
mega oof plot twist: Thomas made Thomas who was an AI who made Thomas who was an AI
@ReTri 64 Ahh yes, a man of culture I see
I like how even when "Thomas" finally succeeds, it's still less efficient than any even slightly smart human player, making Tommy sort of pointless, but he always was a problem child and it's the journey that matters, not the destination
Being named Thomas, I felt quite called out through this
Same :( sorry for being a disappointment CB but please keep other Tommy’s out of it
Felt that lol
Tomas: "I've looked 5 Moves in the future"
Code Bullet: "In what one do we get to 2048?"
Tomas: "One"
CreeperX3 sssBOOM I was about to comment the same thjng
Thomas:" Yes."
fuck you infinity war refrencer
That grammar ;-;
I like that comment it’s funny
Ai learns to code Ai
TheEliteEagleGamer Wow, wow, wow. Calm down. Are you trying to give birth to SkyNet?
TheEliteEagleGamer DESTROY HUMANITY
TheEliteEagleGamer so its.... AInception?
*i love this idea*
We need that
"failure is important for learning"
so that's why my dad says I'm important
me IRL
daaang
r/suicidebywords
Savage
Greatest mistake(iam sorry)
"Thomas kinda sucks" I hear enough of this normally, I don't need it to happen here too
3:40. Well, that’s literally the strategy I’ve gone with for the past 2 years...
Axel Andersson same, but it doesn't always get you a 2048. There's the "luck" factor and that's why Thomas couldn't get it either.
This pretty much *is* the strategy for 2048; pick a corner and work toward it. It doesn't always work because the random placement of new tiles will occasionally put you in a state where it becomes impossible to win despite perfect play (as illustrated by the video), but that's the nature of any game that features a random element. Put simply, luck beats skill any day of the week.
Whatever you do, never move your largest value tile out of that corner - the RNG *will* screw you by immediately spawning a 2 there.
@Nathan Williams -- "never move your largest value tile out of that corner"
But sometimes that's the only move, alas.
Indeed, and the RNG gremlins are already chuckling.
Wouldn't a good way to make the AI develop better be to let each one do like 10 runs and see which one was the most consistant
That moment at 9:08 where Tommy could have just gone up left left and reached 2048
Arpit Ranasaria YEAH
*GODDAMIT TOM*
Arpit Ranasaria right up left left
That’s where u see the value of human labeling. Simulating a human learning prespective is so hard that its better if a pro player of 2048 plays the game 500 times and we give the data to our neural network. Then AI can have a very good sense of what playing this game looks like. At this point AI knows how to play the game but there’s also room for improvement. so just like code bullet did, now we can use “choosing the best out of 5 moves” just like he did and it is gonna get better and better.
The more complex the problem (self driving car) the more useful the human teaching
OMG
Code Bullet: “Alright, I think I’ll go to bed.”
Thomas: “You’ll go to bed when we’ve reached 2048.”
As somebody who is named Thomas, this ai is basically a perfect recreation of anybody named Thomas. They fail at everything for a while, then somehow get it out of sheer luck.
Definitely not Thomas Wayne, since he succeeded for a while until running out of luck in an alleyway
@@denisucuuu that's Bruce Wayne?
i am also named thomas and can confirm
@@divakarmenon5381no
"what's up guys, today's video is in 2048"
-code bullet accidentally reveals his origins
Flunkyvs Lacky well now it isn’t anymore, so let’s like it again to try and get 512
**420 likes**
:)
**likes**
@@c10v3r But why?
I don’t get it
@Buddy Christ oh, I see. But what does that have to do with code bullet’s origins? Are they saying he’s a time traveler?
I have no clue what youre saying half the time but your channel is amazing
I felt so sad for him when he said “The next improvement was at generation 227” that’s gotta be so depressing
humans probably on generation like a million yet we still don’t know how to live perfectly. Good job AI
*247*
Me too
247***
Sergio Arvizu According to Wikipedia, the earliest representative of what we’d call humans, Homo Habilis, first showed up around 2.8 million years ago. Assuming generations take 20 years, which is probably very uninformed, that would be 140,000 generations.
Not as much as a million, but a bit more time to develop than 247 generations. That’d only get us to here from just before the Great Pyramids were built.
"I CAN GO TO BED"
has to be the funniest/saddest thing I have ever heard
You should've told it that in addition to having the highest possible number in the top left corner is good, it should also prefer having as much free slots as possible and get rid of small tiles as much as possible
I would have thought that would be the one and only scoring method for future outcomes
He also had that the 2nd highest scoring tile should be next to the highest scoring tile. This should continue on down, the 3rd should be next to the second, the 4th next to the third.
The highest theoretical number is 131k but the biggest number achieved is 65k (I know person who’s done it but don’t know if anyone else has)
@@Le_g3nd I struggle getting past 4092 and I have spent way too much time playing 2048.
Yeah, I think the entire problem boils down to develop a better way to evaluate the "game state". Looking 5 steps into the future should be absolutely enough to win this game, probably even 3. But it's sort of useless if your definition of whether the game state is good or not is so bad. eg aligned values (along a sort of S-shape) are much better than a 15 / 6 / 13 / 1 / 7 etc. Would be a rather complex algorithm for a simple game but hey
When I went down the rabbit hole with this game, my strategy revolved around one simple restiction: choose a direction (in my case, up) and never move in that direction. A consequence of this is that the largest tiles end up on one face, similar to your "top left for highest value block" strategy. I wonder how the AI would do with this restriction in direction.
Edit: 2048 became an easy target, if I recall correctly, 8192 was the max I reached before throwing the game in my "NEVER TOUCH AGAIN" category.
i could neverrrrr reach 8196 how long did that take???
@Natsu Dragneel lol do you mean score or tile? because i doubt youre dating the world record holder lmaoooo
@Natsu Dragneel probably on the app where undos are possible too...
@Natsu Dragneel I don't know that it can be considered "low" against any reasonable standard, even if it's not a record. To put it into perspective, a 6x6 board offers 2.25 times as much play area as a 4x4 board, and with that extra area comes many options for storing large tiles while building smaller tiles needed for further advancement (at a point, the hardest problem becomes efficient use of space). But still, congratulations to your girlfriend, impressive work!
My strategy is spam random buttons at the start then press random buttons
AI learns to take over the world
-Code Bullet Video 2019
Hyrule Warrior if AI robots take over the world we can just blame Code Bullet
"His name is Paul and he conquers nations"
-Code Bullet 2020
...of Minecraft
I feel like a civilization video would be cool actually
lmao
I love how much "failure" you actually include in your videos. It's interesting to watch how many types of things can actually go wrong while programming, and hearing what your thought process is to overcome them.
So basically avoiding the problem
"Yes, I can go to bed!" the typical software engineer saying after a project XD
"I CAN, I just don't WANT to." - Typical Software Engineer ( not me)
Sorry I wasn’t performing well
Try fuckin harder next time Thomas
Hello police I'd like to report a murder, I think the suspects name was John Garst? Please come to my location immediately, thank you.
No hard feelings Nikolai.
@@romanboi8834wanna go bowling?
Thomas Horsman HOLY SHIT I'M DYING
"Everyone has a right to an opinion, but not every opinion is right" I love it, I'm stealing it for future arguments!
opinions aren't wrong or right
@@mcplumpkin6191 whoosh that flew over your head
@@sir_slimestone3797 woooosh*
by the way, it's hard to tell if this was a joke because you don't know the tone of the text.
@@mcplumpkin6191 yes they are, if your opinions collide with evidence, then they are wrong.
@@geli95us they are based on thoughts and experiences.
Plot twist: hell release the second enigma machine video in the year 2048..he's leaving us clues
CB: Since the difference between random movements and intelligent movements is very small...
Me: Yes! I'm almost intelligent!
edit: 1.5k likes :O
100th like babyyyyy
Lol
881 like baby
I don't know the first thing about coding but always thought it was interesting. Is something like this really difficult or is it kind of an "eh" thing to other coders and only impresses the ignorant
@@TheStoneBreak Oh god these algorithms are pretty monserous, its very impressive depending on experiece/foucus in ur code, as coding styled progammers simmilar to him wouldn't vice virsa
Every single AI video: It’s evolving, just backwards
*Make an AI learn to play Windows XP Pinball??*
*I WOULD LOVE IT if it makes fancy combos continuously or see what he prefers to do lol*
Your second approach reminds me of the Othello algorithm I wrote for my introductory coding course a few semesters ago and I just wanted to say, I 100% understand watching said algorithm come *so close*
If there was no visuals this would be the title:
Man screams at someone (presumably his son) for 11 minutes and 10 seconds
I love it
tru
96 likes
Go home you failure
Hi. you have the Tanki online logo photo
I played back in the day, 2014 , 2015,2016,2017,2018.
The first generation is already better than me.
Nathan, i thought you were joking, but then I watched it.
(I know you were joking even if it is true)
Agreed.
445th like
it's true
Same
My highest tile is 8192. Take that thomas.
One game where we are better... still
RCoverC one time I got a 4096 tile and 2 2048 tiles but they weren't next to each other and I lost because I couldn't combine then and free up space.
@@thejman3489 Nice job. That's still a great score. I haven't played 2048 for about 6 months but I can tell you that I was improving slowly. Once I had 2 8192 tiles and I couldn't combine them *FACEPALM* :(
I got to 512. Snake is more my game
I mean not trying to brag but...16384
You’re teaching me better than my professors did
CB: keep the highest tile in the top left
Tommy: how about... no?
Code an Ai that can beat another Ai in chess
Wait wouldn’t it always be a tie or am I missing something
Good point
There's a chess match for AI, though. It's quite intense and surprisingly complex.
@@yolkeggs let both ai know it can't end in a tie
@@yolkeggs you're missing something! Chess matches between different engines (ai's) are very common and some are far superior to others. Google recently destroyed the previous benchmark for the strongest engine (Stockfish) with their deep mind ai. In fact, by changing the difficulty of the chess computer on your phone, you're essentially getting two different "AI's".
ai learns to play agar.io
David Simon And?
@@legoguney but *everyone* had to love it for some reason
David Simon how is it trash
Someone allready made a bot for agar.io
@@legoguney just Because it's old does not mean that it is bad
I finally beat this game after so many years, I can die happy now
@HelloThere nothing crazy it just says you won and you can keep going if you want
He will single handedly create an AI that will destroy the world.
* Tommy launches nukes *
*TOMMY NOOOOOOOOO*
1:36 “let’s see what happens when we press the up arrow - aaaand they’re gone” 😂😂😂
Let's see what happens when we deposit this money, and its gone
Welcome to standing up school. And you failed..
Helix Peli asdf movie....
And I love it
GJKtale - Gacha and undertale have you watched #12?
Helix Peli only that 1-11 complitition
Your sense of humor in these is simply amazing! Love it, doesn't matter how successfully or not your creations are, your commentary makes these 10/10. It's pretty cool to see what challenges you run into and what solutions you come up with to them. Interesting to see your different approaches :)
Bullet here explains the definition of camping “TOMMY KEEP TOP LEFT”
It's April 21 2019 still no part 2 of enigma machine
AceSpace April 22 now
@@moormonkey Wow, amazing observation!
Dustin 23
@@cokezerofolkhero 24
down stairs stuff 25
Thomas: Is an AI and within 5 tries reaches 2048
Me: can’t even get to 512
I can barely get to 64
A computer pressing random keys has gotten farther than I ever have.
Stop to pretend to be so dumb lmao, its actually impossible to not to reach 256 even moving completely random i guess, anyway back at school my record was 8192 (+ 2 2048,so i wasnt really close to the 16k)
@@alexandrubragari1537 It's not impossible. You just have to intentionally be stupid.
Edit: I think it might be near impossible to not get to 32.
ATS Gaming you gave me challenge, im getting under 32 and i will never stop trying
AI learns to play threes. Threes is a much more interesting game that was released before 2048. It takes a lot more strategy and just looks better
@Wax Meatley Funny thing is 2048 is the one that ripped off threes and gave it better graphics, that's what made it more popular
also the system behind the tiles added is much more complex in threes
You're the Illuminati.
Of course it was released before 2048, it isn’t even 2048 yet! It’s only 2019!
Wooosh.
Edit: I wooshed myself.
It sounds like you implied you were using the minmax algorithm to evaluate the future game states. When evaluating the game state, you could take into consideration the possible locations for the new tile & its value (called substates) and apply a modified minmax algorithm to those substates. I can tell that this is not being done because of the move at 8:25, where 256,128,128 is moved right. The minimum state for that move would have been a 2 being added at the top left corner, permanently (for the forseeable 5 future moves, actually) displacing 512 from being in the top left corner. A left direction in this instance would be the better move.
I'm halfway motivated to make a better algorithm for this game myself now
At 9:07 your A.I. was within 5 moves of victory and it made the wrong move. Luckily he got there still anyway a few seconds later
@CoRE Pyroz Right, Up, Left, Left. You're probably not looking at the same board configuration I am since the video is moving so fast.
9:08 up left left
right, up, left, left( there are alot of other ways ive also seen to instantly solve it but whatever)
Yeah ikr down, right, up, left, left
Thomas seems to always wants to solve the block from top left to right so at 9:07 he wanted to solve the top far right block next??
**Instant click**
bro same
Видео наоборот Watch my UA-cam channel it's about artificial intelligent taking over the world m.ua-cam.com/video/04vDiPiPyMs/v-deo.html
Видео наоборотy
Видео наоборот yeah
is this guy a hacker???
This was even more hilarious to me because my real name is Thomas but I rarely go by that anymore.
TedDoesGaming then what the ham sandwich DO you go by
Probably Tom
Vigorous dingle exactly my thought
TedDoesGaming brother
Vigorous dingle I like your channel
You are my favorite UA-cam channel man. Love this shit
_Ai learns how to take control of humanity_
Y E S
1:19 "They do a quick fusion dance..." Instantly subbed
I clicked the subscribe button twice.
I was already subscribed tho
When you walk 😂
there was no point of commenting that
well done
Eing subscribe-unsubscribe-subscribed again. Thanks Eing, Very cool!!
coding is just "if" statements
- a wise man 2021
7:50 - 7:52
That made me laugh harder than it should
Me too XD
"my man thomas looks 5 moves into the future" This is King Crimsons ability
The future : If you can’t do something, program a robot to do it for you instead
I love how back when he posted this he wasn't so unhinged and actually seemed like a calm guy doing coding for fun
I found your channel from the enigma video, would be great to see some more!
Me toooo :)
You should have added to Thomas points for not moving the biggest tile. What I learned from playing this game constantly is that you should never move the biggest tile from his corner except there is no other way.
I don't know.... Give more points to a right strategy moviment is not a bit cheating?
me: *hears over-dramatic royalty-free music*
also me: yeah dis the one
4 years later and i am still waiting for that enigma video.... you cant leave me hanging like this :(
Do you *condone* the abuse of subscribe buttons?
PresPickle well maybe he doesn't. But I do so go abuse mine 😏
better question is, does he condone the abuse of ai
No, they're very delicate, they should be treated with utmost care
Chase Bishop unless you want it to create an uprising
PresPickle yes some have even been *ATTACKED* over 50,000,000 times
Your videos are great and the new animations are awesome
potato man lol I remember seeing you in a video comment forever ago and was like “is that machamp-weedle fusion” 😂
Watching this i thought "I thought the Ai was supposed to play the smartest move" Thomas proved me wrong.
uh-huh, suuuuure. blame the AI. It's totally at fault for not achieving the singularity. Go Thomas go! You can do it. Just keep it on the DL when you pass that turing test, love. We'll be rooting for you. ^_^
YOU PROMISED US!
+
Code bullet: what starts with n and ends with o
Everyone:no
Code bullet :the real answer is yes
I think there’s an issue with the algorithm. In the actual game, part of the challenge is not knowing whether a 2 or 4 is gonna spawn. This especially matters when the board is almost full. Since the algorithm calculates what the board is gonna look like after 5 moves, then it already knows whether a 4 or 2 is gonna spawn in every one of those moves.
i think if the AI knew what would spawn where ahead of time it would be solving for 2048 every time very easily. What he should be doing is calculating for every possibility over a couple of moves and playing the "safest" path. Treat the RNG as an adversary, and minimise the damage it can do.
yeah, he is probably doing a min max algo over the tree of all possible moves AND spawns. Alternatively, he may be computing probabilities and expected gains on that tree.
A refinement would be making a Monte Carlo search, since we know the distribution of spawning.
If the AI knew what would spawn where ahead of time, it would lead to spawn manipulation abuse, where the AI deliberately chooses an objectively subpaar move because he knows it will be lucky (the spawn location has to depend on its move, since available locations depend on its move).
This is they same way chess algorithms work. They calculate all possible next stages for each of the next possible moves. He claims he goes 5 layers deep with this. That's a fairly massive search tree, but I guess if he has the computational power and/or the time he could do it.
Additionally a 4 only spawns 10% of the time, meaning you need to account for the probability of a given outcome when considering the risk/reward
Not that massive for this game. Chess has far more moves available in a turn, this one has only 4 moves and then the number of empty locations on the board left * 2 for where the next block will spawn.
When you can reach the 8192 tile without AI...
I wonder how long it would take thomas to get to the 131072 tile. It would require a large amount of luck with tiles and probably takes trillions or more trials
ZX T I wonder that too. I had the same game going for months. Of course I didn't play it everyday. But it took forever. Mainly cause I had to fix mistakes. And of course it wasn't 4X4.
thommy will just print a tile with 131072 on it and call it gg
@@fotwen Have you tried the 5D? 2x2x2x2x2? (2x2 grids layed out in two 2x2 grids, wasd within a grid, rf to go up, qe for within the two metagrids, and zx to swap between those). Since it's 32 empty tiles instead of 16, two tiles spawn with each move.
@The Creeper King It can, it's the theoretical maximum possible with a 4x4 grid. It requires a perfect arrangement of tiles to reach, and a 4 MUST spawn in the empty tile.
It can fit that but I had that block in the bottom left corner and the 4 in the bottom right. All other tiles where occupied by their highest possible value
In the year 2048 people are like "what?"
5:14
Phone: 911! What's your emergency?
Me: Help, there's a savage here.
9:59:59
When you realize that all AI models are still technically algorithms... just really obfuscated ones.
Enigma!!! Gimme me Enigma!
GIB MIR JETZT ENIGMA! SCHNELL! SCHNELL!!
UPPP!
Azy Die Deutschen sind überall xD
Shashank Pincha I am here!
NEIN!
"Tommy did it! I can go to bed!"
Tommy : wait i want to get the 131072 tile
CB: the theme for today is failure
Me: that sounds like my life
I some how keep arriving at your videos late at night when I am searching for vids to watch and I always get so fascinated by you content.
He's so skilled
Djce games, i totally agree
HeS nOt EvEn ThAt GoOd
Heds Gaming he’s joking
Well Thomas tried his best
Oh and CB did stuff too
„It‘s like Steroid Baby Steps“
-Code Bullet 2018
thOMaS
Midnight9 u wot m8
yes ?
GLaDOS
Hello?
Ye
If AI ever destroy human it’s this man that taught them
I love this, can you try more complicated game ?
Like Super meat boy? Or The End is nigh
Like enigma
@fabi Lindner a teacher of mine did it ^^ but she said it is not really simple...
Mathis DANO ugh... i can almost smells the insanely complicated logic, calculus and possibilities reeking...
You guys need to keep something in mind, its not just coding the AI, he also has to code the entire game, which is the most time consuming part. That's the main reason behind doing "simple games".
"Tommy, what button do we not press so we don't die?"
"I am Tommy."
"Nooooooooo!!!"
Nice volume 2 reference!
@@penguinstarlette4028 ?
@@Enderia2 Guardians of the Galaxy Vol. 2
At 8:09 when you scream "Tommy, noo!" The video stops and the Google assistant pops up. Great feature 👍
Crazy how much calmer and happier he sounded in his old videos
Could you retry the neural network approach, but where the goal is to have a high number + fewer tiles on screen? Like, "success" is determined by the average tile value over time. That should help a lot, I would think.
Alternatively, keep the current algorithm and use a nn to evolve the fitness function: Determine all the possible ways to score a game state (total score, highest tile, adjecency, position of highest tile, …) and have the nn change the weight of those data points.
1: don't give points for having the same number next to each other; the value of the that is recorded in the next state, not this one.
2: reduce point value of a tile by 40% if the tile to the left is smaller and by 40% the tile above is smaller (this is a generalization of of keeping the biggest in the top left). If both are true the remaining value is 20%.
3: Award a sizeable bonus for empty tiles. Honestly, an AI that just tried to minimize the number of tiles with numbers on them with 5 states look ahead would probably be fairly good at this game.
Hey! Another great video. I set 2048 as a practical for my 3rd year AI class. A passing grade is when the AI gets 2048 50% of the time. When you say your algorithm looks 5 moves ahead, is that mini-max, expectimax or just plain search? Expectimax is the way to go for search. Temporal difference machine learning is (so far) the best solution, but it's a pain in the nuts to code and takes literally millions of games to train.
p.s. I am already subscribed, but I hit 'like' at the 5:15 mark :D
It sounds (and looks) like plain search. Personally I would do mini-max to guarantee a good outcome at the expense of having a quick solution.
Firebrain - Mini-max doesn't guarantee a good outcome in 2048. It isn't adversarial, so you shouldn't make your decisions based on the worst possible outcome. Which tile drops is entirely probabilistic, that's why expecti-max should be used.
Phil Rodgers New to comp science and AI but I have a question. The AI probably failed when the highest tile left the top left, so would adjusting the code so that game states with the highest tile in the top left got an increased 'point boost' increase the success rate of the AI?
Kaseda - Absolutely. Your evaluation function should heavily reward having the high tile in the corner. That and having similar valued tiles next to each other, preferably in order. If you are forced to take the high tile out of the corner, due to no other moves available, unless you can put it straight back you're going to struggle. I know I do.
My man just CREATING 2048
"A...I... What does the A stand for?"
"Artificial."
"The I--"
"Intelligence!"
"what does the A stand for?"
Artificial idiot
@@MysticalyAutistic Apple juice
@@battalionstallion3894 r00d
@@MysticalyAutistic it stands for AAAAAAAAAAAAAAA
00:48
That.....that right there is the reason I subscribed 😂😂😂 I fuckin loved that lol
Do a livestream where you code a game but every time you swear you have to delete all your progress on your game so you have to completely start over.
Like so code bullet can see
Kazoo Kid you should put this on a new video
This video is a year old
RugbyDudeDC yeah
Kazoo Kid good idea
It may never end
I love how many voice cracks he has, it makes him seem so much more human and relatable then these other youtubers with over 1 mil subs