The Two Generals’ Problem

Share
HTML-code

Comments • 2 684

  • Tom Scott
    Tom Scott   5 months back

    Yes, I had help with the graphics for this series. There's no way I'd have animated that myself! On that note, thanks to Dashlane for sponsoring and helping me hire an animator: their free trial link is https://www.dashlane.com/tomscott

    • Akin Turhan
      Akin Turhan  1 months back

      I have thought about dashlane I want to know the advantage over Google chrome random password generator and manager that is synced with one master password. they don't know any of the passwords either.

    • The Superginge
      The Superginge  2 months back

      As glad as I am that you're getting sponsored, I feel I should tell people that Firefox is starting to offer this password security option for free, though before anyone gets angry at me, I don't know what level of security it is, comparatively, I just want to make people aware of options!

    • Matti Lüdke
      Matti Lüdke  2 months back

      Why not send a person from each army to the middle of the valley. Then both discuss a time and go back to their army. That way they will know if the message was received by the other army. As the Danger of the route lies in the middle of the valley they will get back safely.

    • صالح
      صالح  2 months back

      Hey there is a way to solve the 2 genrals problem and it's a horne or war drums because they are loud enugh to hear

    • Dark Thoughts
      Dark Thoughts  3 months back

      Now you know the issues protocol standards committees have to 'foresee' when designing a communication protocol.

  • That Asshole
    That Asshole  5 hours back

    Couldn’t the red army reposition?

    • DiabloMinero
      DiabloMinero  8 hours back

      General A sends the entire army over to B's side by labeling one soldier at a time as a "messenger" and sending them over. The majority of the army gets through. They now have a combined army with roughly twice the strength of the original armies and no longer have the valley in the middle. They can agree on a time to attack and then attack.

      • Narobii
        Narobii  14 hours back

        Tom, please don't cook yourself. self cannibalism isn't good.

        • Notecnirp
          Notecnirp  1 days back

          Can’t the messenger come back and say that the other side got the message??

          • Norm
            Norm  1 days back

            couldn’t the general of army a just wait until his messenger got back with a piece of paper that says “acknowledged”

            • Right Wing Safety Squad

              I know this doesn't work for the case of computer networking, but if General A takes his entire army to General B, surely then they'd all know when to attack ;)

              • Gerald Wiseman
                Gerald Wiseman  2 days back

                2:11 in and thinking of a solution before it's (presumably) given. Here's the theory:

                Group A makes many identical messages, one for each messenger they have. Each message includes three bits of data -- the coordinated attack time, a continuous acknowledgement request, and the information that at some designated time prior to the coordinated attack time, Group A will cease sending messages so long as they've received Group B's acknowledgement, and that should messages be received from Group A after that time, Group B should know the attack is off.

                This means Group A periodically sends these messages. And should any messenger come from Group B, their arrival implies an agreement on the attack. At this point both groups need no further information. Because Group A knows that Group B agreed upon the time, and Group B doesn't need any other messages to be sure that Group A received one of their messages. In fact, the only way Group B will know that Group A HASN'T gotten their message is if they receive another message after the previously expressed "halt" time. And neither group is in danger of attacking without the other because for both parties to receive any message at all it means all is going according to plan. And if either group doesn't receive a message, or if they receive a message after the established time, they will definitively know something went wrong.

                • Mochacocoa
                  Mochacocoa  2 days back

                  Isn't it solved in three messengers?

                  Messenger 1A tells general B about the time to attack.
                  Messenger B tells general A that the time is agreed upon.
                  Messenger 2A tells general B his confirmation was received and they're preparing for the agreed upon time.

                  Then they both know the other has agreed to attack at the stated time.

                  • Frederik Carl
                    Frederik Carl  2 days back

                    "Magical computer science, infomation theory land"

                • Justin Moore
                  Justin Moore  2 days back

                  Both armies surround the castle and starve the castle of resources. No messages needed. The street creepers and 4 chan have won. Just like the alamo I am going to troll until the end.

                  • Federico Olivares
                    Federico Olivares  3 days back

                    To me is simple the general's problem

                    A sends "is 8pm ok? Send "ok" back for yes, if you dont receive an ok back from me, send "response?" Back 2 more times. If you dont get an ok from me, consider it null. I too will send a 2 "response?" If i dont listen back

                    So gen B agrees,
                    Sends one Ok
                    gets Ok back
                    Both attack.

                    Gen b sends ok
                    doesnt hear back, received "response?"
                    Sends ok
                    Receives ok
                    both attack

                    Gen b sends ok
                    doesnt hear back, doesnt receive response at all. Asumes A's ok has been intercepted as they would have sent one or more "response?" Back otherwise.
                    Sends "response?"


                    And so on. If all 5 messagers get caught after the initisl messsge, the attsck wouldnt go through.
                    If just 2 Oks do go through, the attsck goes through

                    • Phillip Otey
                      Phillip Otey  3 days back

                      I mean you need 2 minimum. A keeps sending troops saying: send one troop telling us what time to attack. We will keep sending troops until the package is received, and if the time of attack has not past we are a go.

                      • Ady Day
                        Ady Day  3 days back

                        Don’t rely on technology too much..nothing is built to last!

                        • Name
                          Name  5 days back

                          Just make an agreement that 2 or more acknowledgements means you can attack

                          • Jo 1337
                            Jo 1337  6 days back

                            It's 2 am and I regret nothing

                            • Vysair
                              Vysair  1 weeks back

                              Or maybe both general could send dozen more message until it hit certain threshold and that will confirm it.

                              • 10k12
                                10k12  2 weeks back

                                2:35 why not let them meet in the middle, so if they perish, they perish together and no message is received, but if they manage to meet, they can return and there are no threats on the way back to the generals.

                                • Shaurya Pant
                                  Shaurya Pant  2 weeks back

                                  Well, after both the teams have received confirmation of the other party that they know that you know and will go at 8PM, I don't see any further need of sending messengers. Can someone explain, please?

                                  • Andre L
                                    Andre L  2 weeks back

                                    How come this problem exists at all, if the proposed time is 8 pm, and both of them acknowledged the acknowledgments, then why would A and B need to keep sending acknowledgments? They both acknowledged the proposal and acknowledgment, so it's already planned? They both already know that it made it to the other side at least twice, so what's the problem?


                                    This just feels like it's not really a problem.... How is this line of reasoning incorrect?

                                    • Markus B
                                      Markus B  2 weeks back

                                      I should be asleep but general B didn’t give me a confirmation

                                      • john wick
                                        john wick  2 weeks back

                                        Simply. General A sends a messenger which returns after delivery of the message. If the messenger does not return after a suitable time span. It is safe to assume something happend and another messenger needs to be sent

                                        • Space Griffin
                                          Space Griffin  2 weeks back

                                          but wouldn't a and b know they've received the message by the third message?

                                          • DukeOfEarle88
                                            DukeOfEarle88  2 weeks back

                                            £7.74 word.

                                            • UberKrassMann
                                              UberKrassMann  2 weeks back

                                              2:55 starts sweating.....

                                              • Skepty
                                                Skepty  2 weeks back

                                                Just tell them to make a fire signal after they do, as confirmation. Not that hard.

                                                • Ashor
                                                  Ashor  2 weeks back

                                                  for the two generals, couldnt one side send a messenger with the message telling them to attack at a certain time (sundown) but to ensure they both know they both have to shoot a cannon ball to the west of the other general at sunrise) if they both observe the cannon ball west of them then they know they will attack at sundown

                                                  • Midhunraj R Pillai
                                                    Midhunraj R Pillai  2 weeks back

                                                    I wonder how the generals problem is unsolvable. Please correct me whats the mistake of the solution below,



                                                    Step1: General A sends message saying attack at 6pm
                                                    (Here, A establishes the time)


                                                    Step 2: General B gets the message, sends back an acknowledgement 1 for the message 'we go the time'

                                                    (B gets the time)


                                                    Step 3: General A gets the ACK 1
                                                    (now, A knows that B got the time of attack. But B won't attack because B don't know that ACK 1 is reached at A. so..)
                                                    A sends a confirmation ACK 2 back



                                                    Step 4: General B gets the ACK 2
                                                    (now, B knows that both A and B establishes the time. Also B got the ACK 2, meaning B knows that ACK 1 reached A. But B knows that A won't attack until A confirm that B got the ACK 2. so...)

                                                    B sends a confirmation ACK 3 back


                                                    Ahhhh this trend continues and no one will attack since they cannot make sure that the previous ACK sent by them is reached at the other end!!! I am sorry (T_T)

                                                    • Ivan farlenkov
                                                      Ivan farlenkov  2 weeks back

                                                      Have generals send messagers at set periods of time even when there is nothing to send. If there is no messager, ask about it in the next message.

                                                      • Gareth H
                                                        Gareth H  2 weeks back

                                                        @Ivan farlenkov You really do not get it. Oh well, nevermind. Stick to flipping burgers.

                                                      • Ivan farlenkov
                                                        Ivan farlenkov  2 weeks back

                                                        @Gareth H Why not? If messagee is lost, request to resend will be eventualy get to the other side.

                                                      • Gareth H
                                                        Gareth H  2 weeks back

                                                        That is the ping approximation that is used. But it is not a solution to the problem, there is no solution.

                                                    • Monsieur P.
                                                      Monsieur P.  2 weeks back

                                                      My bank card would’ve texted me to confirm charge after being pinged to debit my account identical amount of money. It’s kind of stupid that nobody selling the food didn’t notice.

                                                      • Monsieur P.
                                                        Monsieur P.  2 weeks back

                                                        😂 these damn apps!

                                                        • novicetheaf
                                                          novicetheaf  2 weeks back

                                                          This is a classic lack of dev testing prior to sending it for testing prior to deploying it to the end user, and QA testing.

                                                          • Kevi Kiru
                                                            Kevi Kiru  2 weeks back

                                                            Even your paid promotions are interesting to listen to!

                                                            • Oasia
                                                              Oasia  2 weeks back

                                                              Why dont the say just to fire a cannon if they recieve the message

                                                              • Julian Danzer
                                                                Julian Danzer  3 weeks back

                                                                2:57
                                                                umm...

                                                                • Floofzy Kitty
                                                                  Floofzy Kitty  3 weeks back

                                                                  1:38 What are you talking about? Of course they made it to the other side. Just not the side they intended.

                                                                  • Muhammad Adam
                                                                    Muhammad Adam  3 weeks back

                                                                    Surely after the 4 messengers they wouldn't need confirmation any further confirmation because both would have already known that it's agreed upon

                                                                    • Terrain
                                                                      Terrain  3 weeks back

                                                                      You didn’t solve the two generals problem, you solved another problem created by it being unsolvable, which arguably is more dangerous than the two generals problem

                                                                      • BeforeReform
                                                                        BeforeReform  3 weeks back

                                                                        per your ad... there is *always* the possibility of brute force getting through. It could take years, or decades on average, but there is always a chance someone gets lucky.

                                                                        • Angelmarauder
                                                                          Angelmarauder  3 weeks back

                                                                          TCP/IP

                                                                          • its_a_trab
                                                                            its_a_trab  4 weeks back

                                                                            You could just send the original guy back.

                                                                            • Emerald Block Boat
                                                                              Emerald Block Boat  4 weeks back

                                                                              I'd say that if B received two verifications then do it

                                                                              • TARINunit9
                                                                                TARINunit9  4 weeks back

                                                                                Proposition for the two generals problem: instead of sending one messenger, send a pair of messengers. One messenger stays at camp B and the other returns to camp A. If no messengers return to camp A, then it's obvious that the message was intercepted on one of the two trips, so you send another pair

                                                                                • Lloyd Thorpe
                                                                                  Lloyd Thorpe  4 weeks back

                                                                                  What they should have done is just starve the castle out like they most commonly did

                                                                                  • The Nintendo Fan
                                                                                    The Nintendo Fan  4 weeks back

                                                                                    Honestly, the red army would automatically assume the blue army got the message and would attack on that time

                                                                                    • Eric ON
                                                                                      Eric ON  4 weeks back

                                                                                      Atleast once invocation solves this issue as well. I.e. let the client keep spamming the same request until one confirm has been recieved.

                                                                                      • Emil Sørensen
                                                                                        Emil Sørensen  4 weeks back

                                                                                        I'd definitely not like having a master password that, if lost, renders my entire online life unrecoverable.

                                                                                        How can you possibly make your one password unforgettable? Chisel it into an immovable rock?

                                                                                        • ͔ ͔
                                                                                          ͔ ͔  1 months back

                                                                                          Send the entire army as the messenger

                                                                                          • Beowulf Macbethson
                                                                                            Beowulf Macbethson  1 months back

                                                                                            I was watching a video about Morgoth from Lord of the Rings, why am I here.

                                                                                            Also your video is great and informative.