關於學習的幾點感悟

2021-10-08 13:43:57 字數 1048 閱讀 7470

2019/05/18

這週的主要時間都集中在寫乙個視覺化的貪吃蛇搜尋演算法,除了視覺化部分利用了別人已有的**,後續的完全都是自己寫的,並且現在通過整理**,已經達到了一定程度的抽象。這裡來記錄幾點自己的感悟,並且結合自己以往學習的內容,想想後面的學習過程,可能內容比較冗雜,但中心都是圍繞後續的學習方法上。

針對問題的思考過程

在起初思考貪吃蛇這個問題的時候,我想不到非常好的點,我的第一想法是,我直接計算蛇頭與食物距離,然後按照直線走不久行了,幹嘛去搜尋那些沒有意義的路徑。

所以最開始我根本想不到怎麼去應用搜尋演算法,但在實現了搜尋演算法之後,我有點明白了我最開始的問題。我那種單一的想法,侷限性非常大,那種直觀感覺上得出的結論,並不能適用非常多的情況。可能說,我可以根據多種規則來考慮多種情況,但這種情況下總歸有我沒有考慮到的。

從最開始覺得沒有必要使用搜尋演算法簡單的想法,到實現了搜尋演算法之後,順著這條思路走下去,能感覺到他的有用之處。我覺得這裡的重點是對這個問題的建模過程,因為一開始我沒有想到,這個貪吃蛇還能這樣做,本質上很多問題我都存在著這種思維。

問題的建模

在以往書籍的學習過程中,樹上都是按照各種簡單的圖,路線規劃等內容,進行介紹,他們使用的是最直觀的演示方案(人工智慧的書其實已經介紹了很多不同的方案,要比單純的演算法書好很多),但對於我學習來說,我真實面向問題的時候,我自己並不能直觀地得出相應地建模方案,這也是第乙個問題的根源。

但如果強行去思考的時候 ,我對應著演算法思考的過程,我把貪吃蛇的狀態和動作對應到演算法的元素中去,對應他的建模過程, 我就能使用這個演算法了。(其實就是應該這麼思考)。我覺得就應該去這麼個過程來解決問題,而且書上肯定也是想這麼教你的,但不知道怎麼了,第一想法並沒還有建立這樣的對映。我感覺最大的原因就是,光看書的時候,沒有實踐,沒有完全理解到這個東西的作用性,所以看完樹上的**也就完事了。

我把這個過程稱作問題的分解,從第一眼看到問題,然後我感覺能用某個演算法,將問題套用演算法的基礎元素,將問題分解為建模過程的元問題,然後再整體上弄這個東西。

關於重構的幾點感悟

如果問乙個程式設計師 為什麼會變爛?他可能會找出無數種理由 1 本來就爛,我只是加了一點東西 2 時間壓得太緊,根本沒有時間把 優化,功能實現出來就不錯了 3 系統已經上線了,不敢隨便去改以前的 不出問題還好,改出問題了誰負責 但是,這都是從外部找原因推卸責任,程式設計師應該從自身尋找原因。其實,變...

關於購買電腦的幾點感悟

本人購機經驗還算豐富,經歷了奔三到多核這樣乙個過程。從本科一開始就幫人配電腦,經我手的機器不下百台 都稱得上專業 js了,可惜我比較傻,都沒有給自己留利潤 這裡有一點購機感悟與大家分享,主要是產品選購上的。中國人有個毛病 隨大溜。原理很簡單 不可能大家都吃虧吧?真的吃了虧,至少也是大家都吃虧啊,所以...

關於學習的感悟

前幾天領導說到我們應該知道其然更應該知道其所以然。之前看書確實只是想著要了解新知識,掌握新技術。確實沒有想過為什麼會有這個技術,也沒想過技術的底層原理。現在算來自己積累下來的東西確實不多。只有掌握了技術的原理,才能融會貫通。想寫一篇技術的碎片,現在都拼不起來。仔細算來已經有幾個月沒有認真的,主動的去...