商人过河问题jupyter
时间: 2023-09-07 17:16:55 浏览: 62
商人过河问题是一个经典的逻辑问题,其解法可以通过多步决策来实现安全渡河。在这个问题中,有三名商人和他们各自的随从需要渡河,船只只能容纳两人。当随从人数比商人多时,随从就会杀人越货,乘船权在商人手中。那么商人应该如何安全渡河呢?
可以使用以下步骤来解决商人过河问题:
1. 将船停在起始岸边,让商人A和商人B上船,然后商人A将船划到目标岸边。
2. 商人A下船,让商人B继续留在目标岸边,商人A将船划回起始岸边。
3. 商人A将随从A带上船,然后将船划到目标岸边。
4. 商人A下船,商人B上船,商人B将船划回起始岸边。
5. 商人B将随从B带上船,然后将船划到目标岸边。
6. 商人B下船,商人A上船,商人A将船划回起始岸边。
7. 商人A和商人B一起上船,将船划到目标岸边。
8. 商人A下船,商人B继续留在目标岸边,商人A将船划回起始岸边。
9. 商人A将随从A带上船,然后将船划到目标岸边。
10. 商人A下船,商人B上船,商人B将船划回起始岸边。
11. 商人B将随从B带上船,然后将船划到目标岸边。
12. 商人B下船,商人A上船,商人A将船划回起始岸边。
13. 商人A和商人B一起上船,将船划到目标岸边。
通过以上步骤,商人和随从可以安全地渡过河流。需要注意的是,在每一步决策中,都要确保两岸的随从人数都不会超过商人人数,以保证安全。这个问题也可以使用MATLAB程序进行求解,通过一个while循环实现n个商人和n个随从情况下的最优解(步骤最少)。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [商人过河问题](https://download.csdn.net/download/qq_42235496/10422314)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [数学模型-商人过河问题](https://download.csdn.net/download/tosiya/87350340)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [商人过河问题MATLAB程序](https://download.csdn.net/download/kwzzarcher/11422851)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]