2022-04-10 午夜随笔之《去晾6个衣服仿佛发现了新大陆》

289 阅读2分钟
  1. 花了两年时间思考这么一个问题:

    有10000种语言,每个老师可以教学其中20种,每个学生需要选修任意10种。 现有100万个学生的选修申请,给出一个老师的教学科目,尽可能快的算出可以教的学生数目以及学生ID。

    在4.6GHz的cpu频率下用280微秒算出这个结果。

  2. 《廿陆畫生对于HEM在同一个属性上无法适应离散区间匹配的指导意见》

    考虑到HEM值域可达百万级,考虑到我处理excel表格数据时常常需要把一列十行的数据拷贝到另一个sheet上成一行十列的这个过程需要转置粘贴

    考虑把以上两点考虑结合起来,归结为一句话就是:把现实属性上定义的每个离散区间甚至每个值当成一个“算法属性”。

    例子:即上面的第一条午夜随笔。

    如果把老师的语言能力看成一个属性,那么这个问题实际只有1个属性,这个属性上有10000种语言就相当于一万个取值,那么老师会的20个语言就是定义在这个属性上的20个宽度为1的区间!!!学生的10个选修科目就是定义在这个属性上的10个不相交谓词。

    但随笔一把这个问题的大值域转化为了高维度:把老师会的20门语言转化为了10000维空间上的20个非空属性,每个属性上取1,其他9980维语言空间取0表示不会相当于空属性。

    当然,现实属性上可能不是像上面语言问题这样只有不会或者会01两个取值,比如每种语言有100个取值表示熟练程度,1表示不会,100表示精通。老师的语言能力就可以表示为10000个属性上的某20个属性上的熟练度,学生的选修申请就可以表示为10000个属性上的某10个属性上的连续区间比如{语文,[80,100]}。

    这一转化只实现了属性上定义合取关系的条件约束,并不能实现析取关系(或)的约束。

    注:本意见思路有些许错误。