A=B
Which levels are a MUST to beat the professor because they are super interesting?
I just got the last programming-related achievement (completely on my own, zero hints except for the list of professor-beatable levels, with only "Score 40 in Pangu" left) and as much as it is tempting to just look how the shortest solutions work, the ideas I came up with while completing "Beat professor in 10 levels" achievement were so interesting that I expect many other levels to also contain some ingenious ideas worth discovering on my own.

Which of the professor-beatable levels do you think I should "shorten" because their solutions are so interesting to discover yourself? Which ones do you think are the opposite: so obscure that I should not bother and just check the shortest solution?

So far I have:
  • 2-6 The Only (12/13)
  • 2-7 Ascend (7/8) b = aaaaaaaaaaaaaacccccccccccccc, then some modulo arithmetic
  • 2-8 Most (10/11) b = aaaaaaaaaaaaaacccccccccccccc, then some modulo arithmetic
  • 4-12 To be or not to b (7/9)
  • 4-14 Center 2 (14/15)
  • 4-16 Merge (8/9)
  • 5-1 Count (4/7) a1 = 0aaa
  • 5-4 A-B (7/8)
  • 5-5 A*B (23/28) Expand to unary, calculate in unary, convert to binary
  • 5-6 A/B (37/40) Expand to unary, calculate in unary, convert to binary

I mentioned my working ideas for some solutions, where there was some clear central idea, which was possible to describe succinctly.
< >
Showing 1-15 of 17 comments
nns2009 Jan 3 @ 10:32am 
Fun fact: my 5-5 A*B (23/28) solution took ~3 hours to fully pass the tests.

I guess the game's ever-growing log output makes it execute the program at abysmal speed of only dozens instruction per second. Note to dev: have an option to disable logging.
I personally recommend these:
2-5 8/10
2-6 9/13(these two are tricky but elegant)(you can find them in the community)
2-8 7/11(reverse-thinking)(elegant, very hard)
4-11 8/9(interesting method. kind of coding!)
4-16 5/9(still interesting method)
5-1 3/7 (elegant!)
5-3 7/8 (hard)
5-5 known least 14/28(very very very hard)
5-6 known least 16/40(soooooooooooooooooooooooooooooooo hard)
6-3 7/13(maybe 6/13)(interesting no-keyword solution)
Last edited by SoMall-dumpling; Jan 4 @ 1:54am
nns2009 Jan 4 @ 9:27am 
Thanks for the list! I managed to crack "5-1 3/7" and made progress on "4-16" (I have 6/9), but failed on others so far. Many of these seem outright impossible. I'll continue cracking for a while.
nns2009 Jan 5 @ 1:30pm 
Beating professor in more levels seems to get exponentially harder. I only managed to beat one extra: "3-5 (Match)" in 6/7. Will continue cracking.
nns2009 Jan 6 @ 11:23am 
I was hitting dead-end on the list you wrote, so decided to also go after everything in the full list. Got:
  • 3-7 Palindrome: 7/8
  • 4-4 Remove 3: 4/5
  • 4-6 Reverse 2: 5/6
  • 4-12 To B or not to B: 6/9
It's interesting how with the experience, having discovered the tricks, some of these become really simple: I beat-solved 4-6 and 4-12 almost instantly
nns2009 Jan 9 @ 8:53am 
I have made some progress, namely
  • 4-15 Expansion: 12/13 (would be 8/13 if not for 255 string limit) - Unrecognized because it would be too long to fully test 0 + 1*6**1 + 2*6**2 + 3*6**3 + 4*6**4 + 5*6**5
  • 6-3 To B or not to B: 10/13
  • Also have would be (if not for 255 string limit) 19/24 solution for 6-2 Palindrome
but otherwise I regret to say that I must have hit a dead-end.

I semi-accidentally viewed 6-3 (6/13) solution because it was not covered in Spoiler in the comments to the "Beat the professor" guide with a list. It seems to use the same idea as my 10/13 solution (2 lines are exactly the same), but in a much more nuanced manner.

I viewed 4-15 Expansion 8/13 solution (not accidentally). I expected the solution to be of this "shape" given very limited lines available, but the precise method is ingenious. Makes me regret I looked it up.

Now thinking whether I should just read the solutions or maybe let the game "rest" and return sometime later with a fresh mind.

@SoMall-dumpling, you only have ~40 hours in the game. Did you solve all of those yourself? Or did you also solve without having the game running (and counting time)?
@nns2009 Actually I'm one of the playtesters of this game, so I've spent about 200 hours on it, much more than the time shown in my account.

I've also made a video about all the best solutions of A=B on bilibili, you can search my name on the website.

Among all the best solutions, I only solve about 50% by myself, and I was given the other best solutions by other playtesters or from discord. Especially the end-game solutions with weird methods, they are above my ability. I include them in the video with their authors' names.

In my opinion, it's really hard, or almost impossible, to think out some of the best solutions by yourself (at least, not possible for me). Like 2-5, 2-6, 2-8, you may read the solutions of them and analyze them. If you figure out how these codes work, you may make progress in 4-11 and 4-16.

And just read the solutions of 5-5 and 5-6, if you want. Finding these solutions may take tens of hours of editing.
nns2009 Jan 10 @ 10:28am 
Oh, that makes much more sense. I found your channel on bilibili and the video you mentioned, but I don't speak Chinese anyway. I see we have a huge overlap in games we play! Anything else of similar kind you might recommend? Mind if I add you to friends to see your reviews on Steam store?
By any chance want to do Factorio Space Age playthrough?

Also, I might be developing a similar kind of programming game (but with a different language) in the future. Mind if I message you for playtesting when I have something?

In the meanwhile, your message inspired me to revisit earlier levels. 2-5 condition seems quite odd to figure out, but I came up with a new technique for 2-6 and was able to get it down to 10/13 (I previously had 12/13). I might have an idea how to cut out one more instruction, but it would require some careful thinking-through+engineering.
Edit: I went to poo and as people typically do when they poo, started to think through problem 2-6 - I realized I overcomplicated things and quickly was able to engineer 9/13 solution. Returned to the computer, wrote it down and it worked straight away 💪

5-5 and 5-6 were actually two of the problems I didn't even attempt to improve so far.
Last edited by nns2009; Jan 10 @ 11:32am
Yeah, we all like puzzle games, so it's not surprising that we have a huge overlap.
I may recommend a latest game 'Prove You Can Win', made by a friend of mine. Although its UE is awkward (everyone is complaining), the levels are challenging and full of eureka. (His English may not be very good)

There are too many great puzzle games, so I'll just put a list here: docs.qq.com/sheet/DTmRLTEtHYkJBcWVD (Also in Chinese, sorry) (You've already played many of the games mentioned in the list like Portal, The Witness and Taiji)

Add to friends, yes. Factorio Space Age playthrough, maybe yes. I plan to play Factorio during my Winter Holiday with my friends. (Never played before! So the Space Age DLC may come later)

Playtesting, big yes. Just message me if you want.

And it's impressive that you figured out 9/13 solution of 2-6 by yourself. Congratulations! (Could you share it here? I want to compare it with the previous best one)
nns2009 Jan 11 @ 1:59pm 
Chinese text is not a big problem thanks to Google Translate
(I'm currently in Japan doing snowboarding season and Google Translate helps a lot).
I'll take a look!

2-6 The Only: 9/13
# Magic string: [[]][][] a = |[[]][][] b = []|[[]][] c = [][]|[[]] |[[]][][]|[[]][][]| = |[[]][][]| |[[]][][]| = [] = || = (return)false | = (return)true = (return)false


Yesterday later, in the bath (after the toilet and after getting 9/13 2-6 accepted) I thought of using the same technique to get 9/10 in 2-5. Today was able to get it down to 8/10.
2-5 The Odd: 8/10
ba = ab c = bbbbbbbb a = iii|i bbbbbbbb = i|iii b = ii|ii |iiii|iiii| = | |iiii| = (return)false = (return)true


I moved to trying to break 2-7 Ascend (5/8)
Given the limited number of lines available, I hypothesize, the solution must be one of two "shapes":
b = aaaaaaaaaaaaaa c = aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa = aaaa aaaaaaaaaaaaa = (return)true = (return)false

or
b = aaaaaaaaaaaaaaaaccccccccccc ca = ac aaaaaaaaaaaaaaaccccccccccccccccccc = aaacccc aaaaaaaaaaaccccccc = (return)true = (return)false

The first one I was able to reject using bruteforce and some JavaScript.
The second one turns out to be trickier as the search space is much larger.

Note: besides 4-15 Expansion and 6-3 To B or not to B, I haven't looked up any community solutions, even to the problems I "perfected". Although, the ideas of perfect solutions are most likely the same, it is not certain and I still try to keep discovery to myself.

I'll message you if/when (hopefully, when) I have anything for playtesting :)
nns2009 Jan 11 @ 2:43pm 
I optimized my 2-7 Ascend 2nd-hypothesis-"shape" bruteforce search with some algorithms and with 152 lines of JavaScript was able to quickly find a solution for:
2-7 Ascend (5/8):
# Found with JavaScript b = aaaacccc ca = ac aaaaaccccc = aacccccc = (return)true = (return)false

Between, there are hundreds (if not thousands and many more) solutions, I just took one of smaller ones. Gotta yet to analyze how it works 😅 I thought it would be way longer
Last edited by nns2009; Jan 11 @ 2:44pm
Good job! As far as I know, all 5/8 2-7 solutions work by 3 steps:
First, turn b into 'a's and 'c's. (then sort)
Then, delete one 'a', one 'b' (in 'a' and 'c' form), and one 'c' each time.
At last, decide whether there's at least one 'b' and two 'c's left.

2-5 and 2-6 solutions are great. In 2-6, ou find out how to delete two extra strings with one line.
[]=
This strategy can be used in many other puzzles.

Besides, although you do find out 9/13 solution of 2-6, there's another 9/13 solution, which only needs to add one extra type of letter. (now you use [ and ] and |, three types).
nns2009 Jan 12 @ 10:54am 
I think I get a line of thought for 4-16 Merge, but it needs careful thought and engineering.
Meanwhile "4-8 Clone" and "4-13 Center" seem outright impossible: there are just some bare minimums, which need to be done (process 3 letters on the left, 3 letters on the right - that's 6 instructions already!) and if there were tasks I'd have to guess are impossible: these two are.

Today spent way too much time on "2-8 Most". I adapted my bruteforce code from 2-7, but needed to optimize it, for it to finish in a reasonable time (across larger search space). I was thinking about rewriting from JavaScript to C++ and putting my 6000 CUDA cores to the good use, but decided to optimize search algorithmically and managed to optimize it several orders of magnitude, to finish in a few minutes (instead of a few days).

Unfortunately, no solution of similar "shape" found (I searched fully across all 8-degrees of freedom)
b = aaaaaaaaaaaaaaaaccccccccccc ca = ac aaaaaaaaaaaaaaaccccccccccccccccccc = aaacccc aaaaaaaaaaaccccccc = (return)b # a or c ...

This would open a door to potentially a 6-lines "Most" solution, but looks like it doesn't exist (there is some chance I made a mistake in my search code).

Similarly, no such solution for "2-9 Least".
And not even for "a <= b < c" (unlike strict "a < b < c" from "Ascend") - this one would allow me to make 8-line solution for "Most".

So, 2-8 has to be (most likely, assuming no error in search code) at least a bit of different shape
nns2009 Jan 13 @ 1:36am 
Solved:
  • 4-13 Center (7/10)
  • 4-14 Center 2 (8/15)
Ingenious me
nns2009 Jan 15 @ 7:53am 
Got:
  • 4-8 Clone (9/11) - one from known best
  • 4-11 Clone 2 (8/9) - known best
< >
Showing 1-15 of 17 comments
Per page: 1530 50