演算法邏輯下
『壹』 演算法一般遵循什麼化的邏輯
演算法一般遵循順序結構、選擇結構、循環結構三種基本邏輯結構。
1、順序邏輯結構
順序結構是最簡單的演算法結構,框與框之間,語句與語句之間,都是按照它們出現的先後順序依次進行的,即它是由若干個依次執行的處理步驟組成的。
2、選擇邏輯結構
在一個演算法中,遇到條件判斷、演算法的流程根據條件是否成立有不同的流向,這種先根據條件作出判斷,再決定執行哪一種操作的結構稱為選擇結構。
3、循環邏輯結構
需要重復執行同一操作的結構稱為循環結構,即從某處開始,按照一定條件反復執行某一處理步驟,反復執行的處理步驟稱為循環體。
(1)演算法邏輯下擴展閱讀
三種演算法基本邏輯結構的共同特點是:
1、只有一個入口和出口。
2、結構內的每一部分都有機會被執行到,也就是說對每一個框來說都應當有一條從入口到出口的路徑通過它,如圖中的A,沒有一條從入口到出口的路徑通過它,就是不符合要求的演算法結構。
3、結構內不存在死循環,即無終止的循環,像右圖就是一個死循環,在流程圖中是不允許死循環的。
『貳』 演算法的三種基本邏輯結構是
1.順序結構
2.選擇結構,又稱選取結構或分支結構
3.循環結構,又稱重復結構--有兩類:當型循環結構;直到型循環結構
『叄』 演算法的邏輯結構包括______、______、______
演算法的三種基本結構是順序結構、條件結構、循環結構,
故演算法的邏輯結構包括順序結構、條件結構、循環結構
故答案為:順序結構、條件結構、循環結構
『肆』 演算法三種邏輯結構共同點與不同點
1. PID調試步驟
沒有一種控制演算法比PID調節規律更有效、更方便的了。現在一些時髦點的調節器基本源自PID。甚至可以這樣說:PID調節器是其它控制調節演算法的媽。
為什麼PID應用如此廣泛、又長久不衰?
因為PID解決了自動控制理論所要解決的最基本問題,既系統的穩定性、快速性和准確性。調節PID的參數,可實現在系統穩定的前提下,兼顧系統的帶載能力和抗擾能力,同時,在PID調節器中引入積分項,系統增加了一個零積點,使之成為一階或一階以上的系統,這樣系統階躍響應的穩態誤差就為零。
由於自動控制系統被控對象的千差萬別,PID的參數也必須隨之變化,以滿足系統的性能要求。這就給使用者帶來相當的麻煩,特別是對初學者。下面簡單介紹一下調試PID參數的一般步驟:
1.負反饋
自動控制理論也被稱為負反饋控制理論。首先檢查系統接線,確定系統的反饋為負反饋。例如電機調速系統,輸入信號為正,要求電機正轉時,反饋信號也為正(PID演算法時,誤差=輸入-反饋),同時電機轉速越高,反饋信號越大。其餘系統同此方法。
2.PID調試一般原則
a.在輸出不振盪時,增大比例增益P。
b.在輸出不振盪時,減小積分時間常數Ti。
c.在輸出不振盪時,增大微分時間常數Td。
3.一般步驟
a.確定比例增益P
確定比例增益P 時,首先去掉PID的積分項和微分項,一般是令Ti=0、Td=0(具體見PID的參數設定說明),使PID為純比例調節。輸入設定為系統允許的最大值的60%~70%,由0逐漸加大比例增益P,直至系統出現振盪;再反過來,從此時的比例增益P逐漸減小,直至系統振盪消失,記錄此時的比例增益P,設定PID的比例增益P為當前值的60%~70%。比例增益P調試完成。
b.確定積分時間常數Ti
比例增益P確定後,設定一個較大的積分時間常數Ti的初值,然後逐漸減小Ti,直至系統出現振盪,之後在反過來,逐漸加大Ti,直至系統振盪消失。記錄此時的Ti,設定PID的積分時間常數Ti為當前值的150%~180%。積分時間常數Ti調試完成。
c.確定積分時間常數Td
積分時間常數Td一般不用設定,為0即可。若要設定,與確定 P和Ti的方法相同,取不振盪時的30%。
d.系統空載、帶載聯調,再對PID參數進行微調,直至滿足要求。
2.PID控制簡介
目前工業自動化水平已成為衡量各行各業現代化水平的一個重要標志。同時,控制理論的發展也經歷了古典控制理論、現代控制理論和智能控制理論三個階段。智能控制的典型實例是模糊全自動洗衣機等。自動控制系統可分為開環控制系統和閉環控制系統。一個控制系統包括控制器、感測器、變送器、執行機構、輸入輸出介面。控制器的輸出經過輸出介面、執行機構,加到被控系統上;控制系統的被控量,經過感測器,變送器,通過輸入介面送到控制器。不同的控制系統,其感測器、變送器、執行機構是不一樣的。比如壓力控制系統要採用壓力感測器。電加熱控制系統的感測器是溫度感測器。目前,PID控制及其控制器或智能PID控制器(儀表)已經很多,產品已在工程實際中得到了廣泛的應用,有各種各樣的PID控制器產品,各大公司均開發了具有PID參數自整定功能的智能調節器(intelligent regulator),其中PID控制器參數的自動調整是通過智能化調整或自校正、自適應演算法來實現。有利用PID控制實現的壓力、溫度、流量、液位控制器,能實現PID控制功能的可編程控制器(PLC),還有可實現PID控制的PC系統等等。 可編程式控制制器(PLC) 是利用其閉環控制模塊來實現PID控制,而可編程式控制制器(PLC)可以直接與ControlNet相連,如Rockwell的PLC-5等。還有可以實現PID控制功能的控制器,如Rockwell 的Logix產品系列,它可以直接與ControlNet相連,利用網路來實現其遠程式控制制功能。
1、開環控制系統
開環控制系統(open-loop control system)是指被控對象的輸出(被控制量)對控制器(controller)的輸出沒有影響。在這種控制系統中,不依賴將被控量反送回來以形成任何閉環迴路。
2、閉環控制系統
閉環控制系統(closed-loop control system)的特點是系統被控對象的輸出(被控制量)會反送回來影響控制器的輸出,形成一個或多個閉環。閉環控制系統有正反饋和負反饋,若反饋信號與系統給定值信號相反,則稱為負反饋( Negative Feedback),若極性相同,則稱為正反饋,一般閉環控制系統均採用負反饋,又稱負反饋控制系統。閉環控制系統的例子很多。比如人就是一個具有負反饋的閉環控制系統,眼睛便是感測器,充當反饋,人體系統能通過不斷的修正最後作出各種正確的動作。如果沒有眼睛,就沒有了反饋迴路,也就成了一個開環控制系統。另例,當一台真正的全自動洗衣機具有能連續檢查衣物是否洗凈,並在洗凈之後能自動切斷電源,它就是一個閉環控制系統。
3、階躍響應
階躍響應是指將一個階躍輸入(step function)加到系統上時,系統的輸出。穩態誤差是指系統的響應進入穩態後,系統的期望輸出與實際輸出之差。控制系統的性能可以用穩、准、快三個字來描述。穩是指系統的穩定性(stability),一個系統要能正常工作,首先必須是穩定的,從階躍響應上看應該是收斂的;準是指控制系統的准確性、控制精度,通常用穩態誤差來(Steady-state error)描述,它表示系統輸出穩態值與期望值之差;快是指控制系統響應的快速性,通常用上升時間來定量描述。
4、PID控制的原理和特點
在工程實際中,應用最為廣泛的調節器控制規律為比例、積分、微分控制,簡稱PID控制,又稱PID調節。PID控制器問世至今已有近70年歷史,它以其結構簡單、穩定性好、工作可靠、調整方便而成為工業控制的主要技術之一。當被控對象的結構和參數不能完全掌握,或得不到精確的數學模型時,控制理論的其它技術難以採用時,系統控制器的結構和參數必須依靠經驗和現場調試來確定,這時應用PID控制技術最為方便。即當我們不完全了解一個系統和被控對象,或不能通過有效的測量手段來獲得系統參數時,最適合用PID控制技術。PID控制,實際中也有PI和PD控制。PID控制器就是根據系統的誤差,利用比例、積分、微分計算出控制量進行控制的。
比例(P)控制
比例控制是一種最簡單的控制方式。其控制器的輸出與輸入誤差信號成比例關系。當僅有比例控制時系統輸出存在穩態誤差(Steady-state error)。
積分(I)控制
在積分控制中,控制器的輸出與輸入誤差信號的積分成正比關系。對一個自動控制系統,如果在進入穩態後存在穩態誤差,則稱這個控制系統是有穩態誤差的或簡稱有差系統(System with Steady-state Error)。為了消除穩態誤差,在控制器中必須引入「積分項」。積分項對誤差取決於時間的積分,隨著時間的增加,積分項會增大。這樣,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩態誤差進一步減小,直到等於零。因此,比例+積分(PI)控制器,可以使系統在進入穩態後無穩態誤差。
微分(D)控制
在微分控制中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關系。 自動控制系統在克服誤差的調節過程中可能會出現振盪甚至失穩。其原因是由於存在有較大慣性組件(環節)或有滯後(delay)組件,具有抑制誤差的作用,其變化總是落後於誤差的變化。解決的辦法是使抑制誤差的作用的變化「超前」,即在誤差接近零時,抑制誤差的作用就應該是零。這就是說,在控制器中僅引入「比例」項往往是不夠的,比例項的作用僅是放大誤差的幅值,而目前需要增加的是「微分項」,它能預測誤差變化的趨勢,這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控製作用等於零,甚至為負值,從而避免了被控量的嚴重超調。所以對有較大慣性或滯後的被控對象,比例+微分(PD)控制器能改善系統在調節過程中的動態特性。
5、PID控制器的參數整定
PID控制器的參數整定是控制系統設計的核心內容。它是根據被控過程的特性確定PID控制器的比例系數、積分時間和微分時間的大小。PID控制器參數整定的方法很多,概括起來有兩大類:一是理論計算整定法。它主要是依據系統的數學模型,經過理論計算確定控制器參數。這種方法所得到的計算數據未必可以直接用,還必須通過工程實際進行調整和修改。二是工程整定方法,它主要依賴工程經驗,直接在控制系統的試驗中進行,且方法簡單、易於掌握,在工程實際中被廣泛採用。PID控制器參數的工程整定方法,主要有臨界比例法、反應曲線法和衰減法。三種方法各有其特點,其共同點都是通過試驗,然後按照工程經驗公式對控制器參數進行整定。但無論採用哪一種方法所得到的控制器參數,都需要在實際運行中進行最後調整與完善。現在一般採用的是臨界比例法。利用該方法進行 PID控制器參數的整定步驟如下:(1)首先預選擇一個足夠短的采樣周期讓系統工作;(2)僅加入比例控制環節,直到系統對輸入的階躍響應出現臨界振盪,記下這時的比例放大系數和臨界振盪周期;(3)在一定的控制度下通過公式計算得到PID控制器的參數。
3.PID控制器參數的工程整定,各種調節系統中PID參數經驗數據以下可參照:
溫度T: P=20~60%,T=180~600s,D=3-180s
壓力P: P=30~70%,T=24~180s,
液位L: P=20~80%,T=60~300s,
流量L: P=40~100%,T=6~60s。
4. PID常用口訣:
參數整定找最佳,從小到大順序查
先是比例後積分,最後再把微分加
曲線振盪很頻繁,比例度盤要放大
曲線漂浮繞大灣,比例度盤往小扳
曲線偏離回復慢,積分時間往下降
曲線波動周期長,積分時間再加長
曲線振盪頻率快,先把微分降下來
動差大來波動慢。微分時間應加長
理想曲線兩個波,前高後低4比1
一看二調多分析,調節質量不會低
參考資料:
『伍』 如何看懂一個演算法的邏輯
邏輯回歸是一種分類演算法,不是回歸演算法,因為它用了和回歸類似的思想來解決了分類問題。
_瘓浠白芙崧嘸毓椋骸奧嘸毓榧偕枋莘硬植跡ü笏迫緩姆椒ǎ擻錳荻認陸道辭蠼獠問創鐧澆荻擲嗟哪康摹薄?
_頤竅壤純純聰噝曰毓檳P停?
_羌偕櫛頤僑銜道雜Φ氖涑霰曇鞘竊謚甘叨壬媳浠敲淳塗梢越涑霰曇塹畝允魑噝閱P捅平哪勘輟?
_導噬鮮鞘醞既帽平_,其是形式上是線性回歸,實際上是在求輸入空間到輸出空間的非線性函數映射。
_飫鐧畝允鸕攪私噝曰毓檳P偷腦げ庵滌胝媸當曇橇燈鵠吹淖饔謾?
『陸』 在演算法的邏輯結構中,要求進行邏輯判斷,並根據結果進行不同處理的是哪種結構
答案B
分析:演算法的三種基本結構是順序結構、條件結構、循環結構,要求進行邏輯判斷時,考察其中要用到哪些結構,由此對比四個選項得出正確選項即可.
解答:演算法的三種基本結構是順序結構、條件結構、循環結構,
因為題中在演算法的邏輯結構中,要求進行邏輯判斷,
條件結構需要判斷條件,
而循環結構一定包含條件結構.
考查四個選項,應該選B,
故選B.
點評:本題考查程序框圖,以及三種邏輯結構的特點、考查程序框圖的三種基本邏輯結構的應用,求解本題的關鍵是對演算法的三種基本結構理解並熟練掌握
『柒』 演算法與邏輯
1 d 2 順序 選擇 循環 3 倆個演算法一個用到多線程,一個只是過程化編程 第二個演算法效率高 倆個任務在程序中並行執行,提高了效率
都是數據結構的問題 懶得打了 勸你還是回去好好學吧 上面的其實都是基本的 書上都有的
『捌』 演算法的三種基本邏輯結構分別是______.
演算法的三種基本邏輯結構分別是順序結構,條件結構和循環結構;
故答案為:順序結構,條件結構和循環結構.
『玖』 演算法與邏輯這2個重要概念究竟是哪一門學科領域專門學習的內容
1.問:做哲學為什麼需要學習邏輯?答:簡單地說,哲學是一門學科,它提供的是理論,它要通過說理、通過論證使人接受或者反駁某種觀點、理論,這就需要有正確的論證。邏輯研究有效推理,就是提供正確論證的基礎。實際上,凡是理論,用推理,講論證,都離不開邏輯。從這點看,哲學與其他「學」相同,所以邏輯是基礎學科。但是哲學與其他學科相比,有兩個特點,這使得這哲學中論證更為重要,因而邏輯的作用也更為重要。第一個特點,哲學不是經驗科學。盡管經驗可以給我們提供某些啟示,來自於經驗的知識可以作為哲學思考的某種根據,但是哲學命題不能通過經驗來驗證,不能做實驗,所以,一個哲學理論的「正確性」(是否可接受),幾乎只能靠論證來顯示。歷史上,一些哲學理論後來不被接受了,以另外的形式出現了,是因為發現原來論證有問題,對原來的理論有修正,有新的論證;也有一些理論一開始人們不喜歡,如休謨的經驗論,後來卻不得不接受(當然不是所有人都接受),因為它的論證沒法反駁,有人甚至是樂於接受,因為認為它的論證好。第二個特點,哲學與其他學科不同,它要思考「終極」問題,即各門具體學科都不研究或無法研究的問題,比如什麼是物質,什麼是實在,什麼是精神等本體論和認識論的問題。對這類問題的思考,會使論證更加困難。學過亞里斯多德邏輯,我們知道,有屬加種差的定義。例如,人是某種動物,動物是某種生物,這就是屬加種差的定義對什麼是人和動物的回答。如果繼續追問,什麼是生物,大概還可以說,生物是某種物質,但是如果再問什麼是物質?至少按這種方式已不能回答,需要有上一層的概念體系。一般來說,探求這樣的終極問題,概念體系不容易建立,而且容易出現某種循環,比如康德二律背反那樣的東西。在對這樣的問題進行思考時,在對這些問題的觀點論證、提出相應理論時,我們應該遵從什麼法則?有什麼規律?這些都對論證,也是對邏輯,提出了更高的要求。我們知道,現在我們所說的邏輯學產生於古希臘,始於亞里斯多德。為什麼邏輯學產生於古希臘,有幾個原因。一是民主政治,導致論辯風盛行。要辯論,要說理,就要講邏輯。二是歐幾里得幾何學,提供了一個理論應該如何應用邏輯的典範。還有一個非常重要的原因,就是哲學研究。我認為是亞里斯多德主要是在其哲學研究中,也是為了更好地研究哲學,建立了邏輯學。他對於(事物)本質問題的思考等,使他提出上面提到的定義理論,建立了三段論邏輯。從這段歷史來看,可以說,因為哲學和論證的關系,對邏輯提出了更高的要求,所以邏輯學才如此這般地產生了。所以,邏輯從一開始,就和哲學有密不可分的關系。以上所說的中心意思是,哲學的生命力在於論證,我們的哲學觀點和理論可以不同,但是論證方法必須是相同的,不論自己思考問題還是與人交流,都需要有公共的論證平台,而這個平台應該、也只能由邏輯來搭建。在今天,哲學已經大大發展,但是哲學和邏輯的基本關系沒有改變。只是今天的哲學需要什麼樣的邏輯?這是個有意思的問題,亞里斯多德邏輯顯然完全不夠了,需要今天的哲學家和邏輯學家共同關注。關於邏輯和哲學的關系,當年王浩來北大講學時還提出一種觀點。大意是,關於哲學問題的基本觀點,大家很難統一。對此我們可以採取公理化的方法,各自從自己的基本觀點出發,建立相應的理論系統,類似於古典數學和直覺主義數學。我認為這當然不是哲學研究的全部,但應該也是哲學研究的一個重要方面。如何使自己的理論更嚴密,需要有公理化的思想和方法。歷史上斯賓諾莎曾經做過倫理學的公理化研究,大概不是很成功。今天邏輯學的發展是否對此提供了新的基礎?這就需要學習現代邏輯。2.問:中國哲學也需要邏輯嗎?答:回答這個問題,首先要對「邏輯」這個概念作點說明。我們現在所說的邏輯,指的是上面提到的產生於古希臘的邏輯。就連「邏輯」一詞都是從古希臘語到英語、再到漢語譯音而來。為什麼要這樣,因為中國自己的文化中沒有產生出西方邏輯學意義上的邏輯學。中國古代有名辨學等一些在今天被人們作為中國邏輯史研究對象的理論或學說。從哲學和邏輯的關系看,如果說古希臘哲學有亞里斯多德邏輯與之對應,那麼中國哲學是否也可以說有名辨學這樣的學說與之對應?有這個背景,再看我們的問題,「中國哲學也需要邏輯嗎」,應該是,研究中國哲學或中國哲學研究需要西方的邏輯學嗎?這里有兩個問題。如果是研究中國哲學,即以中國哲學為研究的對象,提出自己的研究成果,提出相應的理論和觀點,那麼,與其他研究類似,也要分析、推理、論證,當然也離不開西方的邏輯學。因為只有西方傳統的邏輯學才在今天成為各學科的基礎。但是,如果是做中國哲學研究,或中國哲學式的研究,即用中國哲學的方法研究中國哲學的問題,比如類似於老子,孔子的研究,是否要用西方的邏輯學,我還看不出有這個必要。從西方邏輯學的觀點看,今天仍然難以完全說清中國的古代哲人究竟是用什麼邏輯思考問題的。這個說法需要作點解釋。中國哲學和西方哲學有很大的區別。這一點,從各自關心的問題和研究問題的方式可以看出來。西方哲學開始關心的問題是世界的本源是什麼,這個關心的目的是要把面對的萬事萬物拆開,找基本的組成部分,或面對復雜紛呈的世界找出基本的性質,再將它們的組合起來,希望從這里說明一切現象,同時也獲得了改造自然的手段。從簡單的、基本的部分或性質開始,通過組合,到說明各種復雜現象,解決復雜問題,這就是西方哲學的精神,也是西方邏輯的精神,他們在這個探討過程中建立了邏輯學,而且也是在這個過程中建立了西方科學。西方的哲學、邏輯學、科學屬於同一個文化體系。中國哲學也有關心世界本源的部分,但地是從社會的角度考慮問題,探討社會的秩序、和諧,講究天人合一,同時也是為個人的自我修養和人生指導提供依據。從世界和社會的宏觀出發到個人的修養,從個人的修養再到社會的和諧和秩序,這裡面有許多非組合的東西,與西方邏輯的精神從文化淵源上看有根本的區別。所以,在這個問題上,我倒是不覺得中國哲學式的研究要用到西方的邏輯學。說到這里,插一句,我想中國哲學的邏輯是什麼,這也許是個更有趣的問題。顯然這需要中國哲學和邏輯學兩方面的結合才有可能研究。當然,今天也很難有人還會按古人的方式去思考他們的哲學問題。不論從學習階段就受到的訓練,還是到後來的學術規范和科研體制,都決定了不會再出老子和孔子那樣的思想家。現在作為學術的最基本要求是要說理,要論證,要交流,還是上面說到的,要有公共的論證平台。從這個意義上說,中國哲學大概也需要西方的邏輯學。3.問:傳統邏輯和現代邏輯的區別是什麼?答:我注意到你們的幾個類似問法或問題,因為你們的采訪在我們中心(北京大學邏輯、語言與認知研究中心)的網上登了出來,而且有了一段時間。這些問題是:(1)普通邏輯和現代邏輯的區別是什麼?(2)數理邏輯和普通邏輯有什麼區別?(3)邏輯學導論和一階邏輯的區別是什麼?還有現在的問題,(4)傳統邏輯和現代邏輯的區別是什麼?我想先做一點說明,也是澄清。這里涉及到關於邏輯的一些名詞。首先,邏輯是一種客觀對象,邏輯學是關於這個對象的科學,就像力是一種客觀對象,力學是關於力這種對象的科學一樣。「邏輯」有時也指邏輯學。邏輯本身沒有現代和傳統之分,也沒有普通和不普通之分,只是邏輯學,作為人們對邏輯這個對象研究的成果,受到歷史條件的限制,才有傳統和現代之分,有不同的歷史形態。「現代邏輯」和「傳統邏輯」指的就是這種意義上的邏輯學。關於「普通邏輯」。首先,從對象的層次看,剛才說了,沒有普通和不普通之分,也就是說沒有普通邏輯這種邏輯,其次,從研究的角度看,也沒有對邏輯這種對象的「普通」的研究,所以,是既沒有普通邏輯(這種邏輯),也沒有普通邏輯學。「普通邏輯」只能是課程的名稱,類似於「普通物理」。這一點也是王憲鈞先生當年一再強調的。拿「普通邏輯」和「普通物理」相比,也是王先生舉的例子。為什麼要強調這一點,因為「普通邏輯」叫得多了,有一種誤解,把普通邏輯也當成了一種邏輯或一種邏輯學,其實,這只是一門課。關於「一階邏輯」,從對象的層次看,有這樣一種邏輯。關於這種邏輯的理論等是一階邏輯學,通常也稱為「一階邏輯」。此外,還有專門的課程講授一階邏輯學,所以它還可以是課程的名稱。「數理邏輯」與此類似。在上面提到的這些名稱中,「傳統邏輯」,「現代邏輯」,指的是某種邏輯學,在一些情況下,「現代邏輯」也可以是某類課程的名稱;「普通邏輯」,「邏輯導論」或「邏輯學導論」只能是課程的名稱;「一階邏輯」,「數理邏輯」指的可以是一個或一種邏輯,也可以是這個或這種邏輯的學,還可以指講授這個或這種邏輯的課程。這里我們涉及到三種名稱:邏輯,邏輯學和邏輯課。有這個說明後再來看這些問題。在這些問題中,問題(4)是一個合理的問題,也沒有什麼歧義,因為在這個問題中,「傳統邏輯」和「現代邏輯」只能做邏輯學的理解,問的是兩種邏輯學之間的區別,現代的邏輯學究竟比過去的邏輯學有那些發展等。問題(3)的意思應該是比較兩門課程,因為「邏輯學導論」是課程的名稱,我們也有一階邏輯的課。如果這么看,這也合理。問題(2)的初衷大概類似於問題(3),但是問題(2)容易引起誤解。因為「數理邏輯」可以指一種邏輯,將它與普通邏輯相比,容易使人誤解,把普通邏輯也當成了一種邏輯。最不合理的是問題(1)。「普通邏輯」只能是某門課程的名稱,現代邏輯是一種邏輯學,這兩個「邏輯」不可比。如果把「現代邏輯」理解為課程的名稱,那麼,它指的不是一門課,凡講授現代邏輯學知識的課都可以稱為現代邏輯課,而普通邏輯只能是一門課。將一門課與一類課相比,這應該也不可比。所以怎麼都說不通。現在可以回答你們的問題,即問題(4)。一般認為,從亞里士多德到弗雷格以前的是傳統邏輯,從弗雷格開始,產生了現代邏輯。當然在弗雷格之前,也有萊布尼茨、布爾這些現代邏輯的先驅。現代邏輯與傳統邏輯的不同首先是產生的原因或動因不同。傳統邏輯產生的原因主要是哲學上論證,也包括日常生活中的一些論辯。現代邏輯產生於數學研究,主要為了找出數學中的邏輯。其次是方法的不同,這是主要的不同。學過一點現代邏輯都知道,現代邏輯的基本方法是形式化方法。從根本上說,形式化方法就是數學的方法。因為是一些數學家研究數學中的推理,找數學中的邏輯,所以很自然地引用了數學的方法。從萊布尼茨開始就提出了把推理當作數學演算的想法。這個想法到弗雷格才在一定范圍里得以實現。可以實現的原因之一,是弗雷格研究的是數學中的推理,這是我們各種推理中最嚴格的推理,但同時也是最簡單的一種推理。可以實現的原因之二,就是他用到了數學的方法,把數學用到推理的研究中。現在數學(古典數學)中推理的規律已經都找出來了,這就是一階邏輯。在這個過程中,產生了很多新的思想,建立了許多新的技術,邏輯學的內容大大豐富。如果說過去我們只能靠肉眼觀察,那麼,現在因為有了新的方法,我們已經知道如何去造顯微鏡,而且是電子顯微鏡。與傳統邏輯相比,因為有了觀察邏輯關系的「電子顯微鏡」,現代邏輯打開了一個全新的天地,范圍大大拓寬。這個天地是傳統邏輯用「肉眼」所不可能看見的。因為方法和動因的不同,導致了傳統邏輯和現代邏輯其他的一些不同。比如,同是研究日常推理,傳統邏輯總結一些方法,教我們這些方法,現代邏輯則要把其中的規律用數學的方法精確地刻畫出來,其目的不是教我們人如何正確地進行日常思維,而是「教」計算機去做這樣的的推理。現代邏輯的這種發展,使得邏輯學真正成為其他一些學科的基礎,比如計算機科學,語言學等,包括哲學方面的分析哲學,語言哲學等。這里所謂的基礎,意思是,如果沒有現代邏輯的知識,要進行這方面的有關研究是不可能的。這個基礎的作用是傳統邏輯做不到也不可能做到的。人們一般認為學習邏輯會使人邏輯性強,提高思維能力,表現在頭腦清楚,說話有條理,能言善辯等。這被稱為邏輯的教導作用。應該說這是邏輯學產生的初衷之一。但在今天看來,如果說,傳統邏輯還有一定的教導作用,那麼現代邏輯則基本沒有這個作用。現代邏輯使得邏輯學越來越像數學,成為專門的基礎知識。如果說現代邏輯也有一些教導作用,那麼它並也不比數學強。換言之,要想從學習現代邏輯中得到思維能力的提高,更好的法是去學數學。總之,邏輯學的這種教導作用,至少從現代邏輯的內容上看,已經不是今天邏輯學的主要功能。4.問:您認為哲學系本科生應該學普通邏輯課還是現代邏輯的課程?答:關於這個問題,我可能會說得多一些。因為即使在我們北大哲學系,這個問題也是從我的上一代老師、我的前輩們開始就一直在討論、爭論、甚至激烈爭論的問題。我認為,應該學什麼課,普通邏輯課還是現代邏輯課,取決於兩個因素:一個是課程的內容、性質;一個是學習的目的。這是從學生選課的角度說的。換一角度,可以問,哲學系應該對本科生開普通邏輯課還是現代邏輯課?也有兩個類似的因素,前一個因素沒變,後一個因素是,開什麼課取決於培養學生的目標。這是受教育者和教育者都關心的同一個問題,但角度不同。我想我還是從教育者的角度來談這個問題。現在本科生教育可以說有兩個目標,一個是素質教育,一個是專門人才培養。說白了,前者就是畢業後找工作,後者是讀研究生,准備走學術的道路。從社會需求的角度看,大部分人是要從事實際工作的,學者總是少數。因此現在比較強調素質教育,淡化專業,所以本科生階段取消了一些專業,比如我們系的本科生邏輯學專業就取消了。專門人才培養一般要到研究生階段才真正開始。盡管學生自己可以早早為自己定位,但是從教育者的角度說,並不一開始就把誰定在什麼方向。這增加了學生的自主性、能動性,同時也增加了學生自己的責任,學生也要為自己的將來負責。這是社會的進步。與強調素質教育相對應,另一方面,對准備走學術路的人也提出了更高的要求,要求有扎實的基礎,有出色的科研能力。這是一種兩極分化。一個本科生,剛進大學,很難說將來畢業後的去向,是做實際工作,還是讀研究生,最終走學術研究的路。從教育者的角度看,也只能是同時提供各種條件、環境,讓受教育者能走更適合自己發展的道路。一個好的大學,就是能提供好的這樣的條件和環境,比如開出各種課程和提供好的指導等。現在可以談談普通邏輯課和現代邏輯課的問題。簡單地說,現代邏輯的課程是為專門人才培養開設的。一個學生如果畢業後從事實際工作,在這方面他所需要的主要是素質教育,我認為不用學現代邏輯,但同時也不用學普通邏輯,倒是可以學學批判性思維這樣的課。為什麼這么說,我們可以先看看普通邏輯的性質和內容。普通邏輯是我國大學的邏輯知識普及課,內容大體上是亞里斯多德邏輯,即亞里斯多德的三段論、定義理論等,一些簡單的命題邏輯知識,再加一些歸納推理的內容,關於論證的常識等,從知識的組成看,基本上是傳統邏輯的東西。普通邏輯有一個基本考慮,就是圍繞思維來講。根據這個考慮,它把內容又分為概念,判斷,推理,論證幾個部分。近二十多年來,隨著現代邏輯影響不斷增加,普通邏輯課中也逐漸增加了一些現代邏輯的內容,課程的名稱也改成邏輯導論,內容和重點有了很大甚至是重要的改變,但普及邏輯知識的課程性質沒有變。這樣的一門課程,我認為有一些缺點。首先我們可以看一下經過這樣的普及課學習,會有什麼收獲,有什麼效果。從課程設置的角度說,不外是希望學生有這幾個方面的收獲:(1)獲得一定的邏輯學知識;(2)掌握一些方法,受到一定的訓練,思維能力有某些提高;(3)有了一定的基礎,便於繼續學習邏輯;(4)以邏輯為基礎去進行其他的課程的學習或研究。其中(1)和(2)合起來可以在素質教育方面起到一定的作用。(3)和(4)看起來是可以起到專門人才培養方面的作用。但實際情況究竟怎樣,是否可以達到這樣的效果,我們可以做一些分析。先看後兩條,即人才培養方面的(3)和(4)。首先,傳統邏輯和現代邏輯是邏輯學發展的兩個階段。現代邏輯不是從傳統邏輯的基礎上發展而來的,上面也談到,完全是新的問題,新的起點,新的方法。現代邏輯對傳統邏輯有種跳躍性,而沒有什麼繼承性。從我們的教學實踐看,學習傳統邏輯對學現代邏輯沒有什麼幫助,反而可能會有某些誤導。如果是為了要繼續學習邏輯,這個繼續被學的,只能是現代邏輯,所以不如一開始就學現代邏輯。(3)說的是普通邏輯課或邏輯導論課可以作為現代邏輯課的基礎,但從這個分析看,情況並非如此。不說有可能誤導,至少學習的效率不高。再看(4)。現代邏輯是像數學這樣的專門的基礎知識,需要按學數學那樣方式才能真正掌握,才可能成為用來學習和研究如計算機科學、語言學甚至哲學的知識基礎,不能只是停留在普及知識的層次上,淺顯地講講,象徵性地做些習題,而需要詳細地講解,嚴格地證明,嚴格地做習題,有些甚至是比較難的習題。這些即使在邏輯導論課上,也不可能做到。所以,希望達到(4)的效果,只能是一個願望,實際上根本達不到。這兩個方面說明,普通邏輯或邏輯導論在邏輯學研究或應用邏輯的專門人才培養方面起不到什麼作用。事實上,我們這些年的教學實踐上也證明了這一點。就我校來說,這二十多年來上過普通邏輯或邏輯導論課的學生應該達到數以萬計,但沒有一個學生由此而成為研究邏輯或者應用邏輯去研究其他領域問題的專門人才。這說明什麼問題?當然是我們作為教育者一方應該深刻反省的。說到底,主要是課程的性質,普及邏輯知識,這決定了這門課只能是作為文化素養提高的一個方面來教和學,而不是也不能作為其他知識和課程的基礎來教和學。說到這里,涉及到這門課的素質教育方面的意義。上面說了它在專門人才培養方面起不到什麼作用,現在我們可以就此再看它素質教育的作用方面。前面說到邏輯有教導作用,在這里對應到所希望達到的效果(2)。看起來普通邏輯所講的問題簡單、常見,與實際生活更接近,所以它更具有教導作用,但其實這里有些誤解。普通邏輯或邏輯導論都是傳統邏輯和現代邏輯的某種結合。關於現代邏輯,前面已經說了,它完全遠離了邏輯的教導作用,不是為日常思維服務的,而是一種基礎知識。再看傳統邏輯部分。這部分中確實有些內容是講思維方法,講有關的一些道理。但是在這方面,它有兩個不足:一是先天不足,一是後天不足。一般都不否認亞里斯多德邏輯是傳統邏輯的核心部分。亞里斯多德邏輯中的核心部分又是三段論。我們可以看看三段論在講什麼。它在講我們幾乎天生就會的三段論推理,比如「所有的A是B,所有的B是C,所以,所有的A是C」,講這樣的的推理為什麼是正確的,這樣的推理多少種格與式,哪些格式是正確的推理形式,可以如何變形,道理何在等等。這些細致的甚至顯得繁瑣的分析和證明主要不是為了日常思維的需要,而是為了哲學研究。我想說的是,邏輯學從一開始,就是一種學院派式的理論,這是它的精神實質,而且這種精神一直在延續。應該說,這是真正的邏輯學的精神。所以,亞里斯多德是邏輯學之父,他不僅從問題、對象,而且從方式和精神,都奠定了這門學科的基礎。關於日常思維的思維方法等只是這種理論的一些延伸,不是本質的部分。有了理論,可以在思維方法的方面做很多推廣。只是方法方面談多了,談泛了,實際上就出了這種學的圈。這就是傳統邏輯對日常思維方面作用的「先天不足」。作為一門課程,當然可以按照需要設計它的內容,沒有必要一定按某種學理精神來講授。但是,在思維能力提高和訓練方面,普通邏輯並沒有給我們提供的內容和訓練的手段。這是它的「後天不足」。如果要講思維方法,注重日常思維能力提高,有比普通邏輯更合適的課程,這就是批判性思維。實際上,批判性思維並不是一門邏輯課,但是它的問題更集中,目的也更明確,所以更專業。總體上看,對普通邏輯課,包括邏輯導論,在思想方法和思維能力訓練方面,如果是講思維的嚴格性,精確性,那不如去學數學。如果是講思維的敏捷、機智,善抓問題實質的准確性、尖銳性等,不如去學批判性思維。最後,再看希望達到的效果(1),即這門課對邏輯知識的了解和掌握方面的作用。作為知識上的修養,這當然也是一種素質的提高。特別地,對什麼是邏輯的精神,通過普通邏輯課或邏輯導論課多少可以了解一些,這應該是一個人知識組成中的重要部分。但是,知識普及性的課不能提供真正實用的技術和理論,這一點應該沒什麼疑問。我們只要看看邏輯學今天的發展和這些課程所講授的內容就不難得出這個結論。當然,不論怎樣,最後總會對邏輯的精神有一定程度的了解,有一定的邏輯的知識素養,這是大概是這門課最後的收獲。對此我想指出一點,從今天的角度看,這也是一種多少有點養尊處優的知識素養,因為它主要不解決實用問題,基本上是精神層面的東西。過去我國大學教育屬於計劃經濟體系,畢業生是國家幹部。什麼是國家幹部,就是國家的管理人員,當然不是人人最後都走上了管理崗位,但首先他們都屬於幹部體系,有幹部級別。大學的一個主要功能是為國家提供幹部儲備。作為這樣的教育,當然要使受教育者除了專門的知識、技能外,還要有一定的知識素養。比如,要知道一點邏輯,講點邏輯。在這種情況下,邏輯知識普及課對我國幹部隊伍素質的總體提高,還是起到一定的作用的。從這個意義上說,這門課也還是有功績的。但是,現在的情況已經有了根本的改變。一個受教育者不再是計劃經濟下教育生產線出產的一個產品,不再是一個幹部或儲備幹部,國家的幹部體制現在也轉變成了公務員體制,這不僅僅是名稱的改變。在現在的情況下,一個大學生首先是一個將來要參與社會競爭的主體。我們的教育體制已發生了根本的變化,教育也地具有了人本精神,教育者要地從受教育者的立場出發考慮問題。面對這樣的教育形勢和被教育者,我們應該教什麼?他們所面對的將是嚴酷的競爭和挑戰,已經沒有時間和條件再去接受那種養尊處優式的知識素養教育。所以我認為,如果說普通邏輯或邏輯導論這種邏輯知識普及課在過去時代條件下還有一些積極作用,那麼現在這些作用早已淡出,所以這樣的課已經不合時代要求,應該淘汰。取而代之的也是兩極分化:徹底講實用性,學批判性思維;真正學邏輯,學現代邏輯。這也是一種「與時俱進」吧。有一種觀點認為,一個大學畢業生,受過高等教育的人,不學普通邏輯或邏輯導論,不知道什麼是邏輯,不懂一點邏輯怎麼行。我認為這種觀點沒有建立在將邏輯學、邏輯課以及它們的歷史和社會時代背景等因素加以綜合和仔細分析的基礎上,沒有充分的根據。如果有我們這里的分析,那就不僅是「怎麼不行」,而且是勢在必行。至於哲學系開什麼課,不同的哲學系當然只能根據自己的情況量力而行。北大哲學系是按專門人才培養的方向來開課的,也有這個條件,所以當然應該開現代邏輯課,取消普通邏輯或邏輯導論課。我們實際上也是這么做的。目前只是對外系或校公共課還開邏輯導論,這是因為某種歷史的慣性吧,遲早也是要取消的。在我系,現代邏輯課是一系列課程。首先是一階邏輯。這是現代邏輯的入門課,也是哲學學習和研究的一個基礎課。如果將來研究哲學,可以到此為止,也可以再學模態邏輯等。如果要學邏輯,則必須在有這門課的基礎後再去學其他的邏輯課程。至於批判性思維,我認為是一門很好的課,也主張應該開這門課,甚至應該是全校的公共課。這是一門素質教育課,誰都可以選。但是要清楚,這門課與學哲學和學邏輯都沒有什麼特別的關系。