城市交通网络模拟:节点连接关系,特征和交通拥堵状态生成
以下是一个示例代码,用于生成城市交通网络的节点连接关系,节点特征和交通拥堵程度标签,并输出 10 个时刻的数据:
import random
# 生成节点连接关系
def generate_network():
network = []
for i in range(20):
for j in range(i+1, 20):
network.append((i, j))
random.shuffle(network)
return network[:100]
# 根据节点连接关系生成节点特征和标签
def generate_data(network):
data = []
for i in range(20):
vehicle_density = random.uniform(0, 1)
average_speed = random.uniform(10, 30)
for j in range(10):
if vehicle_density > 0.7 and average_speed < 15:
label = '拥堵'
elif vehicle_density > 0.3 and average_speed < 20:
label = '缓行'
else:
label = '畅通'
data.append((i, vehicle_density, average_speed, label))
vehicle_density = random.uniform(max(0, vehicle_density - 0.1), min(1, vehicle_density + 0.1))
average_speed = random.uniform(max(10, average_speed - 1), min(30, average_speed + 1))
return data
# 输出数据
def output_data(data):
for i, d in enumerate(data):
print("时刻{}:节点{},车辆密度:{},平均车速:{},标签:{}".format(i//20+1, d[0], d[1], d[2], d[3]))
# 主函数
def main():
network = generate_network()
data = generate_data(network)
output_data(data)
if __name__ == "__main__":
main()
这段代码先调用generate_network()函数生成 20 个节点的连接关系,然后调用generate_data()函数根据节点连接关系生成节点特征和标签,最后调用output_data()函数输出 10 个时刻的数据。
注意,代码中的节点特征和标签是随机生成的示例数据,实际应用中可能需要根据实际情况进行调整。
原文地址: https://www.cveoy.top/t/topic/jzq6 著作权归作者所有。请勿转载和采集!