• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 12:39
CEST 18:39
KST 01:39
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL22] Ro16 Preview: Holy Diver1[ASL22] Ro16 Preview: Rough Waters10[ASL22] Ro24 Preview: Siren's Call8[ASL22] Ro24 Preview: Summer's End9Serral wins HomeStory Cup 2915
Community News
StarCraft open world shooter announced at BlizzCon73Weekly Cups (Aug 30-Sep 7): herO thrives amid growing schism10Official StarCraft website teases new content ahead of BlizzCon?172Stellar Fest TWO the Moon (Dec 16-20)9Weekly Cups (August 24-30): Patches' balance mod takes over3
StarCraft 2
General
StarCraft open world shooter announced at BlizzCon How do you feel about the StarCraft shooter announcement at BlizzCon 2026? Balance hotfix patch 5.0.16b (July 16) Team Liquid Map Contest #22: Results and Winners Weekly Cups (Aug 30-Sep 7): herO thrives amid growing schism
Tourneys
RSL Revival: Season 6 - Qualifiers and Main Event Sparkling Tuna Cup - Weekly Open Tournament RSL goes to London! 2026 Offline Finals Nov 21-22 KSL Week #92 IntoTheTV X SOOP SC2 League : Weekly & Monthly
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
The PondCast: SC2 News & Results Mutation # 542 The Ascended Mutation # 541 Binary Choice Mutation # 540 Dodge This
Brood War
General
[ASL22] Ro16 Preview: Holy Diver Official StarCraft website teases new content ahead of BlizzCon? ASL22 General Discussion BGH Auto Balance -> http://bghmmr.eu/ Broodwar Prediction Market
Tourneys
[ASL22] Ro16 Group C [ASL22] Ro16 Group B [ASL22] Ro16 Group A Escore Tournament - Season 3
Strategy
Replay Review Process - What do you do? Simple Questions, Simple Answers Odyssey Mineral Stack Saturation Game Theory for Starcraft
Other Games
General Games
Diablo IV Nintendo Switch Thread EVE Corporation [Maplestory Hardcore] Let's Play~!! General RTS Discussion Thread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
UK Politics Mega-thread US Politics Mega-thread Things Aren’t Peaceful in Palestine Trading/Investing Thread Russo-Ukrainian War Thread
Fan Clubs
MarineLorD Fan Club The Creator Fan Club The ShoWTimE Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! Diablo Animated Series on Netflix
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Northern Ireland Global Starcraft
Blogs
Virtual Romance, Real-Life C…
TrAiDoS
Regacy Esports:Our Goa…
regacyesports
Dreaming of BW patches (mod…
c3rberUs
LOCKPICKING NOOB
LUCKY_NOOB
Customize Sidebar...

Website Feedback

Closed Threads



Active: 8541 users

Harder Math/CS Problem - Page 2

Blogs > Slithe
Post a Reply
Prev 1 2 All
BottleAbuser
Profile Blog Joined December 2007
Korea (South)1888 Posts
January 23 2008 06:07 GMT
#21
Heck, using the lines is redundant! You can use the first 3 bits! Screw me, I thought I was being clever.

Now I'm sure there's a way to send more data. I'm gonna lose sleep over this.
Compilers are like boyfriends, you miss a period and they go crazy on you.
Muirhead
Profile Blog Joined October 2007
United States556 Posts
Last Edited: 2008-01-23 06:13:11
January 23 2008 06:09 GMT
#22
starleague.mit.edu
zdd
Profile Blog Joined October 2004
1463 Posts
Last Edited: 2008-01-23 06:11:15
January 23 2008 06:10 GMT
#23
Yeah, you can even use the matrix itself without calculating parity like this:
given matrix:
11011001
01010010
10101010
01010101
10111001
11010010
10110110
signal A:
01011001
01010010
10101010
01010101
10111001
11010010
10110110
signal B:
10011001
01010010
10101010
01010101
10111001
11010010
10110110
signal C:
11111001
01010010
10101010
01010101
10111001
11010010
10110110
signal D:
11011001
01010010
10101010
01010101
10111001
11010010
10110110

edit: oh nvm you figured it out already, while I was typing.
All you need in life is a strong will to succeed and unrelenting determination. If you meet these prerequisites, you can become anything you want with absolutely no luck, fortune or natural ability.
BottleAbuser
Profile Blog Joined December 2007
Korea (South)1888 Posts
Last Edited: 2008-01-23 06:44:43
January 23 2008 06:25 GMT
#24
Okay, how's this scheme: We're making parity useful now.

The signals A, B, C, or D can be found by looking at the first three bits in the first line.

However, we can also send signals A', B', C', and D' by the following method.

If the starting parity of the first line is the same as the parity of the second line, then we will send A, B, C, or D on the SECOND line. These will denote A', B', C', and D', in the resulting state where the parity of the first and second lines are DIFFERENT. A, B, C, and D can still be sent via the first line. Therefore, if the parities of the lines are different, the receiver looks at the second line, and if they are the same, the receiver looks at the first line.

However, in the case that the parities are different to start with, we're going to write in the opposite side of the first case.

Now, we can send 8 different messages!

Err, no, that's wrong. It won't work

I need hint, or the bottle abuser will be getting angry.
Compilers are like boyfriends, you miss a period and they go crazy on you.
Polemarch
Profile Joined August 2005
Canada1564 Posts
Last Edited: 2008-01-23 06:46:51
January 23 2008 06:45 GMT
#25
Woo got it.

Here's a proof that the upper bound is 64:
+ Show Spoiler [Proof upper bound is 64] +

Suppose 65 messages were possible. Take any initial starting matrix, then the sender can send at most 64 matrices (by picking one of the 64 entries to switch from the initial one); so at least one of the messages is unsendable, no matter how you assign matrices to messages.


Now here's a protocol that achieves 64.
+ Show Spoiler [Description - might make sense] +

Instead of having an 8x8 matrix with 64 entries, let's have a 2x2 matrix with 4 entries and show how to get easily 4 messages in a generalizable way.

For a matrix M, the decoder calculates the following two functions:
f_0(M) = count if the number of 1's in the first column is even
f_1(M) = count if the number of 1's in the first row is even
Then there's 4 possible messages formed by combining the two possibilities in each of f_0, f_1.

The encoder does the following:

Call the initial matrix the encoder gets N. Say he wants to send the message g_0, g_1. So he calculates f_0(N), f_1(N). Then if he wants to change f_0 (i.e. g_0 is different from f_0(N)), then he needs to make a change in the first column. Similarly, if he wants to change f_1 then he needs to make a change in the first row. He can choose to do this independently for rows and columns, e.g. if he wants to change both f_0 and f_1, he can change the entry in the first row and first column; if he wants to change just f_0, then he can change the entry in the first column, second row. So he can send any two bits this way, no matter what the starting arrangements are.

You can generalize this argument to sending 3 bits (i.e. 8 messages) using the 8 corners of a cube instead of a matrix. To do this, the receiver now looks at the rows, columns, and the towers along the 3rd dimension. (The receiver will now be adding up 4 numbers each time.)

You can also generalize it to sending 6 bits (i.e. 64 messages) using the 64 corners of a 6-dimensional hypercube. This is the same as the 8x8 matrix in the original problem if you rearrange the 64 numbers in the 8x8 matrix.


+ Show Spoiler [Description - probably won't mak…] +

... but it's a little more rigorous.

Number the entries of the matrix from 0 to 63, and let M(a0, a1, a2, a3, a4, a5) represent the value of the matrix at the entry when you think of a5,a4,a3,a2,a1,a0 as a binary number (a5 * 2^5 + a4 * 2^4 + ... + a0).

The receiver defines 6 functions:
f_0 = parity of the sum of M(a0, a1, a2, a3, a4, a5) where a0 = 1. i.e. sum over a1, a2, a3, a4, a5 in {0, 1} of M(1, a1, a2, a3, a4, a5) mod 2.
and similarly
f_i = parity of the sum of M(a0, a1, a2, a3, a4, a5) where a_i = 1.
Then the receiver decodes the matrix by treating the 6 bits f_0, f_1, ... f_5 as a binary number, so there are 64 possibilities.

The encoder does the following:
Given the initial matrix M, he calculates f_i(M). Then he picks the 6 bits g_0, g_1, ... g_5 for the message he wants to encode. Let S be the subset of {0, 1, 2, 3, 4, 5} of indices i where f_i(M) != g_i. Then he alters M by changing the entry formed by binary number formed by sum_{s in S}{2^s}. e.g. if he wants to change bits #2, 3, then he toggles the entry at (0, 1, 1, 0, 0, 0).


I BELIEVE IN CAPITAL LETTER PUNISHMENT!!!!!
BottleAbuser
Profile Blog Joined December 2007
Korea (South)1888 Posts
January 23 2008 06:56 GMT
#26
Polemarch, you got that yourself right?

I am so bitterly disappointed at myself and filled with jealousy. Be aware that you have just made a lifelong enemy. >_<
Compilers are like boyfriends, you miss a period and they go crazy on you.
Polemarch
Profile Joined August 2005
Canada1564 Posts
January 23 2008 07:07 GMT
#27
oh no, I don't want a lifelong enemy with such an awesome sig, haha. I already pasted that to some other people after seeing some random post of yours.

I did get that myself, but it is tough - spent probably a couple hours working on it. And I did a fair number of math contests before and a couple degrees in CS, so I'm kind of used to this kind of thinking.
I BELIEVE IN CAPITAL LETTER PUNISHMENT!!!!!
Muirhead
Profile Blog Joined October 2007
United States556 Posts
Last Edited: 2008-01-23 07:09:39
January 23 2008 07:08 GMT
#28
haha Polemarch that's beautiful... I had a proof but it was totally nonconstructive (based on symmetry in the corresponding graph). I got the 2x2 case constructively but had no idea how to extend it. I'll have to remember that trick of extending the dimensions to preserve symmetry. I suck so much at combinatorics... It is my achilles' heel on math Olympiad competitions

Thanks so much for the proof. Polemarch did you used to do the Olympiads or perhaps the Putnam?
starleague.mit.edu
Muirhead
Profile Blog Joined October 2007
United States556 Posts
January 23 2008 07:21 GMT
#29
By the way if the OP could continue posting things around this difficulty level that would be wonderful. I need some practice with combinatorics.
starleague.mit.edu
Slithe
Profile Blog Joined February 2007
United States985 Posts
January 23 2008 08:21 GMT
#30
Oh my god Polemarch you got one of the answers that's amazing. Massive respect.

The answer Polemarch got is a geometric approach to the problem using Hypercubes. I've heard two other answers before. One involves something about power sets, it's similar to the Hypercube solution I think. The other one is a very elegant solution that utilizes XOR as part of the answer.
Slithe
Profile Blog Joined February 2007
United States985 Posts
Last Edited: 2008-01-23 08:29:51
January 23 2008 08:25 GMT
#31
Also, I can probably muster up some other problems, but ones of this difficulty may not come by so often.

I'll put up another problem tomorrow, but it won't be that hard.
LumberJack
Profile Blog Joined October 2002
United States3355 Posts
January 23 2008 10:09 GMT
#32
Sounds like you guys would have fun with randomizers and LRS (linear recursive sequence) with bits~
Man fears the darkness, and so he scrapes away at the edges of it with fire.
gwho
Profile Blog Joined January 2008
United States632 Posts
February 19 2008 21:41 GMT
#33
haha is slithe doing this for our enjoyment, or is he a math/cs major that posts his homework problems when he gets them, and then harvests the answers the daybefore his hw is due? lol
Slithe
Profile Blog Joined February 2007
United States985 Posts
February 20 2008 23:29 GMT
#34
lol if these were my homework problems I'd fail the classes so hard
Prev 1 2 All
Please log in or register to reply.
Live Events Refresh
RSL Revival
16:00
Season 6 FINALS
Serral vs RogueLIVE!
Tasteless862
ComeBackTV 803
RotterdaM614
mouzHeroMarine371
IndyStarCraft 187
SHIN 185
Rex112
EnkiAlexander 78
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Tasteless 862
RotterdaM 614
mouzHeroMarine 371
IndyStarCraft 187
SHIN 185
Rex 112
BRAT_OK 65
Railgan 25
StarCraft: Brood War
Britney 43836
Calm 5279
Shuttle 1076
Jaedong 725
Artosis 543
PianO 494
firebathero 284
ggaemo 196
Mini 114
910 77
[ Show more ]
Bonyth 76
Mong 72
Sea.KH 55
Hyun 52
Liquid`Ret 51
Trap 27
sSak 24
Sharp 22
Rock 19
HiyA 13
Dewaltoss 10
Shine 10
zelot 9
Dota 2
qojqva4588
Fuzer 255
LuMiX1
Super Smash Bros
C9.Mang0149
hungrybox135
Mew2King122
Chillindude16
Heroes of the Storm
Liquid`Hasu367
MindelVK14
Other Games
Grubby2589
Liquid`RaSZi1402
singsing1160
mouzStarbuck197
Hui .160
QueenE107
B2W.Neo105
Organizations
Other Games
gamesdonequick2866
StarCraft 2
StarCraft1928
Other Games
EGCTV1548
Heroes of the Storm
Heroes of the Storm848
StarCraft: Brood War
Afreeca ASL 507
[ Show 13 non-featured ]
StarCraft 2
• StrangeGG 67
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• FirePhoenix6
• Michael_bg 3
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis3217
Other Games
• Shiphtur201
Upcoming Events
BlizzCon
1h 51m
IdrA vs MC
Afreeca Starleague
17h 21m
Light vs JyJ
Soulkey vs hero
WardiTV Weekly
18h 21m
Monday Night Weeklies
23h 21m
Afreeca Starleague
1d 17h
Snow vs Shinee
Shine vs EffOrt
GSL
1d 18h
PiGosaur Cup
2 days
The PondCast
2 days
Kung Fu Cup
2 days
Replay Cast
3 days
[ Show More ]
KCM Race Survival
3 days
IntoTheTV X SOOP
3 days
Replay Cast
4 days
IntoTheTV X SOOP
4 days
Replay Cast
5 days
GSL
5 days
Replay Cast
6 days
GSL
6 days
Shopify Rebellion Sundays
6 days
Spirit vs Mixu
Liquipedia Results

Completed

Acropolis #5 - TRS
PiG Sty Festival 8.0
Big Dog Cup 2026 Div 1

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
ASL Season 22
Super Anchor Qualifying S3
CSL 2026 AUTUMN (S22)
Acropolis #5
Blizzard Classic Cup 2026
Blizzard Classic Cup 2026
RSL Revival: Season 6
Calamity Invitational
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026

Upcoming

Acropolis #5 - GSA
Acropolis #5 - GSB
Acropolis #5 - GSC
SC4ALL II: Brood War
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.