能否通过数学手段实现自动化程序设计

在可以预见的时间内是无法实现的。程序自动化设计实际上就是程序综合。程序综合面临这么一个尴尬的窘境,若想要实现程序自动化设计,不是不可以,但是需要把需求全部形式化,这个的代价是让程序员写程序的十倍。而题主所说的程序自动证明也是不可能。根据哥德尔不完备性定理,程序是不具备归纳能力的,即无法处理循环不变量。一定要有人补充知识,才可能实现证明。
■网友
可计算理论里面有一个定理:不存在一个部分可计算函数能否通过数学手段实现自动化程序设计
使得,对任意递归可枚举集能否通过数学手段实现自动化程序设计
,若其为可计算集那么能否通过数学手段实现自动化程序设计
给出计算 【能否通过数学手段实现自动化程序设计】 能否通过数学手段实现自动化程序设计
的程序编号。所以要想自动化的对任意问题给出其算法是不可能的。事实上就算某些问题是可以计算求解的,比如一阶逻辑的谓词归结(用于自动推理),它的复杂度也非常高并不能实际应用。(题主可以试一下Prolog)关于自动问题求解,在人工智能里面已经讨论过很多了,有各种基于搜索、推理、启发式的方法。最近比较火的机器学习也可以看做某种自动化的问题求解方法(从数据反推出算法)。


    推荐阅读