2022嵌入式算法大赛题目解析+baseline思路

Posted tacit-lxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022嵌入式算法大赛题目解析+baseline思路相关的知识,希望对你有一定的参考价值。

2022嵌入式算法大赛

1 .题目解析

工厂

可以将其看作是万能制造厂,只要将制造物品的材料传送进去,它就能为你制造出你想要的东西。比如,汽车,手机、电脑。

构成:

  • 传送带:传送带分两种,一种是主传送带,另一种环回传送带。他们是方向始终是向前的,这一点很重要。
  • 窗口:窗口只与一个车间相连。每个窗口有对1-2种类型仪器做预加工的能力。
  • 车间:车间可以连接多个窗口,这也就说明车间和窗口是一对多的关系。
  • 车间区域:一个车间有多个车间区域。每个车间区域只能提供一种型号的能源,一个车间区域可以安装无限台仪器。
  • 仪器:仪器的类型有三种。仪器都是唯一的,且只能安装到一个车间区域,仪器的使用需要对应的能源。

流水图

  • 流水线

    说简单点,就是给你一堆材料,你需要先后用那些仪器对其进行加工。仪器使用顺序构成一条执行线路,称为流水线。而仪器和仪器之间有两种关系。

    1. 依赖关系

      两个仪器必须按先后顺序加工。

    2. 协同关系

      两个仪器可以一起加工,也可以按先后顺序加工。

  • 流水图

    不同的流水线,就构成了流水图。

  • 核心流水线

    一条使用仪器的指定的路径。

任务

我们需要将不同的仪器部署到不同的车间区域,要使得该工厂能够执行每一条流水线,然后还要为核心流水线设计一个窗口匹配方案。就是给出在制造材料从入口到出口的过程中进入的窗口,并且这些窗口所连车间的仪器正好包括核心流水线上使用的仪器,即,访问窗口的顺序正好对应仪器的使用顺序。

2. 解题思路

  1. 去环化

这样的好处是,我们可以串行的遍历窗口。可以将其看作一条时间线。具体而言可以用一个数组表示,其下标index可以表示在某一时刻,传送到了第几个窗口,值则表示对应的编号。

比如,上图中的例子
a = [0,1,0,1,2,3,3,4,4]
a[4]:表示0时刻,传送带把材料送到了第4个窗口,对应的编号为2。
  1. 拓扑排序消除依赖

根据拓扑排序,我们就可以得到每个仪器的使用的先后顺序。我们就可以按照这个顺序去一个一个的部署仪器。最简单的做法就是贪心的选取车间区域。

因为仪器的使用和材料进入的窗口有关,我们可以遍历窗口时间线,尽量早的部署仪器。具体而言,按拓扑排序遍历仪器,得到一个要部署的仪器。然后遍历窗口数组,如果窗口所连车间的车间区域满足仪器使用条件,我们就将仪器部署到该车间区域,再进行下一个仪器的部署。

在上面的过程中,我们记录好部署的车间区域和进入的窗口,就可以完成题目的要求了。

成绩


在我的资源中有我实现的一个baseline的代码。

以上是关于2022嵌入式算法大赛题目解析+baseline思路的主要内容,如果未能解决你的问题,请参考以下文章

第三届阿里云磐久智维算法大赛——GRU BaseLine

第三届阿里云磐久智维算法大赛——GRU BaseLine

KDD Cup大赛Baseline&思路开源了!

2022美赛 C题 交易策略Python实现的baseline

天池大赛|2022江苏气象AI算法挑战赛亚军方案分享

天池大赛|2022江苏气象AI算法挑战赛亚军方案分享