當前位置:首頁 » 操作系統 » 以演算法為視角

以演算法為視角

發布時間: 2022-10-31 20:43:40

① 如何解決演算法多樣化帶來的問題

提倡演算法多樣化是新課標倡導的重要思想,是指尊重學生的獨立思考,鼓勵學生探索解題的不同方法。我在教學中也進行了演算法多樣化的嘗試。
在教學時,我創設了一個情景:出示鉛筆,「這是一盒鉛筆,裡面裝了10支鉛筆,這里還有5支鉛筆,老師這里一共有多少支鉛筆?」學生很快算出來是15支,我又問:「我有15支鉛筆,要送給小朋友9支,還剩多少支?」並寫出算式:15-9= 我讓學生通過從15支鉛筆中拿走9支鉛筆的辦法來解這個算式,問學生「誰願意來拿走9支?並說說你是怎麼拿的?」
生1:我是先拿走5支,再從10里拿4支。15-5=10 10-4=6
生2:我是從10里拿走9支。10-9=1 1+5=6
生3:我是先從10里拿走4支,再拿走外面的5支。10-4=6
生4:我還有不同的方法。我從外面拿走4支,再從10裡面拿走5支。
5-4=1 10-5=5 1+5=6
生5:我從外面拿走1支,再從10里拿走8支。5-1=4 10-8=2 4+2=6
生6:我從10裡面拿走7支,從5里拿走2支。10-7=3 5-2=3 3+3=6
生7:因為9+6=15 所以15-9=6
學生熱鬧的發言給出了多種不同的方法,確實可以說是做到演算法多樣化了,可是面對這許多種演算法,我心裡有點著急。一急:這每一種方法都要給學生一一介紹嗎?光是第一種方法,如果要學生掌握,大概需要半節課。每一種方法都介紹,課怎麼上得完呢?二急:要不要從這眾多的演算法中選出優演算法?如何選?三急:如果要選優演算法,應重點選擇哪種方法?四急:還有一部分學生連一種方法都不清楚,我要不要講解?五急:如果不把每一種演算法都講清楚,學生怎麼會知道這種方法是否適合他?也許沒講到的那種方法剛好就是最適合他的呢?六急:對一部分學生,如果不把一些思維方式強加於他,他可能一直會用數手指頭的方法,難道就讓他一直這樣嗎?……
但是,課堂教學的緊迫容不得我的茫然,我選擇了介紹了生1和生2的方法,並著重讓學生通過擺小棒的辦法領悟第2種方法。
這個處理過程可以說是我把我個人的看法和思想強加給了學生,這不是我希望看到的情形。學習是為了什麼?要不要學到一定的知識?答案是肯定的。可是當不是所有的學生都能主動建構知識的時候,教師該如何做呢?
演算法多樣化的教學思考及其策略把握
「鼓勵演算法的多樣化」是新課程標準的一個重要理念。當前,根據新課程標准編制的各種版本的教材,都將這個重要理念擺在突出的位置。演算法多樣化已得到廣大教師的極大關注和積極實踐,但在算化多樣化的理解和把握上則各不相同:有的教師要求學生對各種方法都要理解掌握,有的教師認為應該從中選取一種最好的方法,還有的教師認為應尊重學生的「原創演算法」,讓學生「你想怎麼算就怎麼算」。可見,在演算法多樣化的教學中確實存在著急需解決的實踐問題。
以「20以內退位減法」為例,敘述了自己在教學中進行演算法多樣化的嘗試,並提出了自己的教學困惑(即文中的「六急」)。回顧我鎮實施新課程的起步階段,我鎮基層教師在進行演算法多樣化教學時也曾經歷過,因此她的困惑具有一定的普遍意義。下面就結合我鎮在演算法多樣化上的研究和實踐,談談我們對演算法多樣化的教學認識以及策略把握。
一、為什麼要提倡演算法多樣化
1.這是計算教學的價值所在
隨著計算機(器)的普及,計算教學的要求正在逐步降低,計算教學的目的正在發生轉變,不僅是原先要求學生熟練、正確的計算技能(實際上新課程標准已降低了計算要求);更重要的是,計算教學的價值是突出演算法思維,在倡導演算法多樣化的過程中,培養學生的創新精神、探索意識和解決問題的能力。我國著名數學家吳文俊院士在數學機械化領域的開創性工作,引發了國際數學界對中國古代數學的傳統(即演算法化思想)的重新審視。當前我們的中小學數學教學應當繼承和挖掘我國古代數學傳統之精華。因而有學者提出,身處信息社會的學生必須掌握兩種重要的思維方法,即批判性思維和演算法思維。長期以來,我國的小學數學教學把培養學生的計算能力作為小學數學基礎的核心,但面對計算機信息技術的迅猛發展以及國際數學教育的改革潮流,小學數學的基礎不能僅僅停留在「熟練的計算能力上」。對於計算教學,應當從傳統的「方法統一和過分強調計算技能」轉變為「尊重學生的個性特點、關注學生思維能力的培養」。所以,計算教學不僅僅是培養學生的計算技能,還要培養學生推理計算的能力,強調演算法思維的多樣性。演算法多樣化的本質是讓學生從自己已有的知識與經驗出發學習新知識,鼓勵學生通過獨立思考而探尋解題的方法。對於「15 -9」的演算法探索,體現了「知識再發現」的要求,這對培養學生的創新精神和探索意識是極其有利的。
2.這是尊重學生不同認知方式的體現
以往的數學教學中,過分地強調解題方法的唯一性或計算方法的最優化,而忽視了學生解決問題過程中不同的思維方式和不同解決策略的探索。實際上,在計算教學中,由於學生認知方式的不同,在探索過程中必然會引發計算方法的多樣性。認知方式是個體在知覺、思維、記憶和解決問題等認知活動中加工和組織信息時所顯示出來的獨特而穩定的風格。認知方式沒有優劣之分,只是表現為學生對信息加工方式的某種偏愛。教學中,特別是在新知識的探索階段,理應尊重每一個學生的個性特徵,允許不同的學生從不同的角度認識問題,採用不同的方式表達自己的想法,用不同的知識與方法解決問題。面對新知識,學生用自己過去的經驗與本領來加以解決,教師給予適當的鼓勵和評價,這是尊重學生不同認知方式的體現。
二、如何把握演算法多樣化
1.注意演算法的簡約化和優化
一方面,學生認知水平各有高低,這決定了其解決問題的方法必然存在優劣之分。有時學生的方法會顯得過於繁瑣,如生4、生5和生6的方法;有時學生的方法缺乏思維的共性,無法作為基本方法而供學生選用等。另一方面,推動數學發展的內在動力之一,就是數學家探索方法的簡單化和最優化。因此,教師在教學中倡導演算法多樣化的同時,還要引導學生對多樣化的方法進行一定的簡化與優化(不是指最優化),把簡化與優化的過程作為學生反思以及進一步探索的過程。如果在教學中對學生良莠並存的各種思維方式以及演算法視而不見,對影響學生後繼學習的核心基礎知識和基本方法放任不管,那麼就會失去教師「教」的真正意義,學生也就失去了自我反思、比較、交流和提升的機會。
2.明確每個教學階段的目的
(1)探索階段,重在倡導演算法的多樣化。教學中,讓學生通過自主探索、獨立思考,提出自己解決問題的方法。如果有的學生有困難,允許學生之間進行一定的討論與交流;對於認知水平較高的學生,還要鼓勵他們提出不同的解決方法。這一階段,教師教學的重要策略就是啟發、引導、鼓勵學生,讓學生「你想怎麼算就怎麼算」。學生主要通過自主探索,提出解決問題的方法,培養學生的探索意識和解決問題的能力。需指出的是:其一,演算法多樣化不等同於「一題多解」。在教學中,有的老師往往把演算法多樣化等同於「一題多解」,要求所有學生盡可能地探索出幾種方法,結果使一部分認知水平較低的學生產生畏懼情緒,也增加了學生不必要的負擔。對此,北京師范大學周玉仁教授指出兩者是有區別的。她認為,「一題多解」是面向學生個體,尤其是中等以上水平的學生,遇到同一道題可有多種思路多種解法,目的是為了發展學生思維的靈活性。而「多樣化」是面向學生群體的,學生可以用自己喜歡或能理解的演算法,對學生個體來說,不要求每人都想出或掌握兩種或更多種演算法;同時在群體多樣化時,通過交流、評價可以吸收或改變自己原有的演算法。這對我們廣大教師來說,具有很強的實踐指導意義。其二,演算法多樣化應防止陷入形式化的誤區。我們強調自主探究,倡導演算法多樣化是以關注學生的獨立思考,尊重學生的個性為重要目標的。教學中,教師不必煞費苦心「索要」多樣化的演算法,片面追求演算法多樣化的探究,那隻能是造成學生低層次思維的重復,或者「依他人之樣畫瓢」而已。生4、生5和生6的計算方法,反映出教師在演算法多樣化的處理上有這樣的影子,教師還沒有準確把握操作和思維的關系。
(2)總結階段,重在對演算法進行歸納與優化。在學生自主探索的基礎上,把自己解決問題的方法進行交流與匯總。這里要強調的是,教師一定要引導學生在交流與匯總的基礎上對學生提出的各種解題方法給予分析、歸納與優化。不然,演算法的多樣化有時往往會讓一些中、差生感到眼花繚亂,無所適從,以致方法越多越糊塗,達不到演算法多樣化的教學目的。事件中學生通過自己的探索,全班交流得出的計算方法有7種之多,但很可惜,教師沒有引導學生對各種方法進行一定的分析與歸納、簡化與優化。
其實在這一階段,教師要引導學生對各種方法進行一定的考察,分析各種方法的特點,並對各種方法進行一定的歸類。事件中生1的計算方法是「平十法」(又稱「連減法」);生2的計算方法是「破十法」;生3、生4、生5和生6的計算方法都是通過把15和9進行分拆,再利用原有的不退位減法和加法知識加以解決的,屬於同一類;生7的計算方法是利用加減法之間的關系,即「做減法,想加法」而加以解決的。在此基礎上,對於各類方法可以作進一步分析,讓學生感悟、理解探索和解決問題的數學思想方法,即把要解決的新知轉化為學過的舊知而加以順利解決。對於生3、生4、生5和生6的計算方法,引導學生去分析這些方法的缺點和弱點而加以舍棄,以突出基本原理和通用方法,切實加強數學課程的基礎性。通過上述的教學處理,即在倡導演算法多樣化的基礎上,引導學生對多樣化的演算法進行分析與歸納、簡化與優化。
(3)應用階段,則應當鼓勵演算法的個性化。即尊重學生的不同認知風格,允許學生「你喜歡用什麼方法就用什麼方法計算」。我們倡導演算法的多樣化,決不是簡單地讓學生「你想怎麼算就怎麼算」,而是在對多樣化演算法的分析與總結的基礎上,倡導科學、合理的方法,舍棄不科學、不合理的方法,再讓學生「你想怎麼算就怎麼算」,真正體現出演算法多樣化的本質要求。在應用階段,教師鼓勵學生演算法個性化,自主選擇經過大家歸納、優化後自己所理解、認可和喜歡的一種方法;但同時不排斥一部分認知水平較高的學生,用自己喜歡的多種計算方法計算;同樣,也允許個別學習困難的學生暫時保留經過優化已遭淘汰的方法。當然,這里允許個別特殊學生保留已遭淘汰的方法,並不是說教師可以遷就學生的現有發展水平,放棄教師的主導作用,而是必須因勢利導,不失時機地啟發學生超越自我,真正體現教學是為了促進學生發展的宗旨。
視角2
對演算法多樣化的幾點思考與建議
思考一:
到底什麼是演算法多樣化?為什麼要鼓勵演算法多樣化?演算法多樣化不是對學生個體的要求,而是面向學生群體的。學習是學生在已有知識經驗基礎上的自主建構活動,而學生之間的差異是客觀存在的,對於同一道計算題,解題思路往往不盡相同。面對全班學生,教師只講解一種演算法的教學,容易忽視學生的個別差異,遏制學生的創造性。鼓勵演算法多樣化,是讓每個學生用自己最能理解的方法進行計算,通過交流評價從中得到啟發,在各自的基礎上得到發展。
思考二:
演算法多樣化,是不是演算法越多越好?在學生回答完一種方法後,教師常會不停地追問「還有嗎?」,於是,學生有時會為演算法的多樣而挖空心思。案例中的學生,有從10里拿走9支的,也從10里拿走8支、拿走7支、拿走4支的。我想,在老師的「還有嗎」下,可能有學生會從10里拿走6支、拿走5支的。上述每一種拿法應該是有區別的,但不是我們所要鼓勵的演算法多樣化。其實,教師在這里應該適時引導:」小朋友們這幾種拿法是不同的,但是,我們的想法其實是一樣的,都是——「,引導學生歸類,讓他們體會到這些想法屬於同一類,並進一步比較發現,從10里拿走9的方法,計算最簡單方便。注意,演算法多樣化,關注的不是形式的多樣,而是想法的多樣。對於學生形式的多樣,教師要作引導。演算法多樣化,絕不是演算法越多越好。
思考三:
多樣的演算法要不要優化?在學生出現了多種演算法後,教師常會說「你們可以用自己喜歡的方法進行計算」,看似非常尊重學生的選擇,其實是一種簡單化的處理。如若學生喜歡扳手指計算,教師也任其喜歡?數學是講「優化」的,教師應該引導學生對多種演算法進行比較,讓學生體會到哪種演算法是最簡捷、最容易的方法。當然,有些演算法很難說出孰優孰劣,就讓學生憑經驗自己做選擇。
建議:
對本節課的教學,有三點建議:(1)「誰願意來拿走9支?並說說你是怎麼拿的?」這一提問會妨礙學生自己的思考,學生在拿的過程中不太會有「用加算減」的想法,然而,這也是應該讓學生學會的一種演算法;(2)問題出示後,教師要給出一定的時間讓學生獨立思考、嘗試計算,最好能讓學生在小組內交流自己的想法,而不是要求學生迅速做出反應,因為那樣往往是少部分學優生積極參與,其餘學生被動旁聽,很難真正做到演算法多樣化;(3)教師要適時介入(特別是當學生中出現從10中拿幾的想法一致、拿法不同的時侯),及時地引導,讓學生在交流、比較中獲得新的認識,思維得到發展。

② 什麼是演算法,它的五大特性是什麼,演算法和程序的關系是什麼

演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。

一個演算法應該具有以下五個重要的特徵:

有窮性(Finiteness)
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;

確切性(Definiteness)
演算法的每一步驟必須有確切的定義;

輸入項(Input)
一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件;

輸出項(Output)
一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的演算法是毫無意義的;

可行性(Effectiveness)
演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成(也稱之為有效性)。

演算法和程序的關系是:

演算法就是程序的靈魂,一個需要實現特定功能的程序,實現它的演算法可以有很多種,所以演算法的優劣決定著程序的好壞。

程序就是遵循一定規則的、為完成指定工作而編寫的代碼。有一個經典的等式闡明了什麼叫程序:程序 = 演算法 + 數據結構 + 程序設計方法 + 語言工具和環境 。

③ 大學計算思維視角學什麼

大學計算機-計算思維視角》是學校非計算機類專業通識教育必修課程,是學習其他計算機相關課程的基礎課,屬於通識教育人工智慧與信息技術課程模塊。該課程包括計算機與計算思維、計算機信息表示、計算機系統、演算法與程序設計、資料庫與大數據、計算機網路概述與人工智慧概述等7個部分內容,旨在傳授計算科學知識,培養學生計算思維和信息素養,提高應用計算機解決問題能力和計算機應用水平。課程採用「線上+線下+實驗」混合式教學方式,線上學習者通過觀看視頻、教輔材料,並結合相關作業練習以及測試的形式進行自學,鼓勵學生通過智慧樹平台與同學、老師學習交流,幫助自身掌握和鞏固所學知識,線下定期進行翻轉課堂模式教學,課堂上以小組討論互動交流等多種形式促進學生知識的吸收內化,並根據教學內容安排一定學時的上機實驗,進一步提高學生計算機操作及解決問題的能力。

④ 優化演算法筆記(二)優化演算法的分類

(以下描述,均不是學術用語,僅供大家快樂的閱讀)

在分類之前,我們先列舉一下常見的優化演算法(不然我們拿什麼分類呢?)。
1遺傳演算法Genetic algorithm
2粒子群優化演算法Particle Swarm Optimization
3差分進化演算法Differential Evolution
4人工蜂群演算法Artificial Bee Colony
5蟻群演算法Ant Colony Optimization
6人工魚群演算法Artificial Fish Swarm Algorithm
7杜鵑搜索演算法Cuckoo Search
8螢火蟲演算法Firefly Algorithm
9灰狼演算法Grey Wolf Optimizer
10鯨魚演算法Whale Optimization Algorithm
11群搜索演算法Group search optimizer
12混合蛙跳演算法Shuffled Frog Leaping Algorithm
13煙花演算法fireworks algorithm
14菌群優化演算法Bacterial Foraging Optimization
以上優化演算法是我所接觸過的演算法,沒接觸過的演算法不能隨便下結論,知之為知之,不知為不知。其實到目前為止優化演算法可能已經有幾百種了,我們不可能也不需要全面的了解所有的演算法,而且優化演算法之間也有較大的共性,深入研究幾個之後再看其他優化演算法上手速度會灰常的快。
優化演算法從提出到現在不過50-60年(遺傳演算法1975年提出),雖種類繁多但大多較為相似,不過這也很正常,比較香蕉和人的基因相似度也有50%-60%。當然演算法之間的相似度要比香蕉和人的相似度更大,畢竟人家都是優化演算法,有著相同的目標,只是實現方式不同。就像條條大路通羅馬,我們可以走去,可以坐汽車去,可以坐火車去,也可以坐飛機去,不管使用何種方式,我們都在去往羅馬的路上,也不會說坐飛機去要比走去更好,交通工具只是一個工具,最終的方案還是要看我們的選擇。

上面列舉了一些常見的演算法,即使你一個都沒見過也沒關系,後面會對它們進行詳細的介紹,但是對後面的分類可能會有些許影響,不過問題不大,就先當總結看了。
再對優化演算法分類之前,先介紹一下演算法的模型,在筆記(一)中繪制了優化演算法的流程,不過那是個較為簡單的模型,此處的模型會更加復雜。上面說了優化演算法有較大的相似性,這些相似性主要體現在演算法的運行流程中。
優化演算法的求解過程可以看做是一個群體的生存過程。

有一群原始人,他們要在野外中尋找食物,一個原始人是這個群體中的最小單元,他們的最終目標是尋找這個環境中最容易獲取食物的位置,即最易存活下來的位置。每個原始人都去獨自尋找食物,他們每個人每天獲取食物的策略只有採集果實、製作陷阱或者守株待兔,即在一天之中他們不會改變他們的位置。在下一天他們會根據自己的策略變更自己的位置。到了某一天他們又聚在了一起,選擇了他們到過的最容易獲取食物的位置定居。
一群原始人=優化演算法中的種群、群體;
一個原始人=優化演算法中的個體;
一個原始人的位置=優化演算法中個體的位置、基因等屬性;
原始人變更位置=優化演算法中總群的更新操作;
該位置獲取食物的難易程度=優化演算法中的適應度函數;
一天=優化演算法中的一個迭代;
這群原始人最終的定居位置=優化演算法所得的解。
優化演算法的流程圖如下:

對優化演算法分類得有個標准,按照不同的標准分類也會得到不一樣的結果。首先說一下我所使用的分類標准(動態更新,有了新的感悟再加):

按由來分類比較好理解,就是該演算法受何種現象啟發而發明,本質是對現象分類。

可以看出演算法根據由來可以大致分為有人類的理論創造而來,向生物學習而來,受物理現象啟發。其中向生物學習而來的演算法最多,其他類別由於舉例有偏差,不是很准確,而且物理現象也經過人類總結,有些與人類現象相交叉,但仍將其獨立出來。
類別分好了,那麼為什麼要這么分類呢?

當然是因為要湊字數啦,啊呸,當然是為了更好的理解學習這些演算法的原理及特點。
向動物生存學習而來的演算法一定是一種行之有效的方法,能夠保證演算法的效率和准確性,因為,如果使用該策略的動物無法存活到我們可以對其進行研究,我們也無法得知其生存策略。(而這也是一種倖存者偏差,我們只能看到行之有效的策略,但並不是我們沒看到的策略都是垃圾,畢竟也發生過小行星撞地球這種小概率毀滅性事件。講個冷笑話開cou心一shu下:一隻小恐龍對他的小夥伴說,好開心,我最喜歡的那顆星星越來越亮了(完)。)但是由於生物的局限性,人們所創造出的演算法也會有局限性:我們所熟知的生物都生存在三維空間,在這些環境中,影響生物生存的條件比較有限,反應到演算法中就是這些演算法在解決較低維度的問題時效果很好,當遇到超高維(維度>500)問題時,結果可能不容樂觀,沒做過實驗,我也不敢亂說。

按更新過程分類相對復雜一點,主要是根據優化演算法流程中更新位置操作的方式來進行分類。更新位置的操作按我的理解可大致分為兩類:1.跟隨最優解;2.不跟隨最優解。
還是上面原始人的例子,每天他有一次去往其他位置狩獵的機會,他們採用何種方式來決定今天自己應該去哪裡呢?
如果他們的策略是「跟隨最優解」,那麼他們選取位置的方式就是按一定的策略向群體已知的最佳狩獵位置(歷史最佳)或者是當前群體中的最佳狩獵位置(今天最佳)靠近,至於是直線跑過去還是蛇皮走位繞過去,這個要看他們群體的策略。當然,他們的目的不是在最佳狩獵位置集合,他們的目的是在過去的途中看是否能發現更加好的狩獵位置,去往已經到過的狩獵地點再次狩獵是沒有意義的,因為每個位置獲取食物的難易程度是固定的。有了目標,大家都會朝著目標前進,總有一日,大家會在謀個位置附近相聚,相聚雖好但不利於後續的覓食容易陷入局部最優。
什麼是局部最優呢?假設在當前環境中有一「桃花源」,擁有上帝視角的我們知道這個地方就是最適合原始人們生存的,但是此地入口隱蔽「山有小口,彷彿若有光」、「初極狹,才通人。」,是一個難以發現的地方。如果沒有任何一個原始人到達了這里,大家向著已知的最優位置靠近時,也難以發現這個「桃源之地」,而當大家越聚越攏之後,「桃源」被發現的可能性越來越低。雖然原始人們得到了他們的解,但這並不是我們所求的「桃源」,他們聚集之後失去了尋求「桃源」的可能,這群原始人便陷入了局部最優。

如果他們的策略是「不跟隨最優解」,那麼他們的策略是什麼呢?我也不知道,這個應該他們自己決定。畢竟「是什麼」比「不是什麼」的范圍要小的多。總之不跟隨最優解時,演算法會有自己特定的步驟來更新個體的位置,有可能是隨機在自己附近找,也有可能是隨機向別人學習。不跟隨最優解時,原始人們應該不會快速聚集到某一處,這樣一來他們的選擇更具多樣性。
按照更新過程對上面的演算法分類結果如下

可以看出上面不跟隨最優解的演算法只有遺傳演算法和差分進化演算法,他們的更新策略是與進化和基因的重組有關。因此這些不跟隨最優解的演算法,他們大多依據進化理論更新位置(基因)我把他們叫做進化演算法,而那些跟隨群體最優解的演算法,他們則大多依賴群體的配合協作,我把這些演算法叫做群智能演算法。

目前我只總結了這兩種,分類方法,如果你有更加優秀的分類方法,我們可以交流一下:

目錄
上一篇 優化演算法筆記(一)優化演算法的介紹
下一篇 優化演算法筆記(三)粒子群演算法(1)

⑤ 視角怎麼計算

人眼到視平面的距離視固定的(視距),視平面左右兩個邊緣到人眼的連線得到的角度是視角。 一般我們設置視角來計算視距。 為了方便,我們一般取人眼位置為 z 軸原點,這樣,物體距離眼睛的距離(物距)還有物體在視平面上投影的長度(像長)以及 物體的實際長度(物長)的關系就是這樣: 像長:像距 = 物長:物距 即 像長 = 物長 * 像距 / 物距 (1) 假設我們的視角寬度用x方向(一般哺乳類都是如此,因為兩眼是x方向排列的),那麼有這樣的關系: (視平面寬度/2) /像距 = tan(視角/2) 於是: 像距 = (2/視平面寬度) * tan(視角/2) (2) (2) 帶入 (1) 就可以得到: 像長 = 物長 * (2/視平面寬度) * tan(視角/2) / 物距 這樣我們就可以知道,當視角已知的時候,一個高為 h 的物體在視平面上的投影是多高了。
這是正投影的做法,但是實際上人類的眼睛看到的世界不是這樣的。把視平面當成是一個球面,每一點的計算公式仍然和上面的一樣,這樣計算出來的結果才能更准確地反映寬視角地情形,一般人類地視角是120度的,但是用正投影的話,視角一般只能設置到75度左右。
這就是為什麼我們玩 CS 的時候總是覺得視角有點窄,看不到旁邊的人的緣故緣故。 沒有餘光對人類來說是很不方便的。 在手機游戲裡面廣泛使用的視線跟蹤演算法,用的就是第二種演算法。
遠的東西看起來小是因為物距比較大,像比較小,視角是視力范圍的衡量標准。

⑥ 在計算機中,演算法是指什麼

計算機演算法是以一步接一步的方式來詳細描述計算機如何將輸入轉化為所要求的輸出的過程,或者說,演算法是對計算機上執行的計算過程的具體描述。

一個演算法必須具備以下性質:

(1)演算法首先必須是正確的,即對於任意的一組輸入,包括合理的輸入與不合理的輸入,總能得到預期的輸出。如果一個演算法只是對合理的輸入才能得到預期的輸出,而在異常情況下卻無法預料輸出的結果,那麼它就不是正確的。

(2)演算法必須是由一系列具體步驟組成的,並且每一步都能夠被計算機所理解和執行,而不是抽象和模糊的概念。

(3)每個步驟都有確定的執行順序,即上一步在哪裡;下一步是什麼,都必須明確,無二義性。

(4)無論演算法有多麼復雜,都必須在有限步之後結束並終止運行;即演算法的步驟必須是有限的。在任何情況下,演算法都不能陷入無限循環中。

一個問題的解決方案可以有多種表達方式;但只有滿足以上4個條件的解才能稱之為演算法。

(6)以演算法為視角擴展閱讀:

演算法可大致分為基本演算法、數據結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法,厄米變形模型,隨機森林演算法。

演算法可以宏泛的分為三類:

一,有限的,確定性演算法 這類演算法在有限的一段時間內終止。他們可能要花很長時間來執行指定的任務,但仍將在一定的時間內終止。這類演算法得出的結果常取決於輸入值。

二,有限的,非確定演算法 這類演算法在有限的時間內終止。然而,對於一個(或一些)給定的數值,演算法的結果並不是唯一的或確定的。

三,無限的演算法 是那些由於沒有定義終止定義條件,或定義的條件無法由輸入的數據滿足而不終止運行的演算法。通常,無限演算法的產生是由於未能確定的定義終止條件。

⑦ 如何計算視角

人眼到視平面的距離視固定的(視距),視平面左右兩個邊緣到人眼的連線得到的角度是視角。

一般我們設置視角來計算視距。

為了方便,我們一般取人眼位置為 z 軸原點,這樣,物體距離眼睛的距離(物距)還有物體在視平面上投影的長度(像長)以及 物體的實際長度(物長)的關系就是這樣:

像長:像距 = 物長:物距
即 像長 = 物長 * 像距 / 物距 (1)

假設我們的視角寬度用x方向(一般哺乳類都是如此,因為兩眼是x方向排列的),那麼有這樣的關系:

(視平面寬度/2) /像距 = tan(視角/2)
於是:

像距 = (2/視平面寬度) * tan(視角/2) (2)

(2) 帶入 (1)
就可以得到:
像長 = 物長 * (2/視平面寬度) * tan(視角/2) / 物距

這樣我們就可以知道,當視角已知的時候,一個高為 h 的物體在視平面上的投影是多高了。

這是正投影的做法,但是實際上人類的眼睛看到的世界不是這樣的。把視平面當成是一個球面,每一點的計算公式仍然和上面的一樣,這樣計算出來的結果才能更准確地反映寬視角地情形,一般人類地視角是120度的,但是用正投影的話,視角一般只能設置到75度左右。
這就是為什麼我們玩 CS 的時候總是覺得視角有點窄,看不到旁邊的人的緣故緣故。沒有餘光對人類來說是很不方便的。
在手機游戲裡面廣泛使用的視線跟蹤演算法,用的就是第二種演算法。
遠的東西看起來小是因為物距比較大,像比較小,視角是視力范圍的衡量標准

⑧ 演算法分析的目的是什麼

演算法分析的目的是,分析演算法的效率以求改進。演算法分析是對一個演算法需要多少計算時間和存儲空間作定量的分析。

演算法是解題的步驟,可以把演算法定義成解一確定類問題的任意一種特殊的方法。在計算機科學中,演算法要用計算機演算法語言描述,演算法代表用計算機解一類問題的精確、有效的方法。

演算法帶來的影響

在大數據時代,數字已經成為敏感信息,更被大家關注。每個人只要是有關於信息的填寫都開始變得謹慎起來。然而看起來如此小心的我們,卻在不知不覺中陷入「演算法崇拜」。演算法就是以數據為基礎的技術原理,很多人還不知道自己依賴了數字和演算法。

比如早上很多會打開APP查看今天的天氣,提醒穿什麼衣服,出門要不要帶傘。又比如打開地圖,查看今天路上有沒有堵車,是否限行等等。

這種行為主要是APP內核的演算法導致的,是一種輕度的「演算法依賴」,但是如果我們過度的依賴演算法為我們的工作和生活做決策時,你可能就陷入了「演算法崇拜」,被演算法左右你的內心而迷失方向。

⑨ 如何深入理解無人機硬體與演算法

常見飛行器機型系列告一段落後,MR.城堡專欄的「城堡里學無人機系列」將逐漸深入到演算法、硬體、無人機設計等內容。首先面對的問題就是如何選擇合適的「過渡切入點」,即如何找到一個切入點能夠讓喜歡無人機的朋友們容易過渡到無人機的專業內容,這個環節非常重要。因為大家雖然都很喜歡無人機,但現實情況是每個人的教育背景,對無人機的需求,看待問題和事物的習慣與角度等都有很大區別。



同樣的,無論採用隨身tracker還是內置感測系統的地面站式遙控器抑或直接採用手機,都可以傳輸回被跟蹤目標的「外環狀態信息」。

兩者比較,形成狀態誤差,通過IMU等感測器反饋無人機內環姿態信息,與目標姿態形成狀態誤差,並以此計算得出控制量。

通過狀態視角,可以很清晰的理解不同產品的硬體意義,並以此設計自己的無人機控制系統。

圍繞著無人機狀態反饋信息的處理和使用,演算法可以走向兩個不同的分支:數據融合(數據濾波)和自動控制。根據不同的狀態特點,圍繞數學模型建立系統框架,根據演算法以及反饋狀態信息的要求選擇相關的硬體搭建無人機系統等內容是無人機控制系統設計的清晰脈絡。MR.城堡會在後續系列文章中逐漸搭建這個系統架構中的各個部分,幫助不同行業喜歡無人機的朋友走入奇妙的無人機世界。

⑩ 演算法管理:組織管理轉型、企業高效決策的制勝利器

以下文章來源於蜜蜂學堂

「小李,你本周的表現非常出色。您的銷售額增長了70%,從而幫助你的團隊在排行榜中取得第一的好成績。但是你仍然有很多開放的機會,所以請繼續努力哦!」 

接收績效反饋有助於員工成長,它鼓勵學習並獎勵良好的表現。  但是,如果是演算法提供反饋而不是人,該怎麼辦?這就是組織中演算法管理的基礎。

什麼是演算法管理?

演算法管理是通過演算法對員工進行戰略跟蹤、評估和管理。組織通過演算法接管了過去由管理者執行的任務。

這種管理創新在零工經濟中尤為常見。 例如,Uber,Deliveroo和UpWork之類的平台使用演算法來管理和密切監視其全球員工。

演算法給員工分配任務並評估其績效。他們還提供反饋和有關如何提高績效的建議。

但是,使用演算法管理員工慢慢地不再局限於零工經濟。傳統組織越來越發現提高效率和以數據為依據的決策的好處。

大數據和自動化已成為大多數業務部門變革的首要方向,而人力資源部門也將其重點放在了數據驅動的決策上。

人力資源中使用的演算法可以提高效率,甚至勝過人類的決策制定。 實際上,根據普華永道的研究報告,跨國公司中已有40%的人力資源部門使用基於AI的工具 (相關報告可以私聊我獲取)。

例如,演算法的使用在員工選拔中變得非常普遍,該演算法被用於簡歷篩選,使求職者與職位匹配之中。

他們正在通過自然語言處理來分析視頻面試中的面部表情或申請人的書面申請中所體現的動機。此外,演算法還向員工和經理提供關於績效方面的反饋。

隨著演算法在組織決策中的影響力越來越大,這樣就容易導致一個問題:利用演算法的決策是否具備相應的客觀性和准確性?

像其它輔助決策的技術一樣,演算法決策也是一把雙刃劍,它會帶來一系列的挑戰。

• 求職者會如何看待一家通過機器自動完成部分面試和人員選拔過程的公司?

• 員工對自動績效反饋有何反應(反饋不再來源於直接上級)?員工在多大程度上會接受這類反饋?

• 管理者在多大程度上會依賴演算法做出的決策?

事實是:實施演算法會改變組織和人際關系的動態。  因此,必須仔細研究演算法管理的優勢和挑戰,並搞清楚組織實現演算法管理的最佳做法。

我們將在下面詳細討論在您的組織中實施演算法管理的建議。

01

組織實施演算法管理的三大優勢

1.啟動組織績效

提高生產率和工作效率是演算法管理的最重要優勢之一。例如,一個小時內,比較演算法與一個招聘人員可以掃描的簡歷數?

結果是:演算法基本能把人類招聘者按在地上摩擦,兩者之間的差異巨大,這樣可以幫助公司在人才競爭中保持領先地位。

將手動的任務轉變為自動化,將為管理人員騰出更多的時間和資源,以專注於有更高戰略影響力的任務,從而幫助提高組織績效。 未能將分析和人工智慧集成到其戰略事務中的公司將面臨落後他人的風險。

歐萊雅集團,是一間總部位於法國巴黎的皮膚護理、化妝品公司,在全球擁有80000名員工,每個職位空缺平均會收到130份職位申請。

歐萊雅每年開放約15000個職位,需要處理近百萬份申請,因此其開始嘗試利用AI技術幫助招聘人員擺脫令人頭痛的簡歷篩選工作。

Mya是一款聊天機器人,它能夠處理候選人提出的問題,從而在招聘早期幫助歐萊雅節約大量寶貴的時間。 此外,它還能夠檢查各項重要細節,例如求職者是否尚未找到工作,以及簽證的當前狀態等。

接下來,求職者需要面對Seedlink,這款AI軟體負責評估他們在開放式面試問題中給出的答案。 這款工具能夠找到在簡歷評審過程中被忽略的求職者。

該公司招聘人員表示,在一次從12000名候選人中選出80名實習生的過程中,該軟體幫助他們節約了200個小時的工作時間。AI技術幫助歐萊雅能夠更快地招聘10倍的員工,並增加25%的求職者面試機會。

2.改善管理決策和遠程管理

近年來,基於證據和數據驅動的決策已變得越來越普遍。演算法可以幫助處理管理者每天面對的日益復雜的問題。演算法系統的數據處理能力遠遠超出了人類的能力范圍。

他們可以考慮所有相關數據並排除不相關因素。這樣就可以進行客觀、公正、數據驅動的決策。而且,它可以減少決策過程中的偏見。

例如,認知偏見可能會導致零售商相信需要對其員工進行不穩定的安排。零售中不穩定的安排是指零售商通過工作計劃的變化來減少人工成本。

許多零售商認為這種類型的計劃是有效的,因為他們看到了直接的短期收益(例如削減工資),卻忽略了長期的負面影響(例如對客戶服務的影響)。

在這里,可以根據客戶流量和其他數據預測人員需求的演算法開始發揮作用。 研究表明,「將演算法與管理者的直覺相結合可以導致更好的人員配置決策」。

演算法對於遠程辦公也可能是有益的。勞動力將變得越來越分散,在某種程度上,遠程和混合辦公將成為常態。

這可能給員工帶來巨大的好處。但是,管理人員可能很難跟上員工的進度和績效。 績效監控演算法可能是成功進行遠程管理的重要工具。

3.接收個性化的見解和反饋

演算法管理不僅為管理人員帶來好處,而且為員工帶來好處。演算法可以提供個性化的績效反饋。

Deliveroo向其快遞員發送個性化的月度績效報告。 他們獲得有關其平均「接受訂單時間」,「到餐廳的路程時長」,「到客戶處的路程時間」以及演算法跟蹤的其他指標的信息。

演算法可以洞察員工的工作進度、待辦事項和開展的項目。它們還用於改善員工的福祉。 這種演算法分析員工的需求和目標,並推薦培訓和發展計劃。

演算法還可以跟蹤和評估對員工的福祉和動力最重要的因素,在此基礎上,他們可以就如何提高員工福利向管理人員提供建議。

02

組織運用演算法管理的三個最重要的挑戰

1. 關於演算法管理的倫理問題

除了演算法管理的好處之外,還有幾個重要的倫理問題。

演算法的主要目標是改進決策,使決策更加客觀公正。然而,情況可能恰恰相反,由於演算法可以消除或減少決策過程中的人工干預,因此,人們可能認為演算法是不公平的。

主要的關注點是演算法所依據的數據。在樣本數據上訓練演算法來預測事件並做出決策,因此,數據的質量是一個重要的因素。

例如,一個組織可以訓練一種關於歷史人才數據的演算法,在這些數據中,很少有女性擔任管理職位,然後,該演算法可能會做出預測:女性在公司管理崗位上取得成功的可能性較低。因此,女性可能被排除在組織的人才管理計劃之外。

演算法通常是在「黑箱」中操作,它們並不透明,而且演算法的工作精度通常也不清楚。這可能會對演算法的信任度提出挑戰,並為演算法的決策提出問責性問題。

美國一些州已經在研究演算法和人工智慧在招聘中的使用,以及如何確保它們的公平性和透明度。

紐約州正在立法,要求招聘技術供應商進行反偏見審計,並確保遵守就業歧視法。

伊利諾伊州頒布了 《人工智慧視頻面試法》 (AI Video Interview Act),對使用人工智慧分析應聘者視頻面試的公司施加了限制。

利用演算法管理不是一個是或否的問題。通常,只有部分決策是自動化的。 因此,公平和責任問題取決於公司在多大程度上依賴演算法決策。

真正的問題是:演算法的作用是增強還是完全自動化?你是用演算法來給你提供建議,還是用它來代替人類決策,這都是有區別的。

2. 演算法管理挑戰管理者和人力資源的角色

演算法管理減少或取代了不同流程中的人工參與和交互。這對管理者和人力資源構成了挑戰。當個人和同理心的一面消失後,員工管理會發生怎樣的變化?

管理者和人力資源從業者都需要適應演算法管理帶來的新動態,他們需要新的技能和能力,為負責任地使用演算法做准備。

管理者和人力資源管理者也需要採用(潛在的)員工的觀點。例如,當候選人不相信演算法能看出自己有多獨特時,招聘中使用的演算法可能會出現問題。

那麼,管理者和人力資源部門如何面對演算法管理運用後,帶來的自動化程度的提高和人際交往的減少呢?

他們如何成功地創造數據驅動文化的變革呢?所有這些都是人力資源和管理人員必須找到答案的問題。

3.演算法管理對員工福利的風險

演算法管理也可能對員工的福祉構成風險。一些人將實時行為跟蹤、反饋和評估與泰勒主義的監視進行了比較,演算法管理可以被視為對員工的一種侵入式控制形式。

這似乎也與賦予員工更多自主權、靈活工作和時間表的趨勢相沖突。公司必須密切關注員工對引入演算法管理的反應。

一些員工可能認為這是對他們心理安全和自主的威脅,這樣導致的結果是,由於引入演算法管理,員工的幸福感可能會下降。

例如,一家國際連鎖酒店使用軟體工具來管理客房服務員。他們需要不斷更新下一個要打掃的房間,該公司還能跟蹤他們打掃一個房間需要多長時間。

然而,工作人員指出,該演算法沒有考慮到他們工作的細微差別,使工作變得更加困難。 他們變得無法安排自己的一天,工作也變得更吃力,因為演算法「指揮著」他們「在酒店各個樓層里拚命的跑來跑去」。

03

實施演算法管理的建議

好消息是:在減少演算法管理挑戰的同時,也有可能獲得演算法管理的好處。 以下策略可以幫助管理者負責任地在組織中實施演算法管理。

1. 戰略

首先,確定演算法管理的使用程度是至關重要的。Gig平台完全依賴演算法管理,但對於更傳統的公司來說,這可能不是正確的解決方案。

因此,這不是非此即彼的問題,而是在哪裡、在什麼程度上的問題。

公司可以找出成本高且相對標准化的流程,並從那裡開始。在那裡,你可以期待演算法管理能獲得最大的收益。

在任何情況下,將演算法集成到業務和決策過程中都需要一個明確的戰略:確定它們是增強還是自動化人類決策。

2. 變革管理

在實施演算法管理時,考慮員工的福祉也很重要。在組織中引入演算法是一個實質性的轉變,變革管理的視角可能會很有幫助,主動的變革管理是引入演算法的決定性因素。

你需要確保已經做好變革的准備。通過幫助你的員工和經理理解演算法所增加的價值,可以讓他們准備好迎接變革。

人們也可能對演算法管理的引入感到威脅。這可能是由於缺少關於演算法管理的廣泛且深入的交流。

同樣,員工可能會擔心機器正在取代他們,為了克服這一點,在變革過程的早期就把員工和管理者納入進來是很重要的。建立開放的溝通渠道有助於解決人們所關心的問題。

這包括主動溝通數據的用途以及誰對演算法決策負責。它可以防止員工或管理者感到自己被蒙在鼓裡。

溝通和變革管理應該與培訓齊頭並進。培訓可以讓人們輕松地處理與演算法的關系,並移交決策。

如果人們不了解演算法是如何工作的,他們可能不想使用它。培訓員工和管理人員使用演算法所需的技能和能力是至關重要的。

3.不斷評估

最後,公司需要採用一種持續評估的文化。跟蹤演算法的執行情況的必要性。只有當決策是准確的、高質量的,人們才會接受演算法帶來的附加值。

並不是每一種演算法都能提高效率,所以監控其質量是很重要的。 這一變化對員工的影響也需要跟蹤,組織可以為員工提供表達關切和提供反饋的機會,特別是那些由演算法管理的員工。這為組織調整和改進演算法管理提供了有價值的信息。

演算法管理的好處以及它如何幫助企業在競爭中保持領先地位是顯而易見的。

演算法不僅能提高效率,還能增強決策能力。不過,這不應該以犧牲員工福祉為代價。

自動化執行的任務(比如提供反饋)代表了一個巨大的變化,但我們對把這種變化轉變成積極和可持續的事情具有主動權,管理者和人力資源需要在創造變革准備方面發揮重要作用。

沒有一刀切的方法,每個組織都需要仔細評估演算法的引入給他們帶來的好處和挑戰。

本文提出的策略可以幫助指導組織完成這一轉變。演算法管理的前景是巨大的。然而,有必要始終關注組織所擁有的最有價值的資產: 我們的員工。

了解更多: 方雲數字化創新績效,數據智能驅動創新型增長

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:167
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:738
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:150
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:545
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:367