智能通用逻辑问题解题器,能够解决诸(zhū)如爱因斯坦难题(tí)之类的逻辑题目。
为了能够表达现实的(de)逻辑题目,软件作者(zhě)设计(jì)了(le)一门语言,这门语(yǔ)言一方面(miàn)很(hěn)简单,另一方面(miàn)也具有(yǒu)很强的(de)表达能力。对于一个实际(jì)的逻辑问题(tí),用户只需要用(yòng)这门语言描述一下,就可一交给程序(xù)搜(sōu)索需要的(de)解。同时用户还可以按照自己的需求定义输出的格式。
五(wǔ)一的时(shí)候(hòu)我发(fā)现一本(běn)逻(luó)辑题目的小册子(zǐ),买过来之后本想做做脑力(lì)体操消磨一下时间,可是做了不到3到题我(wǒ)就不耐(nài)烦(fán)了,闲下来我就想能否(fǒu)写一个程序(xù)让计算机(jī)去求解这类问题呢,经过整个假期的努力居然做成了,欣喜之余(yú)我(wǒ)忍(rěn)不住(zhù)就想把它共享出来。
首先我们(men)看一下书里面的第(dì)一个题目:
斯科特(tè)先(xiān)生(shēng)、他的妹妹、他的儿子、他的女儿都是网球选手。关于这四人有(yǒu)以下的(de)情况:
(1) 最(zuì)佳选手的的(de)孪生同胞与最差(chà)选(xuǎn)手(shǒu)的性别(bié)相同。
(2) 最佳选手与最差选手的年龄相(xiàng)同
请问(wèn)谁是(shì)最佳(jiā)选(xuǎn)手
对(duì)于这样的问题,我的第一(yī)个困难(nán)是如何让(ràng)计算机理解它,经过分析我设计了一门描述这类(lèi)问题的语(yǔ)言(yán),只(zhī)要输(shū)入这种语言的文件,计算机就能为你(nǐ)自(zì)动搜索(suǒ)出(chū)所要的结果。为了让读者对这(zhè)门语言有一个感(gǎn)性的(de)认识,下面给出描述最佳选手问题(tí)的(de)输入:
所有人(rén){} = {"斯科特","妹妹","儿子","女儿"};
性别{} = {"男","女(nǚ)"}; 年龄{} = {1,2,3,4};
年龄 year(所(suǒ)有人); 性别 sex(所有人(rén));
所(suǒ)有人 同胞(所有(yǒu)人); 所有人 最差(chà),最佳;
sex("斯科特") = "男(nán)"; sex("妹妹") = "女"; sex("儿子(zǐ)") = "男"; sex("女儿") = "女";
year("斯科特") > year("儿子"); year("斯科特") > year("女(nǚ)儿");
同胞("斯科特")="妹妹";同胞("妹妹")="斯(sī)科特";
同(tóng)胞("儿子")="女(nǚ)儿";同胞("女儿") = "儿子";
最佳 != 最差;
year(最(zuì)佳) = year(同胞(bāo)(最佳)); //(1)最佳(jiā)选手的的孪生同胞
sex(同胞(最(zuì)佳)) != sex(最差); //(1)
year(最差) = year(最(zuì)佳); //(2)
输出 { "最佳选手是: " 最佳 }
假如上面的文本保存在一个”最(zuì)佳(jiā)选手.txt”文件中,在得到(dào)了我(wǒ)的znlog.exe程序后在控制台下输(shū)入”znlog最佳选手.txt”就会产生 “最佳(jiā)选手是: 女儿(ér)”的输(shū)出。
如果得到(dào)了ZnLogWin.exe程序,只需用此程序(xù)打开 最(zuì)佳选手.txt 文件就能(néng)在输出窗口产(chǎn)生结果。
狭义上逻辑既(jì)指 思维的规律,也(yě)指(zhǐ)研(yán)究思维规律的(de)学科即逻(luó)辑学(xué)。广义上(shàng)逻辑泛指规律,包括思维规律和客观规律。逻辑包(bāo)括形式逻辑与辩证逻辑,形式逻辑包括归纳(nà)逻(luó)辑与演绎(yì)逻辑.
逻辑指的是(shì)思(sī)维的规律和规则,是对思维过(guò)程的抽象。
从狭义来讲(jiǎng),逻辑就是指 形式逻辑(jí)或抽(chōu)象逻辑,是指人的(de)抽象思维的逻辑;广义来讲,逻辑还包括具象逻辑(jí),即人的(de)整(zhěng)体思维(wéi)的逻辑。
