我需要一些关于硕士论文中关键主题的帮助。
想象一下两种类型的海龟,海龟车和海龟。 因此,龟车被放置在世界的特定区域,龟屋随意放置。
主要目标是让龟车访问所有房屋并返回起始位置。
案例研究的例子: 2辆汽车和5个房子
想象一下,我定义了以下路由向量: 路线:[0 2 3 1 4,5 5 6 5 6]
在第一部分随机放置房屋进行访问,然后分别进行访问的汽车,即汽车5访问房屋0 2和1,汽车6访问房屋3和4。我使用每只海龟的ID,具体取决于使用的海龟总数。 也就是说,使用给定的路线矢量,我的汽车可以自动被查看访问他们各自的房屋(按照他们插入矢量的顺序,如上所述)。
我的问题是,了解矢量路线后,如何让汽车选择去哪里并返回起点。
如果有人可以帮助我,我真的很感激。
答案 0 :(得分:2)
以下是一些代码,用于获取输入路径矢量并为每辆车创建路线。汽车和房屋的配对取自NetLogo: How to filter a list using a criterion which refers on a corresponding list?。这是具有最清晰解释的形式,如果您可以从该答案构建filter
版本,那将更加优雅。
globals [ route-vector ]
breed [cars car]
cars-own [ route ]
to setup
clear-all
set route-vector [ 5 10 15 20 25 0 1 2 0 1 ]
create-turtles 3 [ setxy random-xcor random-ycor ]
make-routes
reset-ticks
end
to make-routes
let houses sublist route-vector 0 (length route-vector / 2 )
let carlist sublist route-vector (length route-vector / 2 ) (length route-vector)
ask cars [ set route [] ]
(foreach carlist houses
[ [the-car the-house] ->
ask cars with [who = the-car] [ set route lput the-house route ]
]
)
end
请另外询问有关使用路线变量实际沿路径移动的问题。但是,请尝试自己动手,以便显示代码并描述需要修复的内容。