肖子喻 中南大學(xué)
所謂算法就是解決一個(gè)問(wèn)題的進(jìn)程,因?yàn)樗惴ǖ拇嬖冢覀儾恍枰坑龅揭粋€(gè)問(wèn)題都發(fā)明一個(gè)解決方案。數(shù)學(xué)家們從很早便開始關(guān)注算法的設(shè)計(jì)了,在大約公元前 300 年歐幾里得算法可以計(jì)算兩個(gè)整數(shù)的最大公約數(shù),數(shù)學(xué)家們對(duì)數(shù)學(xué)問(wèn)題進(jìn)行研究和總結(jié),采用一種固定的思維和計(jì)算方式解決相似的問(wèn)題,這樣既能夠減少工作量,也可以大幅度提高工作效率,更快速解決問(wèn)題。將信息學(xué)與數(shù)學(xué)算法結(jié)合,可以提高數(shù)據(jù)收集和處理的效率,處理大規(guī)模的數(shù)據(jù)信息。
近年來(lái)全球數(shù)據(jù)量出現(xiàn)了爆炸性增長(zhǎng),人類日常產(chǎn)生和交流的信息也在呈指數(shù)級(jí)增長(zhǎng),根據(jù)IDC 的預(yù)測(cè),到2020 年全球數(shù)據(jù)量將會(huì)是2005年數(shù)據(jù)量的300倍。我國(guó)發(fā)布的《促進(jìn)大數(shù)據(jù)發(fā)展行動(dòng)綱要》、《大數(shù)據(jù)產(chǎn)業(yè)發(fā)展規(guī)劃(2016-2020)》也將大數(shù)據(jù)認(rèn)定是國(guó)家基礎(chǔ)性戰(zhàn)略資源,發(fā)展大數(shù)據(jù)技術(shù)是國(guó)家戰(zhàn)略的要求。
在當(dāng)前的大數(shù)據(jù)生態(tài)當(dāng)中,最為重要的技術(shù)當(dāng)屬Hadoop 和和Spark。其中Hadoop 是目前應(yīng)用最為廣泛的大數(shù)據(jù)平臺(tái),它是一個(gè)開源的分布式數(shù)據(jù)存儲(chǔ)和應(yīng)用運(yùn)行框架,它的誕生主要是為了解決在集群上對(duì)大規(guī)模的數(shù)據(jù)進(jìn)行可靠存儲(chǔ)和計(jì)算的問(wèn)題。Hadoop 的運(yùn)算速度快,采用的分布式計(jì)算模型能夠非??焖俚膶?duì)大量數(shù)據(jù)進(jìn)行計(jì)算,并且計(jì)算能力可以隨著增加計(jì)算節(jié)點(diǎn)而加強(qiáng),一線互聯(lián)網(wǎng)公司的節(jié)點(diǎn)通??梢赃_(dá)到數(shù)千個(gè)。此外,Hadoop 的容錯(cuò)性強(qiáng),在Hadoop 中對(duì)所有的數(shù)據(jù)都保存了多個(gè)副本,當(dāng)節(jié)點(diǎn)發(fā)生故障時(shí),會(huì)自動(dòng)將作業(yè)重定向到其他正常的節(jié)點(diǎn),保證分布式計(jì)算不會(huì)失敗。Hadoop 的擴(kuò)展性也很強(qiáng)強(qiáng),能夠非常簡(jiǎn)單的通過(guò)添加新的節(jié)點(diǎn)來(lái)擴(kuò)展系統(tǒng)的存儲(chǔ)能力和計(jì)算能力。并且Hadoop 具有非常完善的集群管理工具,即使有海量的數(shù)據(jù)節(jié)點(diǎn)也能進(jìn)行快捷方便的管理。而Spark 則在Hadoop的基礎(chǔ)之上進(jìn)行了發(fā)展,極大提升大數(shù)據(jù)計(jì)算的運(yùn)行速度,并擴(kuò)展了Hadoop 的編程模型,使大數(shù)據(jù)的開發(fā)從“匯編語(yǔ)言時(shí)代”進(jìn)入到了“高級(jí)語(yǔ)言時(shí)代”。
自上世紀(jì)40 年代計(jì)算機(jī)誕生以來(lái),其在金融計(jì)算、航空航天、機(jī)械制造等生活各個(gè)方面扮演著越來(lái)越重要的角色,已經(jīng)成為人類現(xiàn)代文明不可缺少的一部分。在即將到來(lái)的大數(shù)據(jù)時(shí)代,計(jì)算機(jī)技術(shù)的作用只會(huì)更加重要,是大規(guī)模數(shù)據(jù)收集、數(shù)據(jù)分析、數(shù)據(jù)處理的重要工具,而計(jì)算機(jī)執(zhí)行命令的基本邏輯就是算法,算法是其完成任務(wù)的基礎(chǔ)和關(guān)鍵,一套成熟的算法對(duì)設(shè)備的要求相對(duì)較低,可以節(jié)約硬件成本,節(jié)約運(yùn)行時(shí)間,大數(shù)據(jù)時(shí)代數(shù)據(jù)量龐大并且對(duì)信息的時(shí)效性要求較高,從而算法的優(yōu)化顯得至為重要。與此同時(shí),算法的基礎(chǔ)就是數(shù)學(xué),任何算法都以數(shù)學(xué)邏輯為基礎(chǔ),計(jì)算機(jī)技術(shù)的產(chǎn)生離不開數(shù)學(xué)算法的輔助,隨著我國(guó)科技信息的不斷發(fā)展,數(shù)學(xué)算法的功能不斷凸顯出來(lái),各種數(shù)學(xué)算法在互相聯(lián)系中發(fā)揮各自主要的功能,通過(guò)他們之間的緊密聯(lián)系才會(huì)使專業(yè)計(jì)算機(jī)人員研究出更多新技術(shù)、新產(chǎn)品。
在現(xiàn)代計(jì)算機(jī)編寫領(lǐng)域中,數(shù)學(xué)算法是一種高效率的技術(shù),并且數(shù)學(xué)算法在計(jì)算機(jī)編輯中大量被應(yīng)用,例如在 C 語(yǔ)言中計(jì)算機(jī)編程就應(yīng)用的很廣泛。計(jì)算機(jī)編程的優(yōu)化離不開數(shù)學(xué)算法,因?yàn)檫@個(gè)功能的存在,所以更要加強(qiáng)對(duì)數(shù)學(xué)算法的分析,把數(shù)學(xué)算法所具備的特點(diǎn)實(shí)際應(yīng)用到編輯方面。計(jì)算機(jī)技術(shù)一直發(fā)展到現(xiàn)今 2019 年,計(jì)算機(jī)專業(yè)人員越來(lái)越重視計(jì)算機(jī)技術(shù)的應(yīng)用,不斷強(qiáng)化計(jì)算機(jī)技術(shù)在計(jì)算機(jī)行業(yè)的應(yīng)用。在計(jì)算機(jī)技術(shù)中數(shù)學(xué)算法中還需要建立數(shù)學(xué)模型。建立數(shù)學(xué)模型的主要觀點(diǎn),就是利用計(jì)算機(jī)進(jìn)行運(yùn)算,在運(yùn)算過(guò)程中詳細(xì)檢驗(yàn),由此不僅能夠提高編程的效率,也能夠使得計(jì)算機(jī)編程得到更好的優(yōu)化在應(yīng)用數(shù)學(xué)門類。因此數(shù)學(xué)算法可以優(yōu)化語(yǔ)言編程運(yùn)用,在計(jì)算機(jī)編程中通常使用 C 語(yǔ)言,因?yàn)?C 語(yǔ)言在計(jì)算機(jī)行業(yè)中是一種常用性基礎(chǔ)語(yǔ)言,而且 C 語(yǔ)言還可以為高級(jí)語(yǔ)言進(jìn)行擴(kuò)展。以 C 語(yǔ)言為基礎(chǔ)的計(jì)算機(jī)編程中,難免會(huì)出現(xiàn)翻譯與編寫上的錯(cuò)誤與困難。因此在代碼的使用中要做到簡(jiǎn)潔明了化,同時(shí)也提高了面向過(guò)程中的效率,首先做好邏輯分析,根據(jù)相應(yīng)的操作流程按正確的邏輯運(yùn)行。其次,在編程優(yōu)化的過(guò)程中數(shù)學(xué)算法起到關(guān)鍵作用隨著信息化的多樣性發(fā)展,對(duì)于計(jì)算機(jī)編程優(yōu)化與數(shù)學(xué)算法有著直接性的關(guān)系,相同的計(jì)算機(jī)編程語(yǔ)言可以用不同數(shù)學(xué)算法方式表達(dá)出來(lái),在編寫代碼信息的過(guò)程中查找優(yōu)化的主要核心,從而達(dá)到減少程序運(yùn)行的時(shí)間,促進(jìn)代碼執(zhí)行更高的效率。最后,使用數(shù)學(xué)算法可以合理設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),高效的數(shù)學(xué)算法在編程優(yōu)化中要合理設(shè)計(jì)數(shù)據(jù)結(jié),因?yàn)樵诰幊虄?yōu)化中數(shù)據(jù)結(jié)在設(shè)計(jì)是非常重要,在數(shù)學(xué)算法中數(shù)據(jù)結(jié)可以改變變量的位置。減少變量的運(yùn)行空間,從而達(dá)到算法的有效性。例如在稀疏矩陣中元素就很多,矩陣的空間就需要進(jìn)行壓縮。直接壓縮就會(huì)導(dǎo)致二維數(shù)組的浪費(fèi),因此,只能利用三元組對(duì)稀疏矩陣壓縮,進(jìn)而降低算法空間的復(fù)雜性。
隨著計(jì)算機(jī)技術(shù)的發(fā)展,人們提起信息數(shù)據(jù)處理首先想到的各種軟件、人工智能等等,卻忘記各種信息的來(lái)源是人類、信息的收集與處理的目的是為了更好地服務(wù)人類,開發(fā)操作和使用各種數(shù)據(jù)處理技術(shù)的還是人類。古代人類只需要知道簡(jiǎn)單的加減乘除就足以應(yīng)對(duì)生活中的各種問(wèn)題、可以參與經(jīng)濟(jì)貿(mào)易往來(lái),而當(dāng)今時(shí)代和今后的大數(shù)據(jù)時(shí)代人們每天要處理的數(shù)據(jù)也在飛速上升,要想在這種環(huán)境下有所作為,縝密的思維和快速的計(jì)算能力是必不可少的技能。數(shù)學(xué)算法包括高等代數(shù)、概率統(tǒng)計(jì)、數(shù)學(xué)模型、離散數(shù)學(xué)、模糊數(shù)學(xué)等多門知識(shí),學(xué)生通過(guò)分析計(jì)算大量數(shù)字,可以形成敏銳的數(shù)字感;通過(guò)對(duì)數(shù)學(xué)公式、定理推理證明,可以培養(yǎng)較強(qiáng)的邏輯思維,從而善于運(yùn)用數(shù)學(xué)模型解決各種問(wèn)題。這對(duì)個(gè)人能力的提高以及開發(fā)計(jì)算機(jī)技術(shù)都有極大地幫助。
隨著大數(shù)據(jù)時(shí)代社會(huì)對(duì)數(shù)據(jù)處理能力要求的提高,計(jì)算機(jī)技術(shù)的基礎(chǔ),數(shù)學(xué)算法專業(yè)也必然迎來(lái)飛速的發(fā)展,然而目前我國(guó)大數(shù)據(jù)人才缺口很大,未來(lái)大數(shù)據(jù)行業(yè)的人才需求很龐大,但從業(yè)人員以及正在培養(yǎng)的大學(xué)生數(shù)量卻遠(yuǎn)遠(yuǎn)不夠,大數(shù)據(jù)相關(guān)企業(yè)對(duì)數(shù)據(jù)挖掘工程師、算法工程師等職位都開出很高的薪資待遇,卻仍經(jīng)常遇到找不到合適的人才的窘境。因此,不斷探索優(yōu)化數(shù)學(xué)算法在大數(shù)據(jù)分析技術(shù)中的應(yīng)用不僅順應(yīng)時(shí)代發(fā)展的潮流,促進(jìn)計(jì)算機(jī)、大數(shù)據(jù)技術(shù)的進(jìn)步,從業(yè)人員也可以實(shí)現(xiàn)人生價(jià)值、享受高薪待遇。
綜上所述,不難看出掌握經(jīng)典數(shù)學(xué)算法,探索新型算法是發(fā)展大數(shù)據(jù)分析處理基礎(chǔ)的基礎(chǔ)和關(guān)鍵,學(xué)習(xí)數(shù)學(xué)算法不僅能夠提高計(jì)算機(jī)軟件的功能與效率,也能培養(yǎng)學(xué)習(xí)者的邏輯思維、計(jì)算能力和信息處理能力。作為一名新時(shí)代大學(xué)生,我們應(yīng)該夯實(shí)專業(yè)基礎(chǔ)知識(shí),了解最近技術(shù)前沿動(dòng)向,依靠自己的知識(shí)和技術(shù)在大數(shù)據(jù)時(shí)代散發(fā)自己的光芒。