Spending A Lovey-Dovey College Life With A Spoiled Childhood Friend - Chapter 22
- Home
- Spending A Lovey-Dovey College Life With A Spoiled Childhood Friend
- Chapter 22 - Reversi Thinking Routine Creation Competition
Translator: Hayme
Editor: AJ1703
AN: This story may be difficult to understand if you don’t have any programming knowledge, but I hope you can get a feel for it.
TLN: I don’t know anything about programming so do forgive me if I got some of it wrong.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
May was almost over, and there was only one day left.
“Come to think of it, Takato and Asakura could program, right?”
Shun-san suddenly asked us.
“I can do a little bit of everything.”
“I can do a little bit, too.”
“No, you’re not a little bit at all…”
Miyu’s grades are excellent in general, but her talent with computers is particularly outstanding. She even made an impromptu game during our programming class.
“So, what’s going on?”
“Nothing, it’s just that I thought of a little game that we could play.”
Shun-san suggested that we make a communicative game of Reversi (so-called Othello) and let the players play against each other with their own thinking routines. Since it would take a lot of time and effort to prepare an actual Reversi image, the idea was to send messages like “one, two, white” to play against each other.
“We have a lot of people who can program, so I thought it might be a good idea for an article.”
“I’ll try, but I’m definitely not good at it.”
The rules of Reversi are simple, so it won’t be hard to make something that works, but I don’t think I can beat Miyu and Shun-san, who’s in the Doctoral course, at all.
“You don’t need to worry about winning or losing. As long as you can tell me how you did it.”
“All right, let’s do it.”
“Sounds interesting! I’m getting excited!”
Miyu’s already itching to get started.
“So, as far as programming languages go, does it matter what they are?”
Programming languages are populated languages that are used to create software, or so-called applications, and there are many different ones depending on the purpose. This could be a controversial issue, since each individual had their own preferred language.
“You can use any language you want because we’re just sending text to each other over TCP/IP.”
“All right, a language that can handle TCP/IP easily sounds good.”
“If you’re trying to build strong routines, a fast language is more advantageous.”
“I can’t make something that strong…”
TCP/IP is a method of communication on the Internet that can be used with almost any programming language. Of course, it can also be used for communication within a closed network such as our editorial office.
After that, the competition to create a Reversi thinking routine suddenly started. I decided to use Python, which I am used to. It has become popular due to the recent AI boom, and various processes are available as libraries, making it easy to use.
Shun chose C++, a language used for applications that require particularly fast processing, and while it is difficult to master, there are many people who are masters at using it.
Miyu chose Rust, which can be used for high speed processing just like C++, but it is a new language that has been created recently and is reputed to have various improvements over the shortcomings of C++. However, choosing Rust was not an ordinary choice.
The time limit was five hours, and the sound of keyboard typing echoed throughout the editorial office. As expected, Shun was typing the program at a very high speed. Miyu was also typing at the same speed without hesitation, which was terrifying.
As for me, although I could touch-type (typing without looking at the keyboard), I couldn’t match the speed of these two. I went through trial and error just to make sure my program worked.
After three hours of trial and error, I found that all three of us, including me, had developed at least the minimum level of thinking routines and we’re now testing our own thinking routines against each other in our own machines.
“Should I go with GA based on the Alphabet method…?”
I heard Shun-san murmuring something. GA is a Genetic Algorithm, which is a method for improving programs based on biological evolution. That seemed to be difficult as well.
Looking at Miyu, she seemed to be repeating her thinking routines in detail, fighting with each other and improving them. Miyu’s concentration is so strong that she doesn’t even seem to notice that I’m looking at the screen.
I decided to implement the NegaMax method, which I found in my search, but it seemed to be difficult to win.
“Okay, stop!”
With Shun-san’s declaration, the development of the program was stopped. Now it was time to play against each other. We decided to play against each other on a round-robin system.
•Shun-san VS Miyu
•Shun-san VS Me
•Me VS Miyu
We decided to have three rounds.
The first match was Shun-san versus Miyu. Because it’s a battle between two thinking routines, it’s moving fast on the screen.
2, 2, white
…
7, 6, black
A message like that flowed throughout the game. Incidentally, the maximum time we have per move is 10 seconds, and if we failed to make a move after that time, we would lose the game.
The reason is that if we don’t set a time limit, we would’ve made our own thinking routine think for a long time.
As it turned out, it was Shun-san who won.
“Ah~ I lost, and I was close to winning too…”
Miyu looked so frustrated.
“As expected, I was able to protect my will as a senior.”
Meanwhile, Shun-san looked relieved.
The second match was between Shun and me. There was no way that my weak thinking routine could win against the thinking routine that had been playing well against Miyu. As a result, I lost by a large margin.
“It’s still difficult, isn’t it?”
“Well, if you can program this much in one year, you’re doing pretty well.”
Nevertheless, I felt a little frustrated because the difference is obvious when compared to Miyu from that one year.
The third and final game. After seeing the previous two games, I knew that I wouldn’t be able to beat Miyu, so I felt like I was playing a digestive game.
As I was thinking that, something went wrong with the board. Until about halfway through the game, Miyu had the upper hand, but one by one I started to regain it. As a result, my routine won by a small margin for some reason.
“I lost…”
“I won, but how?”
Looking at my record so far, it didn’t seem like there was anything I could do to win.
“I think I understand. Asakura-san’s thinking routines seem to be well implemented, but it couldn’t cope with weaker thinking routines, so it made some strange moves. It seems that the evaluation function is not well designed.”
That’s what Shun-san said. Though, I’m not quite sure what the term “evaluation function” means.
“I guess that happens.”
It’s complicated to say that it happened because my thinking routine was weak.
“It’s deep, isn’t it? Creating thinking routines in a competitive game like this?”
“Yes, it is. I’d like to learn more about it.”
“I’m starting to want to learn more on how to make a stronger routine.”
So, as a result, Shun-san came in first, while me and Miyu came in second.
“Nee~ Nee~ when we get home, let’s make it together so we can beat Shun-senpai!”
“All right, I’m in! I need to do some research about it.”
I didn’t want to lose in any way, so I became desperate, and although it wasn’t a date, It might be a good idea to get some thoughts together.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EDN: I understood basically almost nothing. F*ck and I just realized that I need to know these soon since I’m going to take Computer Engineering Course in College kekw.
TLN: Good luck with your Course in College AJ~
Also please check out the new series that I’m working on right now, it’s called Silent Princess and you can read the first chapter by clicking here
You can support the Editor of this series through his Ko-Fi >click here<
mighthose
It was really hard and they made it with tcp/ip algorithm included, that took a simple game a whole new level.