Skip to content

Commit

Permalink
improve
Browse files Browse the repository at this point in the history
  • Loading branch information
LiuShuwen committed Jun 4, 2018
1 parent 83a44a2 commit fd8e920
Showing 1 changed file with 19 additions and 21 deletions.
40 changes: 19 additions & 21 deletions P1_Robot_Controller/Robot Controller.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## 控制机器人漫步\n",
"## 控制迷宫寻宝机器人\n",
"\n",
"在这个项目中,你将使用刚刚学到的知识,尝试根据要求,编写代码,来控制一个机器人,在模拟环境中行走,并找到目标宝藏。\n",
"\n",
"机器人所在的模拟环境中,会包这样几个因素:机器人的起点、障碍物、宝藏箱。你的任务包括:\n",
"机器人所在的模拟环境中,会包含这样几个因素:机器人的起点、障碍物、宝藏箱。你的任务包括:\n",
"\n",
"1. 分析模拟环境的数据\n",
"2. 控制机器人随机行动\n",
"3. 控制机器人走到终点\n",
"\n",
"如果遇到问题,你可以提交项目获得指导。"
"3. 控制机器人走到终点"
]
},
{
Expand Down Expand Up @@ -143,9 +141,9 @@
"metadata": {},
"outputs": [],
"source": [
"loc_map = {} #TODO 5按照上述要求创建字典\n",
"loc_map = {} #TODO 6按照上述要求创建字典\n",
"\n",
"robot_current_loc = None #TODO 6保存机器人当前的位置"
"robot_current_loc = None #TODO 7保存机器人当前的位置"
]
},
{
Expand Down Expand Up @@ -174,7 +172,7 @@
"\n",
"---\n",
"\n",
"**任务5:**在下方代码中,实现名为 `is_move_valid_special` 的函数,它有两个输入,分别为机器人所在的位置坐标 `loc`,以及即将执行的动作 `act`,如 `(1,1)` 及 `u`。接着它的返回是一个布尔值,表明小车在 `loc` 位置下,是否可以执行动作 `act`。\n",
"**任务4:**在下方代码中,实现名为 `is_move_valid_special` 的函数,它有两个输入,分别为机器人所在的位置坐标 `loc`,以及即将执行的动作 `act`,如 `(1,1)` 及 `u`。接着它的返回是一个布尔值,表明小车在 `loc` 位置下,是否可以执行动作 `act`。\n",
"\n",
"\n",
"提示1:*可以读取上方定义的 `env_data` 变量,来读取模拟环境的数据。*\n",
Expand All @@ -197,7 +195,7 @@
" loc -- tuple, robots current location\n",
" act -- string, robots meant action\n",
" \"\"\"\n",
" #TODO 7\n",
" #TODO 8\n",
" pass"
]
},
Expand All @@ -207,7 +205,7 @@
"source": [
"---\n",
"\n",
"**任务6:**在下方代码中,重新实现一个名为 `is_move_valid` 的函数,它有三个输入,分别为模拟环境的数据 `env_data`、机器人所在的位置坐标 `loc`、以及即将执行的动作 `act`。它的返回值与此前一样,是一个布尔值,表明小车在给定的虚拟环境中的 `loc` 位置下,是否可以执行动作 `act`。"
"**任务5:**在下方代码中,重新实现一个名为 `is_move_valid` 的函数,它有三个输入,分别为模拟环境的数据 `env_data`、机器人所在的位置坐标 `loc`、以及即将执行的动作 `act`。它的返回值与此前一样,是一个布尔值,表明小车在给定的虚拟环境中的 `loc` 位置下,是否可以执行动作 `act`。"
]
},
{
Expand All @@ -226,7 +224,7 @@
" loc -- tuple, robots current location\n",
" act -- string, robots meant action\n",
" \"\"\"\n",
" #TODO 8\n",
" #TODO 9\n",
" pass"
]
},
Expand All @@ -236,7 +234,7 @@
"source": [
"---\n",
"\n",
"**任务7:**请回答:**在任务5及任务6中的实现的两个函数中,`env_data` 这个变量有什么不同?**\n",
"**任务6:**请回答:**在任务5及任务6中的实现的两个函数中,`env_data` 这个变量有什么不同?**\n",
"\n",
"提示:_可以尝试从变量作用域的角度回答该问题。_\n",
"\n"
Expand All @@ -259,7 +257,7 @@
"\n",
"---\n",
"\n",
"**任务8:**编写一个名为 `valid_actions` 的函数。它有两个输入,分别为虚拟环境的数据 `env_data`,以及机器人所在的位置 `loc`,输出是一个列表,表明机器人在这个位置所有的可行动作。\n",
"**任务7:**编写一个名为 `valid_actions` 的函数。它有两个输入,分别为虚拟环境的数据 `env_data`,以及机器人所在的位置 `loc`,输出是一个列表,表明机器人在这个位置所有的可行动作。\n",
"\n",
"提示:*可以尝试调用上方定义的`is_move_valid`函数。*\n",
"\n",
Expand All @@ -272,7 +270,7 @@
"metadata": {},
"outputs": [],
"source": [
"## TODO 9 从头定义、实现你的函数"
"## TODO 10 从头定义、实现你的函数"
]
},
{
Expand All @@ -285,7 +283,7 @@
"\n",
"当机器人收到一个动作的时候,你机器人的位置应发生相应的变化。\n",
"\n",
"**任务9:**编写一个名为 `move_robot` 的函数,它有两个输入,分别为机器人当前所在的位置 `loc` 和即将执行的动作 `act`。接着会返回机器人执行动作之后的新位置 `new_loc`。"
"**任务8:**编写一个名为 `move_robot` 的函数,它有两个输入,分别为机器人当前所在的位置 `loc` 和即将执行的动作 `act`。接着会返回机器人执行动作之后的新位置 `new_loc`。"
]
},
{
Expand All @@ -294,7 +292,7 @@
"metadata": {},
"outputs": [],
"source": [
"##TODO 10 从头定义、实现你的函数"
"##TODO 11 从头定义、实现你的函数"
]
},
{
Expand All @@ -307,7 +305,7 @@
"\n",
"接着,我们尝试在虚拟环境中随机移动机器人,看看会有什么效果。\n",
"\n",
"**任务10:**编写一个名为 `random_choose_actions` 的函数,它有两个输入,分别为虚拟环境的数据 `env_data`,以及机器人所在的位置 `loc`。机器人会执行一个30次的循环,每次循环,他会执行以下任务:\n",
"**任务9:**编写一个名为 `random_choose_actions` 的函数,它有两个输入,分别为虚拟环境的数据 `env_data`,以及机器人所在的位置 `loc`。机器人会执行一个30次的循环,每次循环,他会执行以下任务:\n",
"\n",
"1. 利用上方定义的 `valid_actions` 函数,找出当前位置下,机器人可行的动作;\n",
"2. 利用 `random` 库中的 `choice` 函数,从机器人可行的动作中,随机挑选出一个动作;\n",
Expand All @@ -320,7 +318,7 @@
"metadata": {},
"outputs": [],
"source": [
"##TODO 11 从头实现你的函数"
"##TODO 12 从头实现你的函数"
]
},
{
Expand All @@ -338,9 +336,9 @@
"\n",
"在这里,你将综合上述的知识,编码控制机器人走到终点。这个任务对刚刚入门的你来说可能有些挑战,所以它是一个选做题。\n",
"\n",
"**任务11**:尝试实现一个算法,能够对给定的模拟环境,输出机器人的行动策略,使之能够走到终点。\n",
"**任务10**:尝试实现一个算法,能够对给定的模拟环境,输出机器人的行动策略,使之能够走到终点。\n",
"\n",
"提示:_你可以尝试参考 [A星算法](https://zh.wikipedia.org/wiki/A\\*搜寻算法) 。_"
"提示:_你可以尝试参考 [A星算法](https://zh.wikipedia.org/wiki/A*%E6%90%9C%E5%AF%BB%E7%AE%97%E6%B3%95) 。_"
]
},
{
Expand All @@ -349,7 +347,7 @@
"metadata": {},
"outputs": [],
"source": [
"##TODO 12 实现你的算法"
"##TODO 13 实现你的算法"
]
},
{
Expand Down

0 comments on commit fd8e920

Please sign in to comment.