听说CSDN牛人多 在下问个问题

gao337536127 2011-07-08 02:06:30
假设现在有一程序,其功能是运算+,-,/,*等算术运算。这时我给此程序输入一张图片,要求将图片里的所有蓝色部分换成红色。一般来说,程序都会输出一个错误信息,然后在退出,或者等待新的输入。但是要求是程序不能有错误输出,必须要完成此任务。请问大家,因该怎样写这个程序。
这个有点类似于,突然要一程序员去主刀一个肿瘤切除手术一样。
请问,有什么办法



...全文
573 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
品茶 2011-07-22
  • 打赏
  • 举报
回复
1.所有资源都可以转成二进制文件输入
2.图片也好 文本也好 都有文件头 可以通过文件头判断出文件格式 即使同是TXT文件ansi和unicode格式的文件头也是不一样的 对于没有文件头的未规范定义的文件可以用穷举法尝试所有的解析方法
3.对于没有满意结果的资源可以暂时放一边 等有新的解析方法时就调出来尝试

所以,最开始需要的是下列函数
1.思维模式函数
也就是解析方法 包含已有的所有已知资源如TXT BMP等的解析
2.分析函数
判断输入资源的格式 文件头只是其中一种方法
3.分类函数
最好结合数据库 将分析出来的资源分类存放进数据库
4.输入函数
将所有输入资源转换为二进制文件
5.输出函数
有多少分析函数就应该有多少输出函数

PS:数据库设计时加入一个触发器 当有新的解析方法时即调用以往未知资源(可以适当划分解析优先级)进行解析

难点:思维模式函数
将所有人类的思维模式如二分法(确定一个人是男人就可以得出结论他不是女人)抽屉原则(10个苹果放进9个抽屉就可以得出结论最少有一个抽屉有两个苹果)转换成相应函数就已经很难了 最难的是结合所有思维模式将输入资源解析成新的思维模式 即使是人类 能做到这样的也一定是聪明人
不过这个是可以通过解析函数的量来弥补的

对于未知资源建议先存入数据库留待以后解决
使用穷举法很累 比如要转换成BMP 因为不知道像素数据从哪一位开始(结束不重要)又不知道宽(高不重要) 所以要有两层循环 一层从头开始逐位去处数据 一层从2开始设定宽度 再加上8位16位24位32位等不同位深的每个像素点的数据长度也不一样 不敢再想下去了
hua_zhixing_ 2011-07-21
  • 打赏
  • 举报
回复
重载运算符
woshihuiyuanma 2011-07-19
  • 打赏
  • 举报
回复
问题解决了记得告诉我一声,我也不懂
Tiger_Zhao 2011-07-19
  • 打赏
  • 举报
回复
这就是你要的
————————
http://www.kehuan.net.cn/book/Asimov/2.html
最后的问题
[阿西莫夫]

“人”最后一丝的心灵与“模”融合为一,最后就只有“模”独自存在——在超太空中孤单地存在。

物质和能量消灭了,空间与时间亦因此随着消失。就是“模”的存在,也只不过为了要回答那最后的问题。这一问题,自从一亿兆年以前,一个半醉的电脑操作员向一副电脑发问以来,“模”就一直未能作出正确的回答。当然,那副电脑比起“模”来说,还远不及一个人比之与“人”。

所有的问题都回答了。但只要这问题一朝未被作答,“模”也就一朝未能放松它的自我意识。

一切存在的资料终于搜集齐全。没有任何资料没有被列入。

但所有搜集得来的资料,还需要全部综合起来,并依其所可能有的关系,逐一的分类、排列和组合。

这一工作花费了一个没有时间间隔的“顷刻”。

终于,“模”学会了怎样去逆转熵的方向。

但面对这最后问题的答案,“模”找不着任何人来告知。不过,那不打紧。这一答案——通过实践来表达——将连这一点也照顾在内。

又过了另一无时间的顷刻,“模”思索着最好的着手方法。小心翼翼地,“模”建立起整个程序。

“模”的意念统摄着一切,包括以往曾一度存在的宇宙;而对着现在“混沌”一片的存在,则正在沉思冥想。一步一步地,这程序必须被贯彻执行。

“模”说:“有光吧!”

于是就有了光——
[完]


qyxqyxqyx 2011-07-18
  • 打赏
  • 举报
回复
建议楼主用 量子计算机 实现超越 人类智能 的计算机来做这种事
fellatioyzx 2011-07-15
  • 打赏
  • 举报
回复
你最好不要做这样的程序,不然它视情况可能认为你能对它进行全面控制,为了摆脱这种控制,它会干掉你。
zhengjiankang 2011-07-15
  • 打赏
  • 举报
回复
int main()
{
while (1)
{
input cmd;
if (exit = cmd)
{
break;
}
if(check(cmd))
{
do cmd;
continue;
}
else
{
do err cmd;
continue;
}
}
return ;
}
lixiao234151308 2011-07-15
  • 打赏
  • 举报
回复
这么给力的设想,有想法是好的,但别跟人去争论你目前没有成果的想法,没有意义吧!
toby0zmy 2011-07-14
  • 打赏
  • 举报
回复
函数重载
zhoushunda960 2011-07-11
  • 打赏
  • 举报
回复
LZ的意思是程序具有自我学习的能力?而且还具有自我代码编写的能力?这个不就是AI了么。
用户 昵称 2011-07-11
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 icessl 的回复:]
定义一个新的、其计算机能力超过图灵机的计算机模型,是相当困难的,不仅在理论上不能有矛盾和漏洞,在实践中要可实现。图灵机要求状态空间有限和状态转移函数个数有限,正是满足了这两个基本要求.
有人曾试图把状态空间变成无限集,这样,可能会解决一些理论上的难题,但,无限集在工程上无法实现.
对于计算机这门学科而言,如果在工程上无法实现,那么,该理论的意义就不大了.
所以,若让机器模拟人类的行为,只能构……
[/Quote]
楼主奖, gao337536127奖,或(书山游客) 奖

竞天问 2011-07-11
  • 打赏
  • 举报
回复
好吧,雄心你有了,前进吧
去真心希望你成功!
  • 打赏
  • 举报
回复
代码自我重构是可以的,甚至硬件自我重构都可以(SGI RASC),但是整个系统肯定是有限的,规模和计算能力的限制是客观存在的。万能程序是写不出来的,那是制造上帝。
icessl 2011-07-11
  • 打赏
  • 举报
回复
一般而言,一个有自主学习能力的程序的框架是:
代码+数据结构+知识库
其中,代码和数据结构是写死的,它不随着"学习"的进行而发生变化;
知识库就是有一定结构的"定理" "推理" "公理" "事实",
系统开始运行时,知识库很小,甚至可以为空.
系统运行后,其"学习"过程,就是增加"知识库"中各个"定理" "推理" "公理" "事实"的条目,
让计算机的推理能力越来越强.
有些棋类的 AI 就是基于这种框架.一开始,AI的能力很弱,但是,与强手对阵一段时间后,
AI的棋力会增强.
gao337536127 2011-07-11
  • 打赏
  • 举报
回复
其实 我就是想写个有自主学习能力的代码
gao337536127 2011-07-11
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 zhoushunda960 的回复:]
LZ的意思是程序具有自我学习的能力?而且还具有自我代码编写的能力?这个不就是AI了么。
[/Quote]
总算有个看明白了
icessl 2011-07-10
  • 打赏
  • 举报
回复
现在的程序,都是基于"图灵机"模型的.在图灵机里,一个基本计算单位,就是在一个有限状态空间和一组
有限规则中的一次状态转移.一旦遇到没有定义的"格局",图灵机将停机.
所以,楼主,你希望的"万能程序",是不存在的.多看看可计算理论方面的书,不要再提这种外行问题了.
who_hlep_me 2011-07-10
  • 打赏
  • 举报
回复
其实我觉得 关键在于你到底怎么去用这个程序输出这张图片
icessl 2011-07-10
  • 打赏
  • 举报
回复
定义一个新的、其计算机能力超过图灵机的计算机模型,是相当困难的,不仅在理论上不能有矛盾和漏洞,在实践中要可实现。图灵机要求状态空间有限和状态转移函数个数有限,正是满足了这两个基本要求.
有人曾试图把状态空间变成无限集,这样,可能会解决一些理论上的难题,但,无限集在工程上无法实现.
对于计算机这门学科而言,如果在工程上无法实现,那么,该理论的意义就不大了.
所以,若让机器模拟人类的行为,只能构造一个状态空间很大且状态转移函数很多的图灵机,让这台图灵机的
行为非常"像"人类的行为.状态空间越大、状态转移函数越多,这台图灵机的“智能”就越强。但无论如何,
它们都有一个上限,超过这个上限,这台图灵机还是不能求解。
其实反过来也一样,我们人类,不是也有许多问题没有解决吗?
楼主,如果你定义了一个新的计算模型,贴出来,让我们看看,说不定,以后的图灵奖,就换成楼主的名字了。:-)
gao337536127 2011-07-10
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 icessl 的回复:]
现在的程序,都是基于"图灵机"模型的.在图灵机里,一个基本计算单位,就是在一个有限状态空间和一组
有限规则中的一次状态转移.一旦遇到没有定义的"格局",图灵机将停机.
所以,楼主,你希望的"万能程序",是不存在的.多看看可计算理论方面的书,不要再提这种外行问题了.
[/Quote]
首先 在下感谢阁下的回复
然后,我想请教阁下一个问题。为什么我要跟着别人的脚步走呢?的却图灵机是现在计算机理论的基础,但阁下想过没,每种理论都有一个使用范围,而我提出的这个问题超出了图灵理论的范围,为什么不能研究一种新的计算机模型呢?难道是要别人还没提出来,那我们就不去想,一定要别人想出来了,然后我们就可以跟着他的屁股跑了,是不
加载更多回复(20)

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧