网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月30日漏签0天
强人工智能吧 关注:3,765贴子:50,456
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 22回复贴,共1页
<<返回强人工智能吧
>0< 加载中...

关于“自动编程”

  • 只看楼主
  • 收藏

  • 回复
  • 伪数学家
  • 反复抽象
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一楼百度


  • 伪数学家
  • 反复抽象
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最近看到朋友圈有人在传“谷歌的autoML可以自动编程,让程序员下岗"
由此联想到吧友们常讨论“自动编程”的相关问题,在此借宝地发表一些自己的看法


2025-08-30 11:51:52
广告
不感兴趣
开通SVIP免广告
  • 伪数学家
  • 反复抽象
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1、google的autoML
今年五月发布的,一种自动设计神经网络的算法。
“自动设计神经网络”是否等价于“自动编程”呢?
答案是:是。
因为神经网络和一般程序的表达能力是相同的,都是图灵完全的。
了解编译原理的吧友可能知道,程序的编译过程可以转化成关于预算的拓扑结构图,他会等价于某个神经网络。
对应的,神经网络也可以写成算式运算的形式用程序来表示。
其实,这种自动设计神经网络的想法其实很多年前就有了,以前叫做“自组织神经网络”。
google这次只是用了一种新的算法来实现类似的功能,取得了更好的效果。
可以在百度上搜一下,好多关于autoML的新闻...


  • 伪数学家
  • 反复抽象
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
2、LISP+遗传算法
LISP是一种语法比较特殊的编程语言。曾经LISP受吹捧过一段时间,其受到吹捧的原因就是其结构非常适合自动编程
程序结构上自动修改比较方便,因为其语法和逻辑的关系非常清晰。
比如通过两个已有的程序,很容易设计某种方法从两个程序上各取一部分拼成新的程序,新程序仍然可以运行。所以有人提出用遗传算法来优化LISP程序
一般的程序语言比如C语言,把两个程序来杂交得出的新程序通常是不符合语法规范的,所以不适合遗传算法。
其实不仅仅使用遗传算法,在LISP上使用其他办法来自动编程也有人提出来过


  • 伪数学家
  • 反复抽象
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
3、Inductive logic programming
我的一个大学的ACM竞赛的队友曾经做过这个,我也不知道中文名该怎么翻译,大约叫“诱导逻辑编程”
感兴趣的吧友可以上英文维基百科上搜一下Inductive logic programming
你可以输入很多逻辑规则(现象),此方法可以找到一个程序满足所有规则


  • 伪数学家
  • 反复抽象
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
4、LSTM
LSTM是一种特殊的神经网络结构(也就是说他是神经网络的一个子集,前文已经论述过神经网络是图灵完全的)
曾有人证明过LSTM也是图灵完全的,理论上可以构造一个LSTM来替代任何程序(如果这个LSTM节点足够多的话)。
但实际上没有听谁说这么做过,可能是性能太差或者是难以训练


  • 伪数学家
  • 反复抽象
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
5、自动bug检查
自动在程序中找bug
这种技术在工业上已经广泛应用,某种程度上来说这也是自动编程。
(但是这可能不是吧友们想要的那种“自动编程”)
大约的技术有三种:代码扫描,模型检测,和机器辅助的正确性证明。
后两种需要人为干预,做不到完全自动化。
其实平常编程的时候编译器报出来的警告信息也可以算是一种最简单的“自动bug检查”


  • 伪数学家
  • 反复抽象
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
6、编译器的代码优化
有编程经验的朋友大概知道,编译器开优化和不开优化性能有很大差别(比如VC和GCC的O2优化)。
这种实际上是对于已有的程序,不改变功能的前提下,对它进行改写,优化其性能。
或者应该叫“性能优化”更合适
或者有些吧友会认为这不算“自动编程”,
但我认为“性能优化”比前面说的那几种自动编程的价值大得多,原因以下文会详细解释


2025-08-30 11:45:52
广告
不感兴趣
开通SVIP免广告
  • 伪数学家
  • 反复抽象
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
“自动编程”与“机器学习”的区别
其实这两者只是说起来的侧重点不同,并没有绝对的区别。
“机器学习”其实也可以看成一种受到限制的自动编程
比如最小二乘拟合的机器学习,学到的其实是一个函数,但它只能是线性函数
(最小二乘拟合就是:给一组x1,x2,x3..xn,和y1,y2,y3...yn,寻找最合适的a、b,使得尽量满足y=ax+b)
用“机器学习”的最小二乘拟合找到了a和b之后,也就相当于是用“自动编程”算法编出了一个f(x)=ax+b的函数。
最小二乘拟合只是一个简单例子,实际上有很多机器学习算法可以学非常复杂的函数,而不限于是线性函数。
“机器学习”与“自动编程”非常接近的。


  • jiangshiken
  • 元操作
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 成都精天科技
  • 模仿学习
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
类似这种方式也许能代替自动编程


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 22回复贴,共1页
<<返回强人工智能吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示