{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-16T00:12:35.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-16T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":44728,"title":"Nash Equilibrium","description":"In game theory, a player's *strategy* is any of the options that can be chosen in a setting where the pay-off depends not only on the player's action but on the action of every player. \r\n\r\nConsider two prisoners held in separate cells, interrogated simultaneously, and offered deals (lighter jail sentences) for betraying their fellow criminal. The prisoner's strategy can either be to \"cooperate\" or \"defect\".\r\n\r\n   Prisoner 1, Prisoner 2  | Co-operate (with other)  |  Defect (betray other)\r\n  _____________________________________________________________________________\r\n   Co-operate (with other) |           1 , 1          |         4 , 0\r\n   Defect (betray other)   |           0 , 4          |         2 , 2\r\n\r\nA *strategy profile* is a set of strategies for all players which fully specifies all actions in a game. A strategy profile must include one and only one strategy for every player. In the case of the prisoners, there are four possible strategy profile as shown in the table cells above. \r\n\r\n\r\nA *pay-off* is usually associated with every strategy profile. In the case of the prisoners, if they both co-operate, they both get a pay-off (prison sentence) of 1 year.\r\n\r\nA strategy profile is a *Nash equilibrium* if no player can do better by unilaterally changing only his or her strategy. Thus, each strategy in a Nash equilibrium is a best response to all other strategies in that equilibrium.\r\n\r\nThe Nash equilibrium depends on if the objective is to minimize or maximize the pay-off matrix:\r\n\r\nIf the players intend to minimize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to defect. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets a higher prison sentence of 4 years. \r\n\r\nIf the players intend to maximize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to co-operate. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets to walk free. \r\n\r\nFor a given two-player game with each player having n strategies, the pay-off matrix P is given as a _n x n_ cell array, which elements specifies a strategy profile and the corresponding pay-offs. In the case of the prisoners\r\n\r\n       P =  {[1, 1]  [4, 0];\r\n             [0, 4]  [2, 2]} \r\n\r\nGiven the pay-off matrix P and an objective (min or max), return the 2D index of all the Nash equilibria (i.e. the strategy profile) in a k x 2 matrix and the corresponding pay-off in a column cell array.\r\n","description_html":"\u003cp\u003eIn game theory, a player's \u003cb\u003estrategy\u003c/b\u003e is any of the options that can be chosen in a setting where the pay-off depends not only on the player's action but on the action of every player.\u003c/p\u003e\u003cp\u003eConsider two prisoners held in separate cells, interrogated simultaneously, and offered deals (lighter jail sentences) for betraying their fellow criminal. The prisoner's strategy can either be to \"cooperate\" or \"defect\".\u003c/p\u003e\u003cpre\u003e   Prisoner 1, Prisoner 2  | Co-operate (with other)  |  Defect (betray other)\r\n  _____________________________________________________________________________\r\n   Co-operate (with other) |           1 , 1          |         4 , 0\r\n   Defect (betray other)   |           0 , 4          |         2 , 2\u003c/pre\u003e\u003cp\u003eA \u003cb\u003estrategy profile\u003c/b\u003e is a set of strategies for all players which fully specifies all actions in a game. A strategy profile must include one and only one strategy for every player. In the case of the prisoners, there are four possible strategy profile as shown in the table cells above.\u003c/p\u003e\u003cp\u003eA \u003cb\u003epay-off\u003c/b\u003e is usually associated with every strategy profile. In the case of the prisoners, if they both co-operate, they both get a pay-off (prison sentence) of 1 year.\u003c/p\u003e\u003cp\u003eA strategy profile is a \u003cb\u003eNash equilibrium\u003c/b\u003e if no player can do better by unilaterally changing only his or her strategy. Thus, each strategy in a Nash equilibrium is a best response to all other strategies in that equilibrium.\u003c/p\u003e\u003cp\u003eThe Nash equilibrium depends on if the objective is to minimize or maximize the pay-off matrix:\u003c/p\u003e\u003cp\u003eIf the players intend to minimize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to defect. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets a higher prison sentence of 4 years.\u003c/p\u003e\u003cp\u003eIf the players intend to maximize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to co-operate. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets to walk free.\u003c/p\u003e\u003cp\u003eFor a given two-player game with each player having n strategies, the pay-off matrix P is given as a \u003ci\u003en x n\u003c/i\u003e cell array, which elements specifies a strategy profile and the corresponding pay-offs. In the case of the prisoners\u003c/p\u003e\u003cpre\u003e       P =  {[1, 1]  [4, 0];\r\n             [0, 4]  [2, 2]} \u003c/pre\u003e\u003cp\u003eGiven the pay-off matrix P and an objective (min or max), return the 2D index of all the Nash equilibria (i.e. the strategy profile) in a k x 2 matrix and the corresponding pay-off in a column cell array.\u003c/p\u003e","function_template":"function [payoff, strategy] = NashEquilibria(P,obj)\r\n   \r\nend","test_suite":"\r\nS = {[4, 4] [1, 3]; \r\n     [3, 1] [2, 2]}; \r\nobj = 'max';\r\npayoff_correct = {[4, 4]; [2, 2]};\r\nstrategy_correct = [1 1;\r\n               2 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[4  4] [1  3]; \r\n     [3  1] [2  2]}; \r\nobj = 'min';\r\npayoff_correct = {[3 1]; [1 3]};\r\nstrategy_correct = [2 1;\r\n               1 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[10  10] [ 0   0]; \r\n     [ 0   0] [10  10]}; \r\nobj = 'max';\r\npayoff_correct = {[10 10]; [10 10]};\r\nstrategy_correct = [1 1;\r\n               2 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[10  10] [ 0   0]; \r\n     [ 0   0] [10  10]}; \r\nobj = 'min';\r\npayoff_correct = {[0 0]; [0 0]};\r\nstrategy_correct = [2 1;\r\n               1 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[1  1] [4  0]; \r\n     [0  4] [2  2]}; \r\nobj = 'min';\r\npayoff_correct = {[2 2]};\r\nstrategy_correct = [2 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[1  1] [4  0]; \r\n     [0  4] [2  2]}; \r\nobj = 'max';\r\npayoff_correct = {[1 1]};\r\nstrategy_correct = [1 1];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[ 0  0] [25 40]  [ 5  10]; \r\n     [40 25] [ 0  0]  [ 5  15];\r\n     [10  5] [15  5]  [10  10]}; \r\nobj = 'max';\r\npayoff_correct = {[40 25]; [25 40]; [10 10]};\r\nstrategy_correct = [2  1;\r\n               1  2;\r\n               3  3];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[ 0  0] [25 40]  [ 5  10]; \r\n     [40 25] [ 0  0]  [ 5  15];\r\n     [10  5] [15  5]  [10  10]}; \r\nobj = 'min';\r\npayoff_correct = {[0 0]; [0 0]};\r\nstrategy_correct = [1  1;\r\n               2  2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[ 0,0] [ 2,-2]  [2,-2]  [2,-2]; \r\n     [-2,2] [ 1, 1]  [3,-1]  [3,-1];\r\n     [-2,2] [-1, 3]  [2, 2]  [4, 0]\r\n     [-2,2] [-1, 3]  [0, 4]  [3, 3]}; \r\nobj = 'max';\r\npayoff_correct = {[0, 0]};\r\nstrategy_correct = [1, 1];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[ 0,0] [ 2,-2]  [2,-2]  [2,-2]; \r\n     [-2,2] [ 1, 1]  [3,-1]  [3,-1];\r\n     [-2,2] [-1, 3]  [2, 2]  [4, 0]\r\n     [-2,2] [-1, 3]  [0, 4]  [3, 3]}; \r\nobj = 'min';\r\npayoff_correct = {[-2, 2]; [2, -2]};\r\nstrategy_correct = [4, 1\r\n               1, 4];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\n\r\n ","published":true,"deleted":false,"likes_count":7,"comments_count":1,"created_by":178544,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2018-08-12T00:08:17.000Z","updated_at":"2025-04-25T08:30:55.000Z","published_at":"2018-08-12T00:09:08.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn game theory, a player's\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estrategy\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is any of the options that can be chosen in a setting where the pay-off depends not only on the player's action but on the action of every player.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eConsider two prisoners held in separate cells, interrogated simultaneously, and offered deals (lighter jail sentences) for betraying their fellow criminal. The prisoner's strategy can either be to \\\"cooperate\\\" or \\\"defect\\\".\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   Prisoner 1, Prisoner 2  | Co-operate (with other)  |  Defect (betray other)\\n  _____________________________________________________________________________\\n   Co-operate (with other) |           1 , 1          |         4 , 0\\n   Defect (betray other)   |           0 , 4          |         2 , 2]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estrategy profile\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is a set of strategies for all players which fully specifies all actions in a game. A strategy profile must include one and only one strategy for every player. In the case of the prisoners, there are four possible strategy profile as shown in the table cells above.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epay-off\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is usually associated with every strategy profile. In the case of the prisoners, if they both co-operate, they both get a pay-off (prison sentence) of 1 year.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA strategy profile is a\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNash equilibrium\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e if no player can do better by unilaterally changing only his or her strategy. Thus, each strategy in a Nash equilibrium is a best response to all other strategies in that equilibrium.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Nash equilibrium depends on if the objective is to minimize or maximize the pay-off matrix:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the players intend to minimize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to defect. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets a higher prison sentence of 4 years.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the players intend to maximize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to co-operate. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets to walk free.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor a given two-player game with each player having n strategies, the pay-off matrix P is given as a\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en x n\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e cell array, which elements specifies a strategy profile and the corresponding pay-offs. In the case of the prisoners\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[       P =  {[1, 1]  [4, 0];\\n             [0, 4]  [2, 2]}]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven the pay-off matrix P and an objective (min or max), return the 2D index of all the Nash equilibria (i.e. the strategy profile) in a k x 2 matrix and the corresponding pay-off in a column cell array.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":44728,"title":"Nash Equilibrium","description":"In game theory, a player's *strategy* is any of the options that can be chosen in a setting where the pay-off depends not only on the player's action but on the action of every player. \r\n\r\nConsider two prisoners held in separate cells, interrogated simultaneously, and offered deals (lighter jail sentences) for betraying their fellow criminal. The prisoner's strategy can either be to \"cooperate\" or \"defect\".\r\n\r\n   Prisoner 1, Prisoner 2  | Co-operate (with other)  |  Defect (betray other)\r\n  _____________________________________________________________________________\r\n   Co-operate (with other) |           1 , 1          |         4 , 0\r\n   Defect (betray other)   |           0 , 4          |         2 , 2\r\n\r\nA *strategy profile* is a set of strategies for all players which fully specifies all actions in a game. A strategy profile must include one and only one strategy for every player. In the case of the prisoners, there are four possible strategy profile as shown in the table cells above. \r\n\r\n\r\nA *pay-off* is usually associated with every strategy profile. In the case of the prisoners, if they both co-operate, they both get a pay-off (prison sentence) of 1 year.\r\n\r\nA strategy profile is a *Nash equilibrium* if no player can do better by unilaterally changing only his or her strategy. Thus, each strategy in a Nash equilibrium is a best response to all other strategies in that equilibrium.\r\n\r\nThe Nash equilibrium depends on if the objective is to minimize or maximize the pay-off matrix:\r\n\r\nIf the players intend to minimize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to defect. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets a higher prison sentence of 4 years. \r\n\r\nIf the players intend to maximize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to co-operate. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets to walk free. \r\n\r\nFor a given two-player game with each player having n strategies, the pay-off matrix P is given as a _n x n_ cell array, which elements specifies a strategy profile and the corresponding pay-offs. In the case of the prisoners\r\n\r\n       P =  {[1, 1]  [4, 0];\r\n             [0, 4]  [2, 2]} \r\n\r\nGiven the pay-off matrix P and an objective (min or max), return the 2D index of all the Nash equilibria (i.e. the strategy profile) in a k x 2 matrix and the corresponding pay-off in a column cell array.\r\n","description_html":"\u003cp\u003eIn game theory, a player's \u003cb\u003estrategy\u003c/b\u003e is any of the options that can be chosen in a setting where the pay-off depends not only on the player's action but on the action of every player.\u003c/p\u003e\u003cp\u003eConsider two prisoners held in separate cells, interrogated simultaneously, and offered deals (lighter jail sentences) for betraying their fellow criminal. The prisoner's strategy can either be to \"cooperate\" or \"defect\".\u003c/p\u003e\u003cpre\u003e   Prisoner 1, Prisoner 2  | Co-operate (with other)  |  Defect (betray other)\r\n  _____________________________________________________________________________\r\n   Co-operate (with other) |           1 , 1          |         4 , 0\r\n   Defect (betray other)   |           0 , 4          |         2 , 2\u003c/pre\u003e\u003cp\u003eA \u003cb\u003estrategy profile\u003c/b\u003e is a set of strategies for all players which fully specifies all actions in a game. A strategy profile must include one and only one strategy for every player. In the case of the prisoners, there are four possible strategy profile as shown in the table cells above.\u003c/p\u003e\u003cp\u003eA \u003cb\u003epay-off\u003c/b\u003e is usually associated with every strategy profile. In the case of the prisoners, if they both co-operate, they both get a pay-off (prison sentence) of 1 year.\u003c/p\u003e\u003cp\u003eA strategy profile is a \u003cb\u003eNash equilibrium\u003c/b\u003e if no player can do better by unilaterally changing only his or her strategy. Thus, each strategy in a Nash equilibrium is a best response to all other strategies in that equilibrium.\u003c/p\u003e\u003cp\u003eThe Nash equilibrium depends on if the objective is to minimize or maximize the pay-off matrix:\u003c/p\u003e\u003cp\u003eIf the players intend to minimize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to defect. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets a higher prison sentence of 4 years.\u003c/p\u003e\u003cp\u003eIf the players intend to maximize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to co-operate. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets to walk free.\u003c/p\u003e\u003cp\u003eFor a given two-player game with each player having n strategies, the pay-off matrix P is given as a \u003ci\u003en x n\u003c/i\u003e cell array, which elements specifies a strategy profile and the corresponding pay-offs. In the case of the prisoners\u003c/p\u003e\u003cpre\u003e       P =  {[1, 1]  [4, 0];\r\n             [0, 4]  [2, 2]} \u003c/pre\u003e\u003cp\u003eGiven the pay-off matrix P and an objective (min or max), return the 2D index of all the Nash equilibria (i.e. the strategy profile) in a k x 2 matrix and the corresponding pay-off in a column cell array.\u003c/p\u003e","function_template":"function [payoff, strategy] = NashEquilibria(P,obj)\r\n   \r\nend","test_suite":"\r\nS = {[4, 4] [1, 3]; \r\n     [3, 1] [2, 2]}; \r\nobj = 'max';\r\npayoff_correct = {[4, 4]; [2, 2]};\r\nstrategy_correct = [1 1;\r\n               2 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[4  4] [1  3]; \r\n     [3  1] [2  2]}; \r\nobj = 'min';\r\npayoff_correct = {[3 1]; [1 3]};\r\nstrategy_correct = [2 1;\r\n               1 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[10  10] [ 0   0]; \r\n     [ 0   0] [10  10]}; \r\nobj = 'max';\r\npayoff_correct = {[10 10]; [10 10]};\r\nstrategy_correct = [1 1;\r\n               2 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[10  10] [ 0   0]; \r\n     [ 0   0] [10  10]}; \r\nobj = 'min';\r\npayoff_correct = {[0 0]; [0 0]};\r\nstrategy_correct = [2 1;\r\n               1 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[1  1] [4  0]; \r\n     [0  4] [2  2]}; \r\nobj = 'min';\r\npayoff_correct = {[2 2]};\r\nstrategy_correct = [2 2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[1  1] [4  0]; \r\n     [0  4] [2  2]}; \r\nobj = 'max';\r\npayoff_correct = {[1 1]};\r\nstrategy_correct = [1 1];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[ 0  0] [25 40]  [ 5  10]; \r\n     [40 25] [ 0  0]  [ 5  15];\r\n     [10  5] [15  5]  [10  10]}; \r\nobj = 'max';\r\npayoff_correct = {[40 25]; [25 40]; [10 10]};\r\nstrategy_correct = [2  1;\r\n               1  2;\r\n               3  3];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[ 0  0] [25 40]  [ 5  10]; \r\n     [40 25] [ 0  0]  [ 5  15];\r\n     [10  5] [15  5]  [10  10]}; \r\nobj = 'min';\r\npayoff_correct = {[0 0]; [0 0]};\r\nstrategy_correct = [1  1;\r\n               2  2];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[ 0,0] [ 2,-2]  [2,-2]  [2,-2]; \r\n     [-2,2] [ 1, 1]  [3,-1]  [3,-1];\r\n     [-2,2] [-1, 3]  [2, 2]  [4, 0]\r\n     [-2,2] [-1, 3]  [0, 4]  [3, 3]}; \r\nobj = 'max';\r\npayoff_correct = {[0, 0]};\r\nstrategy_correct = [1, 1];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\nS = {[ 0,0] [ 2,-2]  [2,-2]  [2,-2]; \r\n     [-2,2] [ 1, 1]  [3,-1]  [3,-1];\r\n     [-2,2] [-1, 3]  [2, 2]  [4, 0]\r\n     [-2,2] [-1, 3]  [0, 4]  [3, 3]}; \r\nobj = 'min';\r\npayoff_correct = {[-2, 2]; [2, -2]};\r\nstrategy_correct = [4, 1\r\n               1, 4];\r\n[payoff, strategy] = NashEquilibria(S,obj);\r\nassert(isequal(payoff,payoff_correct) \u0026 isequal(strategy,strategy_correct))\r\n\r\n\r\n ","published":true,"deleted":false,"likes_count":7,"comments_count":1,"created_by":178544,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2018-08-12T00:08:17.000Z","updated_at":"2025-04-25T08:30:55.000Z","published_at":"2018-08-12T00:09:08.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn game theory, a player's\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estrategy\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is any of the options that can be chosen in a setting where the pay-off depends not only on the player's action but on the action of every player.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eConsider two prisoners held in separate cells, interrogated simultaneously, and offered deals (lighter jail sentences) for betraying their fellow criminal. The prisoner's strategy can either be to \\\"cooperate\\\" or \\\"defect\\\".\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   Prisoner 1, Prisoner 2  | Co-operate (with other)  |  Defect (betray other)\\n  _____________________________________________________________________________\\n   Co-operate (with other) |           1 , 1          |         4 , 0\\n   Defect (betray other)   |           0 , 4          |         2 , 2]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estrategy profile\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is a set of strategies for all players which fully specifies all actions in a game. A strategy profile must include one and only one strategy for every player. In the case of the prisoners, there are four possible strategy profile as shown in the table cells above.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epay-off\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is usually associated with every strategy profile. In the case of the prisoners, if they both co-operate, they both get a pay-off (prison sentence) of 1 year.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA strategy profile is a\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNash equilibrium\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e if no player can do better by unilaterally changing only his or her strategy. Thus, each strategy in a Nash equilibrium is a best response to all other strategies in that equilibrium.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Nash equilibrium depends on if the objective is to minimize or maximize the pay-off matrix:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the players intend to minimize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to defect. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets a higher prison sentence of 4 years.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the players intend to maximize their prison sentence, then the only Nash equilibrium occurs when both prisoner choose to co-operate. If any of the prisoner unilaterally attempts to deviate from this strategy profile, he gets to walk free.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor a given two-player game with each player having n strategies, the pay-off matrix P is given as a\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en x n\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e cell array, which elements specifies a strategy profile and the corresponding pay-offs. In the case of the prisoners\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[       P =  {[1, 1]  [4, 0];\\n             [0, 4]  [2, 2]}]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven the pay-off matrix P and an objective (min or max), return the 2D index of all the Nash equilibria (i.e. the strategy profile) in a k x 2 matrix and the corresponding pay-off in a column cell array.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"john forbes nash\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"john forbes nash\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"john forbes nash\"","","\"","john forbes nash","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007faf32ffb7c8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007faf32ffb728\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007faf32ffae68\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007faf32ffba48\u003e":1,"#\u003cMathWorks::Search::Field:0x00007faf32ffb9a8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007faf32ffb908\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007faf32ffb868\u003e":"tag:\"john forbes nash\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007faf32ffb868\u003e":"tag:\"john forbes nash\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"john forbes nash\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"john forbes nash\"","","\"","john forbes nash","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007faf32ffb7c8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007faf32ffb728\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007faf32ffae68\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007faf32ffba48\u003e":1,"#\u003cMathWorks::Search::Field:0x00007faf32ffb9a8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007faf32ffb908\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007faf32ffb868\u003e":"tag:\"john forbes nash\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007faf32ffb868\u003e":"tag:\"john forbes nash\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":44728,"difficulty_rating":"medium"}]}}