歪楼了吧。8051 和 z80 好像都至少64K, 4K 内存的高级货,不记得玩过。
回到形式逻辑。
有自构建形式逻辑的开发系统么?
On Tuesday, September 17, 2013 8:52:33 AM UTC+8, liyaoshi wrote:
--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
先题外话:窃以为haskell的函数式太纯粹了。
然后不太明白你说的自我构建是什么意思,如果你是说first-class-function,那是所有的函数式都有的,类似的还有 currying 这些。
然后函数就可以返回一个函数然后再返回一个函数去计算你要的东西,当然闭包特性在这里起了很大的作用。
偶到没有开发过大项目,不过之前搞guile-scsh, 现在在搞guile-termite, 把erlang otp的一些特性移植到guile上。
这里夸两句scheme:
1. s-表达式的强大就不用说了,对括号有障碍的可以考虑用emacs+unparenmode、rainbow-parenmode配合上paredit可以基本上消除数括号的痛苦了;
2. 不是纯函数,对副作用不像haskell那样原教旨式的排斥,所以更灵活,而像haskell里面那种为了保持执行顺序的monad在scheme里面也可以用call/cc以及delimited-continuation来实现(monad跟cps是可以互相转换的),因此你如果要做纯函数也可以;
3. 闭包特性,lexical-scope,
这一点比common-lisp要干净点,因为common-lisp实际上是几种老lisp的融合,老的dynamic-scoping没除的太干净;
4. 按需进行惰性求值;
5. 弱类型检查,这个我到不觉得就有多好,不过也不坏;
6. hygienic-macro支持,最近在微博上高端大气上档次的DSL就是从这里开始的,scsh和termite里面都有不少这样的东西;
然后夸两句guile:
1. GNU的scheme实现, r6rs兼容, srfi也支持得不少
2. threading支持(话说posix类系统上做threading真痛苦)
3. 强大的自定义reader, 可以开发多种sub language, 可以跑 bfl, lua, javascript,
有人在做python的,还有个哥们在做prolog
4. 开发比较活跃,最近在做的2.2版本要搞RTL神马的,promise 性能会上台阶
5. 有个叫artanis的web framework
--
#include<iostream>
#include<cstdio>
using namespace std;
#define N 4
#define LOOP(i) for(i=0; i<N; i++)
#define F(i) ( (int(*)(int,int))opt[i] )
#define FI F(i)
#define FJ F(j)
#define FK F(k)
int add(int a, int b) { return a + b; }
int sub(int a, int b) { return a - b; }
int mul(int a, int b) { return a * b; }
int div(int a, int b) {
if (b == 0 || a % b)
return 2401;
return a / b;
}
char whichOpt(int index)
{
if (index == 0) return '+';
else if (index == 1) return '-';
else if (index == 2) return '*';
return '/';
}
void howObtain24(int num[], void *opt[])
{
int i, j, k, a, b, c, d;
int ans=0;
LOOP(i) LOOP(j) LOOP(k)
LOOP(a) LOOP(b) LOOP(c) LOOP(d)
{
if (a == b || a == c || a == d || b == c || b == d || c == d)
continue;
if (FI(FJ(FK(num[a], num[b]), num[c]), num[d]) == 24) {
std::cout << "((" << num[a] << whichOpt(k) << num[b] << ')'
<< whichOpt(j) << num[c] << ')' << whichOpt(i) << num[d] << endl;
ans++;
continue;
}
if (FI(FJ(num[a], num[b]), FK(num[c], num[d])) == 24) {
std::cout << '(' << num[a] << whichOpt(j) << num[b] << ')'
<< whichOpt(i) << '(' << num[c] << whichOpt(k) << num[d] << ')' << endl;
ans++;
continue;
}
}
if(ans==0)
std::cout << "Non-Answer" << std::endl;
return;
}
void *opt[N] = { (void *)add, (void *)sub, (void *)mul, (void *)div };继续忽悠二次元开发。
一般我们都是写程序,程序逻辑都是自己写的:
比如这样的程序,是自己构建逻辑的,全扫么。
Immutability
Functions as First Class TypesBeing able to compose functions.
Monads
Lazy Evaluation & Recursion我倒是有本书,叫 《程序设计语言的形式语义》, 不过还没啃完。
Xidorn Quan <quanx...@gmail.com>编写:
>我同意。
>
>不过其实拿出手写 qsort 更重要的一点是既然是比较代码性能,当然是要看得到明确的实现的。
>无论是 C 的 qsort 还是 C++ 的 sort,它们的实现是什么样谁也不知道,一些细节方面不同的实现也存在差异。
>比如说我印象中有些 C 的 qsort 并不是像我的程序中那样直接取中间值,而是取头、尾、中间三个值中的中间值。
>C++ 的 sort 在一些实现上,除了 qsort 以外,还有结合归并排序以确保 nlgn 的运行时间。
>如果变成这样的话,这就成了库的比较而不是代码性能的比较。
>
我同意。
形式逻辑就是断言什么的,概念,概念的外延,推断,以及实现这些推断的方法,同一,确定,不矛盾等等。
比如 这样的概念及外延说话其中包含的逻辑 :“所有金属都是导电的,镁是金属,所以镁是导电的”
“镁是活泼金属,活泼金属容易形成氧化层,氧化层是不良导体,所以对镁条的电阻测试过程中出现了奇怪现象。”
而我以为,prolog 或者 函数式编程在这个方向上介入过深 ,因为形式逻辑这事是关于思维的思维,二次元的思维,
不容易搞清楚,至少我以为目前人类对如何思维还不全面,更何况机器上的实现。
回到发贴处,是否可以通过最简短逻辑的堆叠,以及由外部导入的数据将简短逻辑的堆叠结果程式化,形成思维;
前面还发一个算24点的程序,程序运算的逻辑(人工编写的)就是将全部的输入数字和备选计算符号的排列,扫描符合的组合。这是一种固定输入(人工输入给定程序逻辑);
如果写另一个程序,大量输入数据,随机选运算符号,计算结果对的情况下,将计算过程存储;
再有输入的时候,从已有的存储的计算过程中寻找可能的计算规律,输出的结果。这样就不走形式逻辑深挖的道路了。
就这样,不在形式逻辑上深入发展下去,而从输入的数据和基本的逻辑入手,让自然解决这个问题。
On Monday, September 23, 2013 2:33:52 PM UTC+8, timekeeper wrote:听了各位大大的谈话,表示受益匪浅。
虽然不知道什么是形式逻辑(求指导),但是觉得作为一个数学专业渣渣,还是对Haskell很感兴趣的。
--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
这个,我始终认为(12年前就跟你讲过),应该用马尔可夫模型,最好是可变长度的马尔可夫(vom)
二阶的不好玩,要http://en.wikipedia.org/wiki/Variable-order_Markov_model才好玩。
这个话题有一些变种,比如我前面说的long-short-term memory, 还有probabilistic-suffix-tree,
或者context-tree,
训练方法有winnow等算法。
这里是刚挖掘来的开源项目
2013/9/24 Xidorn Quan <quanx...@gmail.com>:
> 2013/9/24 Chaos Eternal <chaose...@shlug.org>:完全没有说用C的次优化来比的意思。只是希望尽量有可比性。
>> 2013/9/24 Xidorn Quan <quanx...@gmail.com>:
>>> 为什么要按照 scheme 的思维方式写 C 的对应版?
>>> 之前说的不就是,既然很多人说 scheme 也可以被编译器优化的很快,那就看对于 qsort 这种算法,函数式能不能用更优雅的表达达到 C 做同样事情的效率。
>>
>> 我不知道你的point在哪里,有写的很快的C,也有写的很慢的C,难道你认为只有C才允许在写的时候优化,而别的语言不准?
>> 我写的第一版fib-c比比scheme跑的还慢,因为我不是个好码农,不知道这么说你满意了没有。。。
>>
>> 我之所以要说优化的事,是因为两个程序只有在算法上大致相当,才能比较,否则比什么呢?
>> 说的更具体点,比如给你两个单向链表,只知道head的时候,你能在O(1)内把他们连起来么?但是如果同时给你这两个链表的tail,
>> 问题就不一样了嘛。但是你会在所有的场合都要求有单链表的tail么?我看也不见得,特别是维护tail的时候带来的额外的复杂性,我看到了,你看到没有?
>
> 没有不允许你写的时候优化,我也希望你能写出一个最优化的 scheme 版本来做比较。
> 我想说的是,本身使用每个语言的思路就是不一样的,如果要比做一件事情的效率,当然是拿出两个语言最优化的方案来比,而不是为了比较,而要求另一方有意改用一个次优化的实现方式。
当我没说。
>
>> 靠C/C++吃饭无可厚非,但是如果眼里只有C/C++,那估计也挺可悲的。
>
> 不好意思,我不靠 C/C++ 吃饭。
>
> 你伤害了我,却一笑而过
>
我错了
果真就是这个了。
--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
那个啥,qsort 不对比测试一下吗?
100K?
就是 list 中 十万个项了。A8 A9 快多少,不过一个用CPU Cache ,一个不用,差上百倍还是惊到我了。
要是差百分之几十页也就算数了。
继续歪楼,水果公司才上A7-64 ,这个水果的 A7 是啥么稿? arm 里算几?
On Wednesday, October 9, 2013 1:05:14 PM UTC+8, liyaoshi wrote:100K?
--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
就是 list 中 十万个项了。A8 A9 快多少,不过一个用CPU Cache ,一个不用,差上百倍还是惊到我了。
要是差百分之几十页也就算数了。
继续歪楼,水果公司才上A7-64 ,这个水果的 A7 是啥么稿? arm 里算几?
--
WO KAO全志那是为了淘宝上面的卖家做图片的时候号码显得大 ,好卖吧armV8 应该是从corexA57开始
说到全至,A20那么火的玩意,后面就熄火了话说,ARM这块,现在除了高通,三星,苹果,有卖芯片挣钱的么?
三星的 硬盘很多是arm7的,cortex A9 太贵了吧, 或者你说的是ssd ?
话说卖A8 A9的,出个200w片,大家多觉得很牛逼的量了,买个m0 ,200w片,根本赚不到啥钱啊 0.34美元一个stm32 F0 ,卖个200万片,还不够上海中环一套房子值钱
我倒是有本书,叫 《程序设计语言的形式语义》, 不过还没啃完。
http://www.amazon.cn/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E7%9A%84%E5%BD%A2%E5%BC%8F%E8%AF%AD%E4%B9%89-Glynn-Winskel/dp/B0011AN65Y/ref=sr_1_1?ie=UTF8&qid=1379397127&sr=8-1&keywords=%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E7%9A%84%E5%BD%A2%E5%BC%8F%E8%AF%AD%E4%B9%89
将这个问题讲的比较深入。你要来拿。
然后关于谓词逻辑的语言,真心推荐prolog, 当然根据前文,用scheme也能实现prolog能实现的。
还有ACL2 (A Computational Logic for Applicative Common Lisp) is a
software system consisting of a programming language, an extensible
theory in a first-order logic, and a mechanicaltheorem prover.
我最近到确实在考虑对写的代码做形式证明的事情:
比如对于函数 f :N -> N (考虑到大部分的程序其实都是做这事的,我就简化一下)
用归纳法, 先证明f(1) 成立,然后证明若 f(k)成立则f(k+1)也成立,
后面这个就需要对f(k+1)进行形式转换,然后演绎证明了。
当然这涉及到高阶函数啊,alpha,beta, gamma变换啊等等,所以只是个想法,哈哈。
还是那句话,一起玩啊
2013/9/17 none_nobody <lyx...@gmail.com>:
> 先说,形式逻辑,基本语意定义上有概念、定义、判读、推论、演绎,推理(走的太远了)
>
> 自我构建是说,在给定(限定范畴)概念、定义、判断、推论的前提下,运行中形成模式化演绎或则归纳的结构,而无需人工编码。
>
> 如上述运行中形成.....人工编码不能实现。
>
> 则在函数式编程中,归纳和推理是如何做的,包括
> 基本逻辑 : 同一、不矛盾、排中、充足理由。
>
> 举例:一种定义 Add ( + int, int) 可以视为形式逻辑定义了一种概念 UserDefined_Oper (
> "oper_character" , ”type", "type" ), 同一概念是指:视 UserDefined_Oper 为 A , A->A,
> 这种 [ UserDefined_Oper ] 不可变,
>
> 粗略地说,是在 L2 上 UserDefined_Oper 去多态性。
>
> 在归纳演绎时,有如下过程 : 概念(定义)得到 推论。
>
> 我的问题在指这里如何定义这个归纳演绎的这个过程,或者程序运行中自动能构成归纳(自构建)
> 相应的还有类比推理、假设推理等。
>
> 上述的在这里可以类比于图结构学习中,在运行中调整节点和边的联系,形成的形式归纳。
>
>
>
> On Tuesday, September 17, 2013 11:07:46 AM UTC+8, Soahc Lanrete wrote:
>>
>> 先题外话:窃以为haskell的函数式太纯粹了。
>>
>> 然后不太明白你说的自我构建是什么意思,如果你是说first-class-function,那是所有的函数式都有的,类似的还有 currying
>> 这些。
>> 然后函数就可以返回一个函数然后再返回一个函数去计算你要的东西,当然闭包特性在这里起了很大的作用。
此外,A7中的安全区域中还拥有至少3MB的SRAM(静态随机存储器,不需要刷新电路就能保存存储数据),同时Chipworks还表示这款64位处理器的设计与A5、A6和A6X有相同的地方,如USB、LCD和相机接口。
与此同时,Chipworks还猜测A7处理器CPU核心可能整合了256KB的L1高速缓存和1MB的L2高速缓存,而双核CPU和高速缓存占据了模具区域17%的面积,而四核GPU以及共用逻辑占据大约22%的面积。
之前,Chipworks给出的结论还显示,A7是由三星代工制造的,而5S的拆解则显示,M7协处理器其实就是NXP LPC18A1。
L1 比我的PPC 7455 大。Level 1 Cache: 32 kB data, 32 kB instruction Level 2 Cache: 256 kB on-cpu。L1 超过推土机了。
Chipworks通过A7分析后得出,它是一款基于28nm工艺制程的双核处理器(ARM v8架构,主频为1.3GHz),内置的GPU为四核心(Power VR G6430),同时他们还发现了Secure Enclave(安全区域),而该区域就是苹果之前说的存储加密指纹数据的地方。此外,A7中的安全区域中还拥有至少3MB的SRAM(静态随机存储器,不需要刷新电路就能保存存储数据),同时Chipworks还表示这款64位处理器的设计与A5、A6和A6X有相同的地方,如USB、LCD和相机接口。
与此同时,Chipworks还猜测A7处理器CPU核心可能整合了256KB的L1高速缓存和1MB的L2高速缓存,而双核CPU和高速缓存占据了模具区域17%的面积,而四核GPU以及共用逻辑占据大约22%的面积。
之前,Chipworks给出的结论还显示,A7是由三星代工制造的,而5S的拆解则显示,M7协处理器其实就是NXP LPC18A1。
L1 比我的PPC 7455 大。Level 1 Cache: 32 kB data, 32 kB instruction Level 2 Cache: 256 kB on-cpu。L1 超过推土机了。
--
我很好奇这个图,跟乌鸦在没有月亮的晚上飞,有啥两样?
其实就是乌鸦暗夜飞啊,一只乌鸦是看不出来什么道理的,要是上万只乌鸦一起飞,总有是飞回到该去的地方的吧。
你的意思是,【先找出1000, 然后在剩下的数里面凑个0出来,最后把所有余下的数跟这个0相乘再加上那个1000 】, 就完事了?

这题目动态规划不是秒解么?