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