0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)的語(yǔ)言與算法有多接近人類(lèi)語(yǔ)言

汽車(chē)玩家 ? 來(lái)源:今日頭條 ? 作者:光電科學(xué)史 ? 2020-01-01 17:16 ? 次閱讀

使用計(jì)算機(jī)就要給計(jì)算機(jī)輸入指令,早期給計(jì)算機(jī)的指令是寫(xiě)在穿孔紙帶上的,如圖1所示。

圖1 早期的計(jì)算機(jī)語(yǔ)言

紙帶勻速通過(guò)一個(gè)光源,光線(xiàn)透過(guò)紙帶的穿孔后被接收器接收,產(chǎn)生一個(gè)電壓,遇到紙帶無(wú)孔時(shí),光線(xiàn)就被紙帶遮蔽,紙帶后面的接收器就不產(chǎn)生電壓,這樣就將“100100”形式的二進(jìn)制信號(hào)輸給了計(jì)算機(jī)。這個(gè)發(fā)明源于圖靈1936年的設(shè)想——圖靈機(jī)(Turing Machine)。在計(jì)算機(jī)發(fā)明者名單中,圖靈是名氣最大的。由美國(guó)計(jì)算機(jī)協(xié)會(huì)(ACM)于1966年設(shè)立的圖靈獎(jiǎng)(Turing Award),至今仍然是計(jì)算機(jī)科學(xué)領(lǐng)域的最高榮譽(yù)。

盡管計(jì)算機(jī)的輸入設(shè)備從穿孔紙帶一路發(fā)展到硬盤(pán)、鍵盤(pán)和鼠標(biāo),但其基本原理還是給計(jì)算機(jī)輸入“100100”形式的機(jī)器碼。人們?yōu)榱朔奖闩c計(jì)算機(jī)交流,發(fā)明了計(jì)算機(jī)操作系統(tǒng)。其實(shí)它就是預(yù)裝在計(jì)算機(jī)存儲(chǔ)器里面的一套機(jī)器碼,計(jì)算機(jī)一旦通電啟動(dòng),這套機(jī)器碼首先被讀入計(jì)算機(jī)內(nèi)存并被執(zhí)行,它使得計(jì)算機(jī)CPU、輸入輸出設(shè)備、存儲(chǔ)器等等初始化,提供各類(lèi)硬件功能接口供應(yīng)用程序調(diào)用。人們借助計(jì)算機(jī)操作系統(tǒng)和預(yù)裝的一些“工具軟件”,用計(jì)算機(jī)完成諸如寫(xiě)文件、繪圖表、做計(jì)算等簡(jiǎn)單工作。如果要使計(jì)算機(jī)完成千差萬(wàn)別的復(fù)雜工作,就必須給計(jì)算機(jī)輸入專(zhuān)門(mén)的指令——計(jì)算機(jī)程序。由于計(jì)算機(jī)只能認(rèn)識(shí)機(jī)器碼,而機(jī)器碼又實(shí)在太難學(xué)了,因此科學(xué)家就發(fā)明了“計(jì)算機(jī)語(yǔ)言”,人們可以借助這種語(yǔ)言編寫(xiě)計(jì)算機(jī)讀得懂的程序。

最接近機(jī)器碼的計(jì)算機(jī)語(yǔ)言是匯編語(yǔ)言(Assembly language)。在匯編語(yǔ)言中,用簡(jiǎn)單英文單詞構(gòu)成的助記符(Mnemonics)代替機(jī)器碼,再加上地址符號(hào)(Symbol),組成如圖2所示的計(jì)算機(jī)程序。

計(jì)算機(jī)的語(yǔ)言與算法有多接近人類(lèi)語(yǔ)言

圖2 一個(gè)匯編語(yǔ)言計(jì)算機(jī)程序片段

圖中左邊綠色字是程序的注釋?zhuān)鼈儾粎⒓舆\(yùn)行。

我們?cè)倥e一個(gè)計(jì)算機(jī)程序的例子:完成任意三個(gè)數(shù)從小到大重新排列。比如,任意給計(jì)算機(jī)輸入三個(gè)數(shù):65.73、21.01、1.022,要求計(jì)算機(jī)將它們從小到大排列成:1.022、21.01、65.73。首先,我們必須設(shè)計(jì)一個(gè)算法如下:

第一步

比較第一個(gè)數(shù)與第二個(gè)數(shù)的大小。假如第一個(gè)數(shù)大于第二個(gè)數(shù),則將它們調(diào)換順序,否則就不調(diào)換順序。現(xiàn)在第一個(gè)數(shù)是65.73,它大于第二個(gè)數(shù)21.01,因此將它們調(diào)換順序?,F(xiàn)在三個(gè)數(shù)排列為:21.01、65.73、1.022;

第二步

再比較第第二個(gè)數(shù)與第三個(gè)數(shù)的大小。假如第二個(gè)數(shù)大于第三個(gè)數(shù),則將它們調(diào)換順序,否則就不調(diào)換順序?,F(xiàn)在第二個(gè)數(shù)是65.73,它大于第三個(gè)數(shù)1.022,因此將它們調(diào)換順序?,F(xiàn)在三個(gè)數(shù)排列為:21.01、1.022、65.73;

第三步

再比較第一個(gè)數(shù)與第二個(gè)數(shù)的大小。假如第一個(gè)數(shù)大于第二個(gè)數(shù),則將它們調(diào)換順序,否則就不調(diào)換順序。現(xiàn)在第一個(gè)數(shù)是21.01,它大于第二個(gè)數(shù)1.022,因此將它們調(diào)換順序?,F(xiàn)在三個(gè)數(shù)排列為:1.022、21.01、65.73,完成任務(wù)。

圖3是一個(gè)用Fortran語(yǔ)言編寫(xiě)的計(jì)算機(jī)程序,它將輸入計(jì)算機(jī)的任意三個(gè)數(shù)從小到大排序。

計(jì)算機(jī)的語(yǔ)言與算法有多接近人類(lèi)語(yǔ)言

圖3 一個(gè)完整的Fortran語(yǔ)言計(jì)算機(jī)程序

同樣,圖中左邊綠色字是程序的注釋?zhuān)鼈儾粎⒓舆\(yùn)行。將這個(gè)計(jì)算機(jī)程序輸入計(jì)算機(jī)后運(yùn)行,只要在計(jì)算機(jī)屏幕上用鍵盤(pán)任意敲入3個(gè)數(shù),計(jì)算機(jī)立即就會(huì)將此三個(gè)數(shù)從小到大重新排列,并且顯示在計(jì)算機(jī)屏幕上。當(dāng)然,三個(gè)數(shù)字的重新排序非常容易,人們一目了然就可以完成。如果經(jīng)常要將成千上萬(wàn)的數(shù)字重新排序,就是一件困難的工作。這時(shí)編一個(gè)計(jì)算機(jī)程序,就可以比人工既快又省事。這個(gè)例子也說(shuō)明,計(jì)算機(jī)必須依賴(lài)人類(lèi)提供的算法完成任務(wù),或者說(shuō)人類(lèi)完成創(chuàng)造性工作,計(jì)算機(jī)幫助人類(lèi)完成耗時(shí)費(fèi)力的工作,這基本上是長(zhǎng)久以來(lái)的傳統(tǒng)觀(guān)點(diǎn)。但是,未來(lái)計(jì)算機(jī)會(huì)發(fā)展出與人類(lèi)并駕齊驅(qū)甚至超越人類(lèi)的智能嗎?那時(shí)的計(jì)算機(jī)能夠獨(dú)立完成創(chuàng)造性工作嗎?

咱們?cè)倩氐接?jì)算機(jī)語(yǔ)言問(wèn)題。比較圖2與圖3,讀者馬上會(huì)覺(jué)得:前者猶如天書(shū)一般根本無(wú)法讀懂,而后者的每一行都與英語(yǔ)近似。人們通常將前者稱(chēng)為計(jì)算機(jī)底層語(yǔ)言,將與人類(lèi)語(yǔ)言近似的計(jì)算機(jī)語(yǔ)言稱(chēng)為計(jì)算機(jī)高級(jí)語(yǔ)言。高級(jí)語(yǔ)言不僅僅是與人類(lèi)語(yǔ)言近似,而且在不同CPU之間可以通用。反之,底層語(yǔ)言所編寫(xiě)的計(jì)算機(jī)程序隨著CPU硬件的改變必須改變。無(wú)論是計(jì)算機(jī)底層語(yǔ)言還是高級(jí)語(yǔ)言,它們都要靠被稱(chēng)為“編譯器”的計(jì)算機(jī)程序,將其“翻譯”成計(jì)算機(jī)讀得懂得機(jī)器碼。

計(jì)算機(jī)高級(jí)語(yǔ)言除了上面舉例的Fortran語(yǔ)言以外,更加常見(jiàn)的是C、C++、Java、Javascript 、Python等等。Fortran語(yǔ)言源自于“公式翻譯”(英語(yǔ):Formula Translation)的縮寫(xiě), 最早是1954年約翰.貝克斯在紐約發(fā)布的。Fortran語(yǔ)言經(jīng)過(guò)不斷的改進(jìn),它至今仍然應(yīng)用于科學(xué)和工程計(jì)算領(lǐng)域。C、C++、Java、Javascript是軟件程序員(外號(hào)“碼農(nóng)”)的看家本領(lǐng)。 Python語(yǔ)言是一種比C、C++、Java、Javascript更加高級(jí)的、更加接近人類(lèi)語(yǔ)言的計(jì)算機(jī)語(yǔ)言,代碼極其簡(jiǎn)潔,編程效率極高,用C語(yǔ)言編寫(xiě)的上千行的程序,用Python語(yǔ)言編寫(xiě)往往只有短短幾十行。Python有大量免費(fèi)、開(kāi)源程序,在科學(xué)計(jì)算領(lǐng)域被大量使用,從統(tǒng)計(jì)、排序到機(jī)器學(xué)習(xí)、人工智能等等,幾乎是應(yīng)有盡有,還可以直接調(diào)用C、C++、Java程序。

現(xiàn)在懂得計(jì)算機(jī)底層語(yǔ)言的人實(shí)在是太少了,除了計(jì)算機(jī)科學(xué)專(zhuān)業(yè)的學(xué)生,一般都不學(xué)習(xí)它們了。其實(shí),不懂得計(jì)算機(jī)底層語(yǔ)言者,其應(yīng)用計(jì)算機(jī)高級(jí)語(yǔ)言的水平就不會(huì)太高。另外,用底層語(yǔ)言編寫(xiě)的計(jì)算機(jī)程序運(yùn)行效率遠(yuǎn)比高級(jí)語(yǔ)言高得多,并且需要計(jì)算機(jī)內(nèi)存資源也要小很多,因此,在實(shí)時(shí)性要求高的應(yīng)用中,都是用底層語(yǔ)言編寫(xiě)程序的??梢哉f(shuō),在實(shí)時(shí)控制領(lǐng)域,采用Python語(yǔ)言編寫(xiě)程序的工程師,一般都是水平較低者,真正的高手是用底層語(yǔ)言的,這就好比做高水平科學(xué)實(shí)驗(yàn),要自己制作實(shí)驗(yàn)設(shè)備一樣的道理。

盡管目前有的計(jì)算機(jī)高級(jí)語(yǔ)言(比如python)已經(jīng)很接近人類(lèi)語(yǔ)言了。但是,要讓計(jì)算機(jī)進(jìn)一步讀懂摻雜了許多隨機(jī)因素的人類(lèi)自然語(yǔ)言,容忍自然語(yǔ)言的模糊性,目前還做不到。隨著計(jì)算機(jī)語(yǔ)言的發(fā)展,未來(lái)會(huì)出現(xiàn)一種與人類(lèi)的自然語(yǔ)言完全相同的計(jì)算機(jī)高級(jí)語(yǔ)言嗎?

本文上面提出的兩個(gè)問(wèn)題,正是人工智能面臨的大問(wèn)題,現(xiàn)在給出這些問(wèn)題答案為時(shí)尚早。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7168

    瀏覽量

    87149
  • 人工智能
    +關(guān)注

    關(guān)注

    1787

    文章

    46060

    瀏覽量

    234979
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    計(jì)算機(jī)語(yǔ)言概述

    ;nbsp; 高級(jí)程序設(shè)計(jì)語(yǔ)言40多年以來(lái),計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語(yǔ)言計(jì)算機(jī)硬件、計(jì)算機(jī)應(yīng)用、計(jì)算機(jī)
    發(fā)表于 12-06 00:17

    如何讓計(jì)算機(jī)視覺(jué)更進(jìn)一步接近人類(lèi)視覺(jué)?

    如何讓計(jì)算機(jī)視覺(jué)更進(jìn)一步接近人類(lèi)視覺(jué)?
    發(fā)表于 06-01 06:27

    什么是微型計(jì)算機(jī)?微型計(jì)算機(jī)什么用處?

    匯編語(yǔ)言是什么?什么是微型計(jì)算機(jī)?微型計(jì)算機(jī)什么用處?
    發(fā)表于 07-16 09:59

    計(jì)算機(jī)與程序設(shè)計(jì)語(yǔ)言的關(guān)系是什么?

    計(jì)算機(jī)與程序設(shè)計(jì)語(yǔ)言的關(guān)系是什么?什么是C語(yǔ)言?C語(yǔ)言的特點(diǎn)是什么?
    發(fā)表于 11-11 06:48

    計(jì)算機(jī)組成原理與匯編語(yǔ)言程序設(shè)計(jì)

    計(jì)算機(jī)組成原理與匯編語(yǔ)言程序設(shè)計(jì)是為中央電大計(jì)算機(jī)組成原理與匯編語(yǔ)言程序設(shè)計(jì)課程編寫(xiě)的教材。在開(kāi)始學(xué)習(xí)本書(shū)之前,請(qǐng)大家務(wù)必先認(rèn)真閱讀這篇前言,它將告訴你本課
    發(fā)表于 10-21 17:56 ?0次下載
    <b class='flag-5'>計(jì)算機(jī)</b>組成原理與匯編<b class='flag-5'>語(yǔ)言</b>程序設(shè)計(jì)

    計(jì)算機(jī)語(yǔ)言概述

    計(jì)算機(jī)語(yǔ)言概述 在計(jì)算機(jī)技術(shù)發(fā)展過(guò)程中,出現(xiàn)過(guò)各種各樣的程序設(shè)計(jì)語(yǔ)言。從程序設(shè)計(jì)語(yǔ)言發(fā)展過(guò)程來(lái)看,可分為
    發(fā)表于 12-06 00:17 ?2806次閱讀
    <b class='flag-5'>計(jì)算機(jī)語(yǔ)言</b>概述

    計(jì)算機(jī)二級(jí)C語(yǔ)言快速教程PPT

    計(jì)算機(jī)二級(jí)C語(yǔ)言快速教程PPT,對(duì)大家學(xué)習(xí)C語(yǔ)言很大幫助。
    發(fā)表于 11-20 16:24 ?0次下載

    c語(yǔ)言課設(shè)多功能計(jì)算機(jī)

    c語(yǔ)言課程設(shè)計(jì) 設(shè)計(jì)一個(gè)多功能計(jì)算機(jī) 實(shí)現(xiàn)加法,減法,乘除,多項(xiàng)式等計(jì)算
    發(fā)表于 06-16 18:21 ?7次下載

    關(guān)于國(guó)二計(jì)算機(jī)的C語(yǔ)言的選擇試題

    關(guān)于國(guó)二計(jì)算機(jī)的C語(yǔ)言的選擇試題
    發(fā)表于 08-10 08:36 ?7次下載

    基于邏輯語(yǔ)言計(jì)算機(jī)軟件設(shè)計(jì)(JAVA語(yǔ)言

    研究基于邏輯語(yǔ)言計(jì)算機(jī)軟件開(kāi)放設(shè)計(jì)問(wèn)題。應(yīng)用對(duì)比法分析在計(jì)算機(jī)軟件開(kāi)放設(shè)計(jì)之中,當(dāng)前應(yīng)用不同計(jì)算機(jī)邏輯語(yǔ)言的優(yōu)勢(shì),并可應(yīng)用最優(yōu)的
    發(fā)表于 11-01 15:19 ?0次下載
    基于邏輯<b class='flag-5'>語(yǔ)言</b><b class='flag-5'>計(jì)算機(jī)</b>軟件設(shè)計(jì)(JAVA<b class='flag-5'>語(yǔ)言</b>)

    計(jì)算機(jī)語(yǔ)言的分類(lèi)

    本視頻主要詳細(xì)介紹了計(jì)算機(jī)語(yǔ)言的分類(lèi),分別有機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言等。
    的頭像 發(fā)表于 12-27 16:04 ?2.6w次閱讀
    <b class='flag-5'>計(jì)算機(jī)語(yǔ)言</b>的分類(lèi)

    計(jì)算機(jī)語(yǔ)言的發(fā)展過(guò)程

    本視頻主要詳細(xì)介紹了計(jì)算機(jī)語(yǔ)言的發(fā)展過(guò)程,分別是機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言
    的頭像 發(fā)表于 12-28 16:46 ?3.5w次閱讀

    淺談C語(yǔ)言的二進(jìn)制和計(jì)算機(jī)語(yǔ)言

    說(shuō)計(jì)算機(jī)語(yǔ)言之前,先要說(shuō)明計(jì)算機(jī)的工作原理。如果是最簡(jiǎn)化的描述計(jì)算機(jī),那么它就是很多很多個(gè)開(kāi)關(guān)。
    的頭像 發(fā)表于 01-25 17:33 ?2301次閱讀

    計(jì)算機(jī)的機(jī)器語(yǔ)言和匯編語(yǔ)言與高級(jí)語(yǔ)言的詳細(xì)資料介紹

    計(jì)算機(jī)語(yǔ)言通常是一個(gè)能完整、準(zhǔn)確和規(guī)則地表達(dá)人們的意圖,并用以指揮或控制計(jì)算機(jī)工作的“符號(hào)系統(tǒng)”。計(jì)算機(jī)語(yǔ)言通常分為三類(lèi):即機(jī)器語(yǔ)言、匯編語(yǔ)言
    的頭像 發(fā)表于 02-06 16:11 ?5620次閱讀

    NLP不僅可以做到幫助計(jì)算機(jī)學(xué)習(xí)并理解我們的語(yǔ)言

    這個(gè)時(shí)候,機(jī)器學(xué)習(xí)的分支——自然語(yǔ)言處理(NLP)應(yīng)運(yùn)而生,NLP不僅僅可以做到幫助計(jì)算機(jī)學(xué)習(xí)并理解我們的語(yǔ)言,更會(huì)幫助計(jì)算機(jī)進(jìn)行“情感分析”,理解
    的頭像 發(fā)表于 08-27 15:11 ?2080次閱讀