導航:首頁 > 源碼編譯 > 演算法關系邏輯

演算法關系邏輯

發布時間:2022-09-08 04:11:04

演算法與邏輯這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),即這門課對邏輯知識的了解和掌握方面的作用。作為知識上的修養,這當然也是一種素質的提高。特別地,對什麼是邏輯的精神,通過普通邏輯課或邏輯導論課多少可以了解一些,這應該是一個人知識組成中的重要部分。但是,知識普及性的課不能提供真正實用的技術和理論,這一點應該沒什麼疑問。我們只要看看邏輯學今天的發展和這些課程所講授的內容就不難得出這個結論。當然,不論怎樣,最後總會對邏輯的精神有一定程度的了解,有一定的邏輯的知識素養,這是大概是這門課最後的收獲。對此我想指出一點,從今天的角度看,這也是一種多少有點養尊處優的知識素養,因為它主要不解決實用問題,基本上是精神層面的東西。過去我國大學教育屬於計劃經濟體系,畢業生是國家幹部。什麼是國家幹部,就是國家的管理人員,當然不是人人最後都走上了管理崗位,但首先他們都屬於幹部體系,有幹部級別。大學的一個主要功能是為國家提供幹部儲備。作為這樣的教育,當然要使受教育者除了專門的知識、技能外,還要有一定的知識素養。比如,要知道一點邏輯,講點邏輯。在這種情況下,邏輯知識普及課對我國幹部隊伍素質的總體提高,還是起到一定的作用的。從這個意義上說,這門課也還是有功績的。但是,現在的情況已經有了根本的改變。一個受教育者不再是計劃經濟下教育生產線出產的一個產品,不再是一個幹部或儲備幹部,國家的幹部體制現在也轉變成了公務員體制,這不僅僅是名稱的改變。在現在的情況下,一個大學生首先是一個將來要參與社會競爭的主體。我們的教育體制已發生了根本的變化,教育也地具有了人本精神,教育者要地從受教育者的立場出發考慮問題。面對這樣的教育形勢和被教育者,我們應該教什麼?他們所面對的將是嚴酷的競爭和挑戰,已經沒有時間和條件再去接受那種養尊處優式的知識素養教育。所以我認為,如果說普通邏輯或邏輯導論這種邏輯知識普及課在過去時代條件下還有一些積極作用,那麼現在這些作用早已淡出,所以這樣的課已經不合時代要求,應該淘汰。取而代之的也是兩極分化:徹底講實用性,學批判性思維;真正學邏輯,學現代邏輯。這也是一種「與時俱進」吧。有一種觀點認為,一個大學畢業生,受過高等教育的人,不學普通邏輯或邏輯導論,不知道什麼是邏輯,不懂一點邏輯怎麼行。我認為這種觀點沒有建立在將邏輯學、邏輯課以及它們的歷史和社會時代背景等因素加以綜合和仔細分析的基礎上,沒有充分的根據。如果有我們這里的分析,那就不僅是「怎麼不行」,而且是勢在必行。至於哲學系開什麼課,不同的哲學系當然只能根據自己的情況量力而行。北大哲學系是按專門人才培養的方向來開課的,也有這個條件,所以當然應該開現代邏輯課,取消普通邏輯或邏輯導論課。我們實際上也是這么做的。目前只是對外系或校公共課還開邏輯導論,這是因為某種歷史的慣性吧,遲早也是要取消的。在我系,現代邏輯課是一系列課程。首先是一階邏輯。這是現代邏輯的入門課,也是哲學學習和研究的一個基礎課。如果將來研究哲學,可以到此為止,也可以再學模態邏輯等。如果要學邏輯,則必須在有這門課的基礎後再去學其他的邏輯課程。至於批判性思維,我認為是一門很好的課,也主張應該開這門課,甚至應該是全校的公共課。這是一門素質教育課,誰都可以選。但是要清楚,這門課與學哲學和學邏輯都沒有什麼特別的關系。

Ⅱ 如何處理好"算理"與"演算法"的關系

算理是客觀存在的規律,主要回答「為什麼這樣算」的問題;演算法是人為規定的操作方法,主要解決「怎樣計算」的問題。算理是計算的依據,是演算法的基礎,而演算法則是依據算理提煉出來的計算方法和規則,它是算理的具體體現。

算理為計算提供了正確的思維方式,保證了計算的合理性和可行性;演算法為計算提供了便捷的操作程序和方法,保證了計算的正確性和快速性。算理和演算法是計算教學中相輔相成、缺一不可的兩個方面。

應用算理,進行創造

算理是計算的思維本質,如果都這樣思考著算理進行計算,不但思維強度太大,而且計算的速度很慢算。為了提高計算的速度,使計算更方便、快捷,就必須尋找到計算的普遍規律,抽象、概括出計演算法則。計演算法則是算理的外在表達形式,是避開了復雜思維過程的程式化的操作步驟,它使計算變得簡便易行,它不但提高了計算的速度,還大大提高計算的正確率。

以上內容參考:網路-算理

Ⅲ 計數 計算 邏輯 演算法的區別與聯系

【計數、計算、邏輯、演算法在數學學科中的一般解釋】

(1)計數:求出事物的個數或種類的過程,具體方法可以是數數,可以是計算,可以是測量,可以是核算,也可以是推理,但目的都是求出事物的個數或種類。

(2)計算:核算數目,根據已知量算出未知量。計算要根據各種計演算法則、計算原理來進行。

(3)邏輯:思維的規律和規則,是對思維過程的抽象。我們往往採用判斷、推理、計算、分析等多種方法由一個邏輯得出另一個邏輯,這就是我們常常說的邏輯推理。

(4)演算法:解決問題的完整步驟和規范,由一個個清晰的指令組成。演算法是一個比較新的概念,對於大多數人來說不太容易理解。歷史上最初演算法是指運演算法則,現在的演算法一般是指計算機可以實現的一個指令系統。演算法有五個必備特徵,有窮性、確切性、輸入項、輸出項、可行性。計算機要實現一個演算法,基本運算和操作有如下四類:算術運算,加減乘除等運算;邏輯運算,或、且、非等運算;關系運算,大於、小於、等於、不等於等運算;數據傳輸,輸入、輸出、賦值等運算。

【計數、計算、邏輯、演算法的區別與聯系】

(1)在計數的時候,除了最簡單的一個一個的數,為了更加方便准確的得出事物的個數或種類,經常要用到計算或者邏輯推理的方法;

(2)同樣,在計算的時候,為了方便准確也可能用到計數或者邏輯推理;

(3)在邏輯推理的過程中,有時候也會用到計算和計數。

(4)無論是計數、計算還是進行邏輯推理,只要是解決一個問題的完整過程,具備「有窮性、確切性、輸入項、輸出項、可行性」五大特徵,都可以稱之為一個演算法。而演算法的各個步驟,往往是依據計數、計算、邏輯推理進行的。

綜上所述,計數、計算、邏輯、演算法是四個完全不同的概念,既相互區別又相互聯系,可謂你中有我,我中有你。計數和計算都是一種過程,不同的是,計數是求出事物個數或種類的過程,計算是根據已知量求出未知量的過程。 邏輯和演算法嚴格的講都是名詞,邏輯是思維的規律或規則,進行邏輯推理就是依據已知條件和已知規律推導出另一個規律。演算法是解決問題的步驟。計數、計算、邏輯推理,都是由一個個步驟組成的,只要其過程具備「演算法」的五大特徵,就是演算法。而一個演算法的實現,往往會用到計數、計算、邏輯推理等多種形式。


【擴展閱讀】

(1)計數

計數(count) 亦稱數數。算術的基本概念之一。指數事物個數的過程。計數時,通常是手指著每一個事物,一個一個地數,口裡念著正整數列里的數1,2,3,4,5,…,和所指的事物進行一一對應,這種過程稱為計數。上述逐個地計算事物的方法,稱為逐一計數。若按幾個一組的方法計數,則稱為分組計數。

此外,計數亦可以被(主要是被兒童)使用來學習數字名稱和數字系統的知識。 由現今的考古證據可以推測人類計數的歷史至少有五萬年,並由此發展導致出數學符號及計數系統的發展。古代文化主要使用計數在記錄如負債和資本等經濟數據(即會計)。

(2)計算

計算,漢語詞語,有「核算數目,根據已知量算出未知量;運算」和「考慮;謀慮」兩種含義。

釋義:

(1) 核算數目,根據已知量算出未知量;運算。造句:計算光速。

(2) 考慮;謀慮。亦作「 計筭 」。造句:該怎麼辦,還得計算計算。

計算與人類:

由於現代人類各個課題學科繁多,涉及面廣,而分類又細。而當今的每個學科都需要進行大量的計算。

天文學研究組織需要計算機來分析太空脈沖(pulse),星位移動;生物學家需要計算機來模擬蛋白質的折疊(protein folding)過程,發現基因組的奧秘;葯物學家想要研製治癒癌症或各類細菌與病毒的葯物,醫學家正在研製防止衰老的新辦法;數學家想計算最大的質數和圓周率的更精確值;經濟學家要用計算機分析計算在幾萬種因素考慮下某個企業/城市/國家的發展方向從而宏觀調控;工業界需要准確計算生產過程中的材料,能源,加工與時間配置的最佳方案。由此可見,人類未來的科學,時時刻刻離不開計算。而分布式計算(Distributed Computing),以其獨特的優點——便宜、高效而越來越受到社會的關注。

(3)邏輯

邏輯指的是思維的規律和規則,是對思維過程的抽象。

狹義上邏輯既指思維的規律,也指研究思維規律的學科即邏輯學。

廣義上邏輯泛指規律,包括思維規律和客觀規律。邏輯包括形式邏輯與辯證邏輯,形式邏輯包括歸納邏輯與演繹邏輯,辯證邏輯包括矛盾邏輯與對稱邏輯。對稱邏輯是人的整體思維(包括抽象思維與具象思維)的邏輯。

(4)演算法

演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。

演算法中的指令描述的是一個計算,當其運行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。

Ⅳ 演算法和數據結構的關系

記得網上曾經有一個帖子,大概的列出了學習ACM來說需要的知識背景。如果不是牛人,或者天生受虐傾向,普通人看到了都會暈倒,多達100多個科目(全部需要數學背景)。樓主覺得你能學的過來嗎?
但是,所有的演算法,乃至數學在實際運用中都是要根據不同的數據來選擇不同的方法,所以一般學習過演算法和數據結構的人都會越發的認識到,數據才是程序的中心,只有找到了一個組織數據的最佳方式,演算法的運用才會事半功倍。比如我印象最深刻的是在大二時做的一道題目:判斷一個輸入的數是否符合科學計演算法。如e*103,-30.90*103就不是。 這樣一道題,如果用普通的數組線性存儲,然後逐一判斷,效率的演算法的復雜度都是不合格的。 有限狀態機則清晰明了的解決了這個問題。即把所有可能的狀態和狀態的轉換畫成一個矩陣,然後每讀取一個輸入的字元就在這些狀態中跳轉,直到最後一個字元為止,判斷最終狀態是有效還是無效狀態。
總而言之:數據結構是問題的核心,是演算法的基礎。

建議樓主先磨好數據結構這把劍,對演算法也不用著急,畢竟很多的數據結構的書中都有一些基礎演算法的介紹的。

Ⅳ 如何處理好"算理"與"演算法"的關系

計算的算理是指計算的理論依據,通俗地講就是計算的道理。算理一般由數學概念、定律、性質等構成,用來說明計算過程的合理性和科學性。計算的演算法是計算的基本程序或方法,是算理指導下的一些人為規定,用來說明計算過程中的規則和邏輯順序。

算理和演算法既有聯系,又有區別。算理是客觀存在的規律,主要回答「為什麼這樣算」的問題;演算法是人為規定的操作方法,主要解決「怎樣計算」的問題。算理是計算的依據,是演算法的基礎,而演算法則是依據算理提煉出來的計算方法和規則,它是算理的具體體現。算理為計算提供了正確的思維方式,保證了計算的合理性和可行性;演算法為計算提供了便捷的操作程序和方法,保證了計算的正確性和快速性。算理和演算法是計算教學中相輔相成、缺一不可的兩個方面。

Ⅵ 數據結構和演算法有什麼關系數據結構就是演算法嗎

首先你要弄清楚數據結構是什麼?數據結構呢其實就是一種存儲數據之間的邏輯結構:比如我們學過的線性結構:順序表啦,鏈表啦;層次結構:樹啦。合適的數據結構可以帶來更高的運行效率和存儲效率,與相應解決實際問題演算法的適應性也就越高,這也就是為什麼一些演算法指定了數據存儲必須以某種特定的數據結才行。一般都是根據合適的數據結構來設計演算法,而不是根據演算法來設計數據結構。


演算法和數據結構往往是互不分開的。離開了演算法,數據結構就顯得毫無意義,而沒有了數據結構演算法就沒有實現的條件。良好的數據結構思想就是一種高效的演算法,但是數據結構不等於演算法。只有當數據結構用於處理某個特定問題類型的時候,數據結構才會體現為演算法。要想細致的了解,就要多看書,因為這東西畢竟發展了那麼多年,一兩句話是說不清楚的。想知道更多的數據結構與演算法知識嗎?可以去了解一下小碼哥李明傑。

Ⅶ 演算法的三種基本邏輯結構分別是______.

演算法的三種基本邏輯結構分別是順序結構,條件結構和循環結構;
故答案為:順序結構,條件結構和循環結構.

Ⅷ 計算教學中如何正確處理算理和演算法的關系

計算的算理是指計算的理論依據,通俗地講就是計算的道理。算理一般由數學概念、定律、性質等構成,用來說明計算過程的合理性和科學性。計算的演算法是計算的基本程序或方法,是算理指導下的一些人為規定,用來說明計算過程中的規則和邏輯順序。

算理和演算法既有聯系,又有區別。算理是客觀存在的規律,主要回答「為什麼這樣算」的問題;演算法是人為規定的操作方法,主要解決「怎樣計算」的問題。算理是計算的依據,是演算法的基礎,而演算法則是依據算理提煉出來的計算方法和規則,它是算理的具體體現。算理為計算提供了正確的思維方式,保證了計算的合理性和可行性;演算法為計算提供了便捷的操作程序和方法,保證了計算的正確性和快速性。算理和演算法是計算教學中相輔相成、缺一不可的兩個方面。

處理好算理與演算法的關系對於突出計算教學核心,抓住計算教學關鍵具有重要的作用。當前,計算教學中「走極端」的現象實質上是沒有正確處理好算理與演算法之間關系的結果。一些教師受傳統教學思想、教學方法的支配,計算教學只注重計算結果和計算速度,一味強化演算法演練,忽視算理的推導,教學方式「以練代想」,學生「知其然,不知其所以然」,導致教學偏向「重演算法、輕算理」的極端。與此相反,一些教師片面理解了新課程理念和新教材,他們把過多的時間用在形式化的情境創設、動手操作、自主探索、合作交流上,在理解算理上大做文章,過分強調為什麼這樣算,還可以怎樣算,卻缺少對演算法的提煉與鞏固,造成學生理解算理過繁,掌握演算法過軟,形成技能過難,教學走向「重算理、輕演算法」的另一極端。

如何正確處理算理與演算法的關系,防止「走極端」的現象,廣大數學教師在教學實踐中進行了有益的探索,取得了許多成功經驗。比如,「計算教學要尋求算理與演算法的平衡,使計算教學『既重算理,又重演算法」「把算理與演算法有機融合,避免算理與演算法的『硬性對接』」「引導學生在理解算理的基礎上自主地生成演算法,在演算法形成與鞏固的過程中進一步明晰算理」「計算教學要讓學生探究並領悟算理,及時抽象並掌握演算法,力求形成技能並學會運用」等等,這些觀點對於計算教學少走彎路、提高計算教學質量具有重要作用。

對此,筆者認為,處理計算教學中算理與演算法的關系還應注意以下五點:一是算理與演算法是計算教學中有機統一的整體,形式上可分,實質上不可分,重演算法必須重算理,重算理也要重演算法;二是計算教學的問題情境既為引出新知服務,體現「學以致用」,也為理解算理、提煉演算法服務,教學要注意在「學用結合」的基礎上,以理解算理,掌握演算法,形成技能為主;三是算理教學需藉助直觀,引導學生經歷自主探索、充分感悟的過程,但要把握好演算法提煉的時機和教學的「度」,為演算法形成與鞏固提供必要的練習保證;四是演算法形成不能依賴形式上的模仿,而要依靠算理的透徹理解,只有在真正理解算理的基礎上掌握演算法、形成計算技能,才能算是找到了算理與演算法的平衡點;五是要防止算理與演算法之間出現斷痕或硬性對接,要充分利用例題或「試一試」中的「可以怎樣算?」「在小組里說一說,計算時要注意什麼?」等問題,指導學生提煉演算法,為算理與演算法的有效銜接服務。

Ⅸ 演算法的三種基本邏輯結構是

1.順序結構
2.選擇結構,又稱選取結構或分支結構
3.循環結構,又稱重復結構--有兩類:當型循環結構;直到型循環結構

閱讀全文

與演算法關系邏輯相關的資料

熱點內容
卡爾曼濾波演算法書籍 瀏覽:768
安卓手機怎麼用愛思助手傳文件進蘋果手機上 瀏覽:843
安卓怎麼下載60秒生存 瀏覽:802
外向式文件夾 瀏覽:235
dospdf 瀏覽:430
怎麼修改騰訊雲伺服器ip 瀏覽:387
pdftoeps 瀏覽:492
為什麼鴻蒙那麼像安卓 瀏覽:735
安卓手機怎麼拍自媒體視頻 瀏覽:185
單片機各個中斷的初始化 瀏覽:723
python怎麼集合元素 瀏覽:480
python逐條解讀 瀏覽:832
基於單片機的濕度控制 瀏覽:498
ios如何使用安卓的帳號 瀏覽:882
程序員公園采訪 瀏覽:811
程序員實戰教程要多長時間 瀏覽:974
企業數據加密技巧 瀏覽:134
租雲伺服器開發 瀏覽:813
程序員告白媽媽不同意 瀏覽:335
攻城掠地怎麼查看伺服器 瀏覽:600