duangsuse::Echo
其实无视百度公司的其他行为来看,百度学术(xueshu.baidu.com) 还是可以用的 但是他们不重视知识产权,没有对知识最基本的敬畏,到了学术界还是一副对作者的权利的爱理不理的样子... 和以前对那些歌曲一个态度 它太强调免费了... 听起来就像是百度的尿性,养成了那么多死看着免费免费自 high 的网民,改不了啊。 这里有一个例子: http://xueshu.baidu.com/usercenter/paper/show?paperid=e0f4dfe28ad3be0897827fb00ad16791…
Schoolar 上可以找到和华为所谓 HCC 和 CM、某优化技术什么的相关的内容,但很可惜,都是基本不沾边,只是引用甚至部分内容里稍微提了下华为,而 research 也不是华为弄的
Compiler-inserted predicated tracing
https://patents.google.com/patent/US20110154309A1/en
Compiler with energy consumption profiling
https://patents.google.com/patent/US20090037887A1/en
然后这篇蛤为的论文就是某优化编译算法之前的理论?
Application scenario identification method, power consumption management method, apparatus, and terminal device
应用程序的应用情景识别、功耗管理控制、设备和移动终端
https://patents.google.com/patent/US9813297B2/en
Compiler-inserted predicated tracing
https://patents.google.com/patent/US20110154309A1/en
Compiler with energy consumption profiling
https://patents.google.com/patent/US20090037887A1/en
然后这篇蛤为的论文就是某优化编译算法之前的理论?
Application scenario identification method, power consumption management method, apparatus, and terminal device
应用程序的应用情景识别、功耗管理控制、设备和移动终端
https://patents.google.com/patent/US9813297B2/en
Google
Compiler with energy consumption profiling
An energy based framework is disclosed that allows a software compiler or developer to make decisions between performance and energy consumption. In one aspect, a first program code (e.g., vector engine based computation) may alternatively be compiled into…
duangsuse::Echo
这个应该是自然语言处理和机器学习方面的可视化
所以说大佬实在不少,哭哭(但其实是好事... 大佬对社会都是“超值”的,就是我们这些菜鸡看了会自闭而已)
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
今天开始真的 写了
想先写篇关于之前那个排序问题的论文...
其实我想了很久(一天)了,我还是无法弄清楚(虽然考虑了一两种情况)drakeet 到底是在哪里想出问题的...
虽然待会还有别的东西要写.... 不少,但是马上放假了就很不缺时间了吧
其实我想了很久(一天)了,我还是无法弄清楚(虽然考虑了一两种情况)drakeet 到底是在哪里想出问题的...
虽然待会还有别的东西要写.... 不少,但是马上放假了就很不缺时间了吧
Telegram
duangsuse::Echo
现在开始讲解方才 @drakeet 的排序问题
5 没有被手动排序过,5 排在 1 前面,4 被手动排序过,4 也在 1 前面,但 5 和 4 却无法得出谁在谁前
至于这个偏序理论(因为冰封这翻译得很全)(指原文... 因为好像最后没有翻译完)呢,其实是蛮大的知识体系,主要是和数学一些其他的杂七杂八东西比如几何学、集合什么的绑在一起了
https://baike.baidu.com/item/%E5%81%8F%E5%BA%8F%E5%85%B3%E7%B3%BB/943166?fromtitle…
5 没有被手动排序过,5 排在 1 前面,4 被手动排序过,4 也在 1 前面,但 5 和 4 却无法得出谁在谁前
至于这个偏序理论(因为冰封这翻译得很全)(指原文... 因为好像最后没有翻译完)呢,其实是蛮大的知识体系,主要是和数学一些其他的杂七杂八东西比如几何学、集合什么的绑在一起了
https://baike.baidu.com/item/%E5%81%8F%E5%BA%8F%E5%85%B3%E7%B3%BB/943166?fromtitle…
5 没有被手动排序过,5 排在 1 前面,4 被手动排序过,4 也在 1 前面,但 5 和 4 却无法得出谁在谁前
我... 其实我一直在想的是(没错,我记错了,但是这句话我一直在想一直在想... 我真的不知道到底是哪里,在设计什么算法什么数据结构才可能导致他理解出了这类偏差)a 没有被手动排序过,a 排在 c 的前面,b 被手动排序过,b 也在 c 的前面,但是 a 和 b 却无法确定谁在前面之前一直以为是抽象的,实际上居然是用数值... 那我应该又找到新的突破点了...
之前我一直怀疑是不是他修改那类算法的时候出了问题,现在想想也可能是调试的时候发现了这个『漏洞』
是不是也有可能是把“不可排序”的文章映射到数值的时候导致的问题?
如果后端存储是支持查询排序的 ORM,是不是可以说就是上面这种情况?
我猜的第一种情况是对于任意两项
import java.util.function.*;
class OrderLT<T> implements Comparator<T> {
private enum Ord { LT, EQ, GT; }
private final Predicate<T> lessThanP;
public OrderLT(Predicate<Pair<? super T, ? super T>> ltP) {lessThanP = ltP;}
@Override int compare(T a, T b) {
if (lessThanP.test(Pair.of(a, b))) return LT.toInt();
return (a.equals(b)? EQ : GT).toInt();
}
@Override boolean equals(Object cmpQ) {return cmpQ instanceof OrderLT && cmpQ.lessThan}
}
上面这个是 Ord 的实现,但是我不该强行用 Predicate... 有点过分了...我想想可能是什么问题...
我之前想到的第一个是为每个文章建立一个『是否被手动排序过?』布耳值,对于表中每(要比较的)两项,如果任何一项被标记为手动排序过则直接返回预期的顺序(默认按照 lessThan 排序,输出升序列 Ascending sequence,这种情况直接返回 -1 (LT)表示顺序已经满足)不过,虽然理论上会导致这种问题(这是肯定的,原因我待会的文章会说)但是实践上(假设是冒泡排序的交换,快速排序就不能肯定了)只会导致手动排序部分以及边上的两个被“锁死”不可能移动位置而已,没有 5,4 『找不到』谁在前的问题(显然 5 旁边锁死了排序算法就不会工作,因为两项的顺序满足了目标序列,如果本来就是正确的则自动部分排序结果正确,否则自动排序部分是非有序列的,但对此算法是正常情况)。
当然排序算法按操作分选择、插入、交换三类,序的理论却是唯一的,就一个 lessThan
⊏ 和一个反对称性、传递性最重要(如果不是 lessThan 显然就是 equals 或者 greaterThan 了,不过实际上实现这一个 predicate,判定[1])5 没有被手动排序过,5 排在 1 前面,4 被手动排序过,4 也在 1 前面,但 5 和 4 却无法得出谁在谁前
Given
list <= {5,4,1} (>)
Where
5 自动排序
5 在 1 前面
4 在 1 前面
In
5 和 4 无法得出谁在谁前
其中有一个容易误会的点是对于集合 {5,4,1} (>) 序是指算法输出forall i in lastIndex(list). list[i] > list[i+1]
(当然这里我不指定 i in... 或者随便指定 i in indices(list) 也没错... 数学嘛,请滑稽处理,跑)而不是『某简单排序算法看到
5 > 4 为真,则交换成 4,5, 它是“确保”条件成立并且应用偏序传递性而不是“否认”比较操作符』... 首先根据
5 和 4 无法得出谁在谁前... 认为是在设计排序算法的过程中出的问题吧因为 drakeet 是一个非函数式也不太学算法的(真正意义上的纯)工程师,假设他使用了把“文章”直接映射到某标量的方式,我觉得比较有可能(而不是比如设置一个 lessThan 关系集合,然后 comparator 判断某项是否在集合内并且打破偏序)
.... 这种算法到底是哪样的呢?假设它是类似冒泡排序的交换排序
bubbleSort (>) [5,4,1]
它要比较两次:5>4= true
4>1 = true可显然这不是问题,那就假设我之前的猜测是对的,输入是一个二元组
bubbleSort cmp [(4, True), (1, True), (5, False)]
where cmp (x, p) (r, q) = if p and q then (fst x) > (fst r) else True)
我假设他所说这个『无法得出』是无法得出“正确”的结果的意思,那这个程序的输出是(product 箭头拆掉元组部分) [4, 1, 5]
5 和 4 的确是无法得出谁在谁前,因为 snd (5, False) 是 False,不允许交换的那只好再审题...
5 没有被手动排序过
我考虑一个列表 [5]
5 排在 1 前面
[5, 1] 证明这个列表是 (>) 降序(Descending)的可是,开始我直觉上(思路上还是有的)没有考虑到这是一种“部分序列”
4 被手动排序过
4 也在 1 前面用户选择把 4 放在了一个地方,这个地方符合约束:
(> 1)
其实情景是『在自动排序序列中插入一项』?现在列表看起来有一个不定位置的 4,它必须满足
(4 > 1)
5 和 4 却无法得出谁在谁前
首先:听起来这不像是在写代码,因为 5 和 4 的确可以“比较”吧除非 4 是用户给出“在 1 前面”的那一个,用户没有告诉我们它是否
(>5) 这样就有两种可能的结果:[5,4,1] when (4<5)
[4,5,1] when (4>5)
这怎么得出呢?显然这类算法没有简单到一定程度但以上讨论显然好像是忽略了某些本来存在的信息... 总之,想猜出是“为什么错”的还真是非常困难,因为解决方案和理论错误的都可能是由很奇妙的因素导致的... 可能性有无数种,无数种错误都可能在某个侧面被描述为
5 没有被手动排序过,5 排在 1 前面,4 被手动排序过,4 也在 1 前面,但 5 和 4 却无法得出谁在谁前
... 看起来是我还不熟悉实际工程?现在把 5 4 1 泛化成 a b c,升序排列,然后考虑一下实际上如果我们实现某种算法的话会不会出茬子
b, c 是自动排序的项目 且 b < c[b, c]
现在用户加入了一项 a 且要求 a < c『要求』怎么抽象?其实可以做一个
lessThanC 集合,如果右项目是 c,则直接判断左项目是否在 lessThanC 布耳映射内否则返回 True(满足序列)但是就出现了一个问题:
用户只是说
a < c,我们却不知道 a 和 b 什么关系... 看起来好像是必须要实现全函数 ord 的,这问题当然不可解但依此得出『无法按要求排序列表』,这其实是一个误区... 因为给定的偏序关系本来就已经满足,a 和 b 是什么关系你随便指定,
a>b, a<b 都可以。只要 a < c
Given (b < c, a < c)我们能不能解
a < b?当然不可以,因为显然不能无中生有,如果 a < c、b < a 是能得出 b < c 的(偏序操作符 < 有传递性可推出 b < a < c),但是上面那货只是指定了一个 a 的取值区间,没有具体到拿 b 去限制它,a b 都只是各自 <c 而已{a b} < c
...我决定停下,我还有很多有意义的事情可以做,我真的不知道 drakeet 是在写代码的时候(我觉得不太可能,因为这个理论想弄个算法出来想靠模板化代码.... 另外开始就写代码反而不可能想到这个问题,而且以 drakeet 之前的见识这种问题可能要先想,不过我是受教了...)想到的还是在开始想理论的时候弄错的,但不管怎么样、不管为什么错,知道它是错的就好了...那我等一会就写文吧,不要追想是为啥错的,也怪浪费时间的。(虽然我觉得是想理论模拟比较算法的时候就出了问题,他的思路还的确蛮跳跃的,我都没有把偏序关系抽象成这个样子只是觉得可以『部分排序』和『固定位置』两种,或许是他开始打算使用 Collections API 的
sort 函数吧,那要实现一个 java.util.Comparator<T>)—
[1] 之所以不称谓词(predicate)是因为我的确很困惑为啥要这么翻译
我开始把它和量词(qunatifier)弄混了,还好很快就明白自己搞错了
这个翻译成谓词(the part of a sentence or clause containing a verb and stating something about the subject)感觉有点不准确(但是谓语『
我爱你』的这个爱的确是谓词),这里我不会用,不过别的地方以后我还是照用不误#zhihu https://www.zhihu.com/question/28698429
You Dont Know Java
Advanced interactive component test
🐮☕️ 你没见过的 Java 语法(至 Java 8)
duangsuse::Echo
5 没有被手动排序过,5 排在 1 前面,4 被手动排序过,4 也在 1 前面,但 5 和 4 却无法得出谁在谁前 我... 其实我一直在想的是(没错,我记错了,但是这句话我一直在想一直在想... 我真的不知道到底是哪里,在设计什么算法什么数据结构才可能导致他理解出了这类偏差) a 没有被手动排序过,a 排在 c 的前面,b 被手动排序过,b 也在 c 的前面,但是 a 和 b 却无法确定谁在前面 之前一直以为是抽象的,实际上居然是用数值... 那我应该又找到新的突破点了... 之前我一直怀疑是不…
This media is not supported in your browser
VIEW IN TELEGRAM