哦哇資訊網

談談計算機怎樣解幾何題

由 百科漫談 發表于 美食2022-12-31

引子

我家養的蟹爪蘭開花了

先請看下面這道題目:如圖,已知圓的半徑為10,圓內有一三角形,三邊長分別為5,6,7,求陰影部分面積(保留兩位小數).答案是299。46。如果你用筆算,需要多少時間?可計算機才用了0。2秒鐘。下面是一段計算這題的程式:

題目呈現

[例1]

10 LET A =5

20 LET B =6

30 LET C =7

40 LET P =( A + B +C) /2

50 LET S1= SQR ( P *( P - A )*( P - B )*( P -))

60 LET S2=3。14159*10*10

70 LET S3=S2-S1

80 PRINT S3

90 END

RUN

299。462062

如果你能編一些程式,計算機就可以幫助你解決許多許多問題。

……

談談計算機怎樣解幾何題

430079 武漢華中師範大學教育資訊科技工程研究中心

張景中 彭翕成

數學教學 2008年第8期

近幾年,我們在向中學老師介紹資訊科技的時候,不少老師對計算機自動解幾何題表示出強烈的興趣,想了解得更多一些,關於這個問題,筆者曾寫過一本科普讀物(文[1]= 計算機怎樣解幾何題——談談自動推理,院士科普書系,32開,131千字 ),但考慮到該書已經脫銷,讀者難以買到;再加上近幾年智慧教育軟體又有了新進展,所以很有必要再來談談這個問題。

認真起來,所謂計算機解幾何題這個說法,其實是有問題的.人是萬物之靈,計算機是人造出來的,它並不會解題,是人設計了一套一套用計算機解題的辦法,計算機只不過是工具,所以應當是人怎樣用計算機解幾何題,至於自動推理,其實也並不能自動,也是人出了主意推動計算機進行推理。就像腳踏車不會自己跑路,自來水不會自己到來一樣,不過大家仍然說腳踏車、自來水,這樣通俗生動,反正心裡明白,腳踏車要人蹬,自來水是水塔水泵壓過來的.

1.計算機的基本功能

我們若想運用計算機解題,首先就必須瞭解計算機的一些基本功能。計算機可供解題使用的基本功能大體上有4類:變數賦值,基本運算,條件選擇,迴圈操作.

第一,要記得住東西,如果記不住題目,或者是記不住解題的有關知識和方法,還解什麼題呢?光記住還不夠,還要能表達出來,解了題悶在肚裡表達不出來,不是白白辛苦一場了嗎?能記住我們要它記住的資訊,又能表達出來,這種功能主要透過變數賦值來實現.

第二,要會做基本的運算,計算機作計算肯定是不成問題的,否則怎麼叫計算機呢?不過我們這裡所講的計算,除了包含一般所說的數值計算,還包括符號計算功能。因為數值運算通常容易出現誤差,多步推導之後,誤差被積累,可能導致結果謬以千里。

第三,求解問題時,常常要根據不同的情形使用不同的公式和方法。 簡單到如一封信的郵費,還分平信、掛號、本地、外地以及是否超重.幾何問題的條件更是千差萬別計算機可以根據條件安排,自動區別不同的情形,執行不同的運算,這叫做條件選擇的功能。

第四,計算機的另一長處就是不怕枯燥麻煩一個運算或一套操作,讓它重複多少次它也不會罷工或埋怨,幾何問題有時要多次檢驗,有時要反覆探索,有時又要作大量演算.只要你一聲令下,它就老老實實幹起來,直到成預定次數或達到某個目標,這叫做迴圈操作功能

那麼,又如何呼叫計算機的這些基本功能來解題呢?鳥有鳥言,獸有獸語。計算機也有它與人交流的語言,就是程式設計語言,程式設計語言種類很多,各有特色,常用的如廣泛流行的 BASIC 語言,適於專業軟體開發的 C 語言,利於網上交流的 JAVA 語言,長於人工智慧程式的 LISP 語言等等,語言千變萬化,但萬變不離其宗,核心語句就是4類:賦值語句、基本運算語句、條件語句和迴圈語句,作用無非是用來指揮計算機執行4類基本功能、要想充分利用好計算機,首先得懂它的語言,而不管是什麼程式設計語言,熟練運用就好,這裡就不多說了

2.幾何解題花樣多

幾何題有計算題、證明題,還有作圖題,他們各有特點,又是相通的.兩千年來,人們積累了豐富的解幾何題的經驗、技巧和方法這些有待教給計算機的解題本領,大體可以分為4類:檢驗、搜尋、歸約和轉換,

計算和作圖都要有個道理,講清楚道理就是證明.古希臘人研究幾何最講究證明,中國古代的幾何學則講究計算,把畫圖和推理都歸結為計算,叫做寓理於算。計算、作圖和證明,問題的形式不同,卻也有相同之處.三類問題的前提,都可以用幾何圖形來表示。 幾何題可以轉化為計算,要證明兩條線段相等,只要算出兩者的比為1或差為0就行了,要說明計算是準確的,作圖過程是合理的,歸根結底要證明,三類問題在解決過程中都要推演論證,推演論證所用的規則又是一致的,這就是三者的相通之處。

要問計算機如何解幾何題,就得先看人如何解幾何題。當然,人和人不同,應該說要看幾何學家如何解幾何題.幾何學家拿到一個幾何題,有哪些高招呢?

第一,要畫畫看看,量量算算,看題目出得對不對,合理不合理,不合理就不做下去了,這叫做檢驗.

第二,根據條件,參照問題,試著東推推,西試試,推出來的東西有用沒用先記下來,這樣或許就解決了問題,解決不了,再想別的出路,說不定記下來的材料還有用,這叫搜尋.

第三,搜尋不出來,還可以抓住問題的目標(待證的結論、待求的幾何量、或待作的點與線),分析計算,化簡條件,消去中間的引數或幾何元素,力求水落石出,這叫歸約,

第四,當上述常規方法不能奏效時,人的智慧和靈感就成為取勝的源泉了,或用反證法、同一法,或加輔助線,或對部分圖形作平移旋轉,總之是改變問題的形式,以求化繁為簡.這叫轉換.

計算機是人的學生。它的本領是人教的,它是笨學生,不教不會但它又是好學生,會牢牢記住你教給它的方法,一絲不苟地按你寫好的程式去做.如果你循循善誘,它又能青出於藍,計算機解題靠人教,人會解一道題,把方法教給計算機,計算機就會解這道題,這道題中的數字換成字母,成了更一般化的一個題型,把處理這個題型的竅門教給計算機,計算機就會解這個題型的題,人掌握了一類題目的規律,把這規律總結提煉成有章可循的演算法,實現為程式,計算機本領就更大,會解這一類題了人掌握了方法,推演計算論證繁了或者累了,容易走神出錯;甚至時間長了,所掌握的方法遺忘了都有可能,但計算機一旦學會一套方法,就不會忘記,也很難出錯,做得飛快.

幾千年來,人們解幾何題的招數,層出不窮,爭奇鬥豔。概括起來,不外這4類:檢驗、搜尋、歸約和轉換,50多年來,數學家和計算機科學家費盡心思,循循善誘,把個中奧秘向計算機傳授.使得計算機解幾何題的能力日新月異,大放光彩,除了靈機一動加輔助線,或千變萬化的問題轉換之外,前三種方法計算機都學得十分出色了.用機器幫助,以至在某種程度上代替學者研究幾何,幫助以至代替老師指導學生學習幾何,已經從古老的夢想變為現實,

3.幾何代數化的道路

在幾何定理機器證明中,採用代數方法,引進座標,將幾何定理的敘述用代數方程的形式重新表達,證明問題就轉化成判定是否能從假設的代數方程推出結論的代數方程的問題,這樣把幾何問題代數化,自笛卡爾以來已是老生常談,並無實質困難。然而代數化的過程,座標點的選取和方程引進的次序都可能影響到後續證明的難度,甚至由於技術條件的限制,影響到證明是否可能完成,也就是說,幾何問題化成純代數問題之後,也並不見得一定容易,更不能說就能實現機械化了.這不僅是因為解決這些代數問題的計算量往往過大,令人望而卻步,還因代表幾何關係而出現的那些代數等式或不等式常常雜亂無章,使人手足無措.從這些雜亂無章的代數關係式中要找出一條途徑,以達到所要證的結論,往往要用到高度的技巧.換句話說,即使你不怕計算,會用計算機來算,也不知道從何算起,

解幾何題是思維的體操,是十分有吸引力的智力活動之一。圖形的直觀簡明,推理的曲折嚴謹,思路的新穎巧妙,常給人以美的享受,許多青少年數學愛好者,往往首先是對幾何有了濃厚的興趣。用計算機證明幾何問題,如果僅限於用平凡而繁瑣的數值計算代替巧妙而難於入手的綜合推理,則未免大煞風景,透過計算機的大量計算判斷命題為真,確實是證明了定理、這是有嚴謹理論基礎的.但這樣的證明寫出來只是一大堆令人眼花繚亂的算式、數字或符號,既沒有直觀的幾何意義,又難於理解和檢驗,這跟幾何教科書上十行八行就說得明明白白的傳統風格的證明大不相同,如果計算機給出的這一堆難於理解和檢驗的資料也算是幾何問題的解答,這種解答只能叫做不可讀的解答.

所幸的是,計算機不僅能計算,也能推理、只要我們會教,它也能學會傳統風格的幾何解題方法,我們希望的是,既要用計算機幫助人腦,減輕人的高階腦力勞動,還要在提高效率的同時,尋求傳統幾何的魅力。

4。尋求傳統風格的幾何證明

有經驗的老師講新課,總是從具體例子開始。同樣,我們給計算機當老師,教它用傳統的風格解決幾何問題,也要從具體例項開始,讓它知道傳統風格解幾何題是怎麼回事.

例1如圖1,平行四邊形 ABCD 中, AE ⊥ BD 於 E , CF⊥BD於 F ,求證 AE = CF 。

圖1

在初學幾何證明的時候,老師常常要求學生畫結構圖,再將結構圖整理成證明,而且每一步的推理都要寫出推理規則.下面就給出證明例題的結構圖以及整理後的證明過程。

圖片

讓我們像小孩子拆開玩具那樣,把上述命題和證明分解成一堆“零件”,看看它們是如組裝起來的.

先看看命題部分.它提供了有關問題的基本資訊:

1。 ABCD 是平行四邊形.這為證明中的[1]、[2]和[8]提供了理論依據.

2。 CF⊥BD, AE ⊥BD.這為證明中的[4] 和[6]提供了理論依據.

3.希望證明的結論: AE = CF .這是證明中[10]的內容,但不包括後面括號內的理由.

這表明題目所給的資訊都出現在證明過程之中了。這是有道理的,證明中不用的資訊,肯定是多餘的.

再看證明部分。它由11行組成,每行的前半段是一個判斷,或者說提供一條資訊,後半段,即括號裡的部分是這個判斷的理由,如果這個判斷來自命題的條件,則簡單地說“已知”,否則,就指出這條新資訊是由前面已經得到的哪些資訊推出來的,以及能夠進行這一步推理的依據——定理、定義等幾何知識。

可見,我們能寫出上述證明,如果不是死記硬背,那麼在頭腦中就一定要保留並運用兩類資源:命題所包含的幾何資訊,一般的幾何知識。如果說解幾何題有時需要靈感,那麼這靈感也只能在所掌握的幾何知識的基礎上產生,這就是所謂的熟能生巧.

5.自動推理的基本設想

在上述分析的基礎上,我們來描述一下解答產生的過程,以便為計算機提供榜樣,

在看到題目之前,已經掌握了有關的一般幾何知識:公理、定理、定義、公式,通稱推理規則,這是預先就存在頭腦裡的一個知識庫——推理規則庫。讀了題目之後,把題目提供的幾何資訊記在頭腦裡,這就形成了一個臨時的幾何資訊庫,不管你是不是意識到,你頭腦中一定有這兩個庫,否則就很難解題,如果你缺乏幾何知識(沒有推理規則庫)或記不清題目(沒有幾何資訊庫)十之八九不會成功.

然後進行思考,這就是將知識庫裡的推理規則應用於幾何資訊庫裡的資訊,推出了新資訊,就把新資訊和它的來歷(用了什麼推理規則和哪些舊的資訊都要記下來,不然就成了一筆糊塗帳)加到資訊庫裡,並不是每條新資訊都有用.可是在題目還沒完全解答出來的時候,天曉得哪條資訊有用,哪條資訊沒有用呢,還是統統記下來為妙,這種得到什麼要什麼的戰略叫做大英博物館方法,破盆子爛骨頭進了博物館說不定都是寶貝,反覆進行下去,這個過程叫做前推式幾何資訊搜尋過程.

如果你覺得腦子不夠用,記不住越來越多的資訊,不妨拿張草稿紙記一下。推理規則太多了記不住,也可以拿本數學手冊或幾何課本作參考,反正這又不是閉卷考試。

如果所有的推理規則都用了,還得不到新的資訊,就到此為止,別幹下去了,這表明幾何資訊庫再也不能擴大了,叫做達到了推理不動點,這時,如果幾何資訊庫中包含了所要證的結論或待求的幾何量,則解題成功,否則解題失敗.

通常我們隨時關注新資訊是否包含了所要的結論.結論一出來,不再去追求推理不動點解題成功,就可從你記下來的資訊當中提取有關的東西,組織成一個有條有理的證明或解法,解題失敗,並不意味著幾何資訊庫就沒用了.它可作為進一步思考的基礎,進一步思考的方向有:要不要多學點幾何知識,增加幾條推理規則;要不要加輔助線;要不要用同一法或反證法.

複雜的推理過程可以化為簡單的機械化的操作,但簡單的操作重複多次就不再簡單了.要提高效率,就又出現複雜的問題,許多幾何問題包含了大量的資訊,人在進行解題思考時能借助於直覺和經驗,抓住最關鍵的資訊得到解答,計算機卻靠機械地搜尋,大魚小魚一網打盡,工作量就非同小可了,譬如一個三角形和它的三條高線以及垂心,這是個很簡單的幾何圖形,用計算機搜尋幾何資訊,居然發現圖中有105組成比例的線段.

計算機在搜尋中得到的有用資訊很多,沒用的資訊就更多,而推理規則和資訊組匹配失敗的情形卻比比皆是,不幸的是,有用、無用的資訊都要經過檢查才能決定取捨,成功、失敗的匹配都要經過操作才能明白,要去掉大量失敗的操作而留下成功的匹配,檢查許多無用的資訊而獲取有用的結論,如同沙裡淘金。

這種一網打盡、涸澤而漁的搜尋推理,並不是什麼新的發現,而是一種古老的機械化推理設想,在沒有計算機的時代,也只能想想而已,一旦有了計算機,科學家就希望將之付諸實踐,但困難的是難以將這個一般性的想法用有效的演算法和程式實現.

用機械的方法解決千變萬化的幾何問題,曾是歷史上一些卓越的科學家的美好夢想,現在,這個夢想已經成為生活中的現實,這個成功來之不易,這是許多科學家多年努力的成果。其中,當代中國科學家的工作起了決定性的作用.機器證明經過50多年的發展,已經形成一個龐大的系統,在這裡就不多說了,也不是一篇文章能夠說清楚的,文末列舉了一些和平面幾何證明相關且較為通俗的文獻,可供讀者參考.

6.自動推理軟體的不斷成熟

從1998年起,《幾何專家》、《數學實驗室》等具備自動推理功能的數學軟體相繼問世,引起了國內外各界特別是數學教育界的廣泛關注。在這些研究的基礎上,我國又自主研發了《智慧教育平臺——超級畫板》,這是一個集動態幾何、符號運算、程式設計環境、自動推理等多項功能為一體的綜合性平臺,具有“人性化,智慧化,視覺化,動態化和程式化”等特點,下面我們就以例1為例,看看超級畫板的自動解題功能.

第一步,根據題意作好幾何圖形(圖1),由於超級畫板的智慧畫筆功能強大,所以畫出該圖形是相當容易的.

第二步,在推理選單中點選“自動推理”;此時,若仔細觀察,會發現螢幕底部的狀態列在飛快地變化,表示推理正在進行。

第三步,我們很快(大概4秒鐘)就能在螢幕

左邊看到自動彈出的“推理庫”,超級畫板共推匯出194條非平凡資訊;根據我們的需求,點選“線段相等資訊”前的“+”將之展開,找到我們需要的“ CF = AE “(圖2)。

推理庫

共194條非平凡資訊(推理時間:4。854238秒)

+[0]有值角的資訊共4條

-[2]線段相等資訊共6條

+[2,0] BC = DA

+[2,1]CD= BA

+[2,2]CF=AE

……

第四步,逐級單擊結論前的加號,即可看到推匯出該結論的依據,直到已知條件或者顯然為止(圖3)。

第五步,右鍵點選結論“ CF= AE ”,即可自動生成推理過程(圖4)。

談談計算機怎樣解幾何題

由於我們並沒有告訴計算機需要求證的結論,所以計算機就把它能夠推匯出來的所有資訊一股腦推匯出來,供我們選用.能在很短的時間內,推匯出這麼多有用的資訊,這正是計算機的威力所在,對比之後,我們會驚奇地發現,超級畫板推理庫中逐級展開的結構圖(圖3)以及自動生成的證明(圖4)與前面所說的人工的傳統證明幾乎沒有什麼差別,在圖3中,我們很容易看出,要證明線段相等,就要先證明線段所在的兩個三角形全等;而證三角形全等,可以採用 AAS 定理,這就要去找所需要的三個條件;這三個條件是並列關係,合起來作為三角形全等的理論依據,而這三個條件的滿足則來源於題目所給的資訊,看懂證明之後,你若懶得花時間書寫,則可讓計算機自動完成。

使用超級畫板的自動推理功能還有幾點需要說明.(1)當我們用滑鼠選中某一關係式時,譬如“ ∠DEA =∠ BFC ”,則該關係式所牽涉到的物件變色,並作出相應的標註,這非常有助於理解和學習;

(2)超級畫板的自動推理是相當詳盡的,最後的落腳點總是題目已知資訊或最基本的一些幾何知識,假如你在逐級展開的過程中,發現自己已經弄懂了題目,那麼就可以右鍵點選結論,沒有必要將所有的“+”都展開,而此時自動生成的證明也會隨之簡單很多.這就好比通常所說的,高手解題比較簡略,一些較明顯的結論被一筆帶過.

(3)學習是一個循序漸進的過程,所以要避免證明中用到學生還沒有學過的知識,可以根據學生的學習進度,選擇證明過程中可以選用的推理規則,而這也是可以設定的.

另外,對於牽涉到長度、角度等幾何量的題目,超級畫板還允許人工增添“附加條件”,計算機會根據圖形條件和新增的附加條件進行推理。

例2 如圖5所示,在△ ABC 中, AB =5, BC =13, AD 是 BC 上的高, AD =4,求 CD 。

談談計算機怎樣解幾何題

圖片

(1)作任意 △ABC (拖動到上圖近似的形狀,與問題中的數量關係保持接近);自點 A 作 BC 邊上的垂線段 AD 。

(2)單擊選單項“推理|新增附加條件或結論。。。。。”,結果彈出“增加條件或結論對話方塊”,如圖6所示,從“條件或結論”列表中,選擇“線段的值”型別的條件.

談談計算機怎樣解幾何題

(3)如圖7所示,在右邊物件列表中依次單擊點 A 、點 B ,將其增加到條件物件列表框中;同時在條件編輯框中出現條件的型別和物件,將待增加的條件修改為:( segmentvalue A B 5)。

談談計算機怎樣解幾何題

圖8

(4)單擊[增加已知]按鈕,將條件增加到條件列表框,從物件列表框中,依次單擊點 B 和點 C ,然後將待增加的條件修改為:( segmentvalue B C 13),單擊【增加已知】按鈕,將條件增加到條件列表框.

(5)從物件列表框中,依次單擊點 A 和點 D ,如圖8所示,然後將待增加的條件修改為:( segmentvalue A D 4),單擊【增加已知】按鈕,將條件增加到條件列表框。

(6)單擊【確定】按鈕退出後,單擊選單命令“推理丨自動推理”,計算機開始進行根據已知圖形條件和增加的輔助條件進行推理,推理結束後,推理工作區自動被啟用。這時可以看到推理得到的結果,如圖9所示,開啟“有值線段的資訊”列表,可以看到推匯出線段 CD 的長度.依次開啟推理資訊列表,可以看到推理的依據。右健單擊結論“ CD =10”,在作圖區自動列出演繹推理文字物件(圖10)

談談計算機怎樣解幾何題

圖9和圖10

本文所舉例項都很簡單,為的只是告訴大家計算機是如何解幾何題的,同時也向大家展示了超級畫板自動推理的一個過程,我們以後的文章將列舉一些有難度的例項,詳盡介紹超級畫板的自動推理功能。有興趣的讀者也可參看[文7]。

參考文獻

[1]張景中,計算機怎樣解幾何題——談談自動推理,清華大學出版社;暨南大學出版社.2000。

[2]吳文俊主編,王者之路——機器證明及其應用、湖南科學技術出版社.1999。

[3]張景中,平面幾何新路解題研究,四川教育出版社.1994。

[4]孫熙樁,平面幾何定理的機器證明,廣西教育出版社.1999。

[5]吳文俊,幾何定理機器證明的基本原理初等幾何部分.科學出版社.1984。

[6] Shang - Ching Chou , Xiao - shan Gao ,

Jing - zhong Zhang 。 Machine Proofs in Geometry : Automated Production of Readable Proofs for Geometry Theorems 。 World Scientific 。1994。

[7]李傳中、左傳波,超級畫板範例教程,科學出版社,2004。

談談計算機怎樣解幾何題

談談計算機怎樣解幾何題

談談計算機怎樣解幾何題

科學尚未普及,媒體還需努力。感謝閱讀,再見。

TAG: 幾何推理計算機證明資訊