演算法筆記-Graph
本文主要關於使用 DFS 以及 BFS 遍歷圖的過程。
DFS
圖中的點有三種狀態:
unvisited:尚未訪問
in progress:訪問其相鄰節點中
all done:已經訪問所有相鄰節點 (皆不是 unvisited 狀態)
初始狀態皆為 unvisited,而每個點除了各自的狀態之外,還儲存了兩個值,分別為 startTime 和 finishTime,這個等等在 Topological Sort 會用到。
pseudocode:
1234567891011121314DFS(w, currentTime){ w.startTime = currentTime currentTime ++ Mark w as `in progress`. for (v in w.neighbors){ if (v is `unvisited`){ currentTime = DFS(v, currentTime) currentTime ++ } ...
心理學筆記-L4
L4 意識狀態
清醒的意識 - 知覺
其他意識 - Altered State of Consciousness (意識的改變狀態)
催眠
起源
Franz Mesmer:相信可以透過在身體上移動磁鐵 (透過動物磁性) 來治癒疾病 (mesmerize = hypnotize)。
James Braid:創造了術語 hypnosis,意為 sleep。
理論
State theories
催眠屬於意識的改變狀態。
Hidden observer:被催眠者意識中分離的部分,靜靜地觀察事件。
Nonstate theories
被催眠者不屬於特定的狀態。
是順從、放鬆、想像、服從和角色扮演的混合體。
Hypnotic susceptibility (催眠敏感度)
一個人有多容易被催眠。
作用
能夠
增加記憶 (不管是否存在)
產生短暫的健忘
減輕疼痛
產生感覺的變化
放鬆
不能
產生超人類的力量
真正的年齡倒退
強迫做出違背意願之事
冥想
類型
集中冥想
專注於一個焦點、物體、想法或你自己的呼吸。
正念冥想
通過專注當下的注意力,不做 ...
演算法筆記-Tree-3
Self-Balancing Binary Search Trees
AVL樹
在 AVL 樹中,任一節點對應的兩棵子樹的最大高度差為 1,也被稱為高度平衡樹,增加和刪除元素的操作則可能需要藉由一次或多次樹旋轉,以實現樹的重新平衡。
紅黑樹
在某些屬性上形成平衡,不追求高度的完全平衡,犧牲了部分平衡性以換取插入和刪除操作時少量的旋轉操作,整體來說效能要優於 AVL 樹。
規則:
節點是紅色或黑色。
根是黑色。
所有葉子都是黑色 (葉子是 NIL 節點)。
每個紅色節點必須有兩個黑色的子節點。
從任一節點到其每個葉子的所有簡單路徑都包含相同數目的黑色節點。
Flutter-Formosa-2024心得
關於
距離 Flutter Formosa 2024 已經過了一段時間,Flutter Formosa 2024 是台灣第一次的 Flutter 研討會,有許多業界的大佬演講,很高興能夠報名參加,雖然交流時間我都只敢待在自己座位上偷聽(?)但是還是在精彩的演講中學到許多,得到很多寶貴的經驗,尤其是 Web 開發的部分特別有共鳴。
概要與心得
挑選了幾篇比較有興趣的演講做整理。
利用 ATDD 改善開發流程
這個演講邀請到了負責 LINE 購物 APP 開發的 Technical Project Lead,主要在分享透過 ATDD (驗收測試驅動開發) 來幫助改善開發流程。
重點
使用 ATDD 之前可能會遇到的問題:
Long-lived Feature Branches:跨 sprint 的功能開發,功能完成才 merge。
合併時出現大量的衝突。
解決衝突耗費且易出錯。
遺漏撰寫 Unit Tests:優先開發功能,接著才撰寫 unit tests。
難以保證程式碼品質。
難以及時發現錯誤。
降低程式碼的可維護性。
而兩個問題的解決的方向如下:
Long-live ...
心理學筆記-L3
L3 知覺
視覺
視覺系統
眼睛 + (大腦)
ex:視覺失認症 (雖然可以看到東西,但認不出來是什麼)
視網膜
光受器
視錐細胞 Cone
視柱細胞 Rod
雙極細胞 Bipolar cell
節細胞 Ganglion cell
傳遞過程:
盲點:視神經從視網膜離開的地方,大腦可以會自動的幫我們 想像 來補充該點。
彩色視覺
三色論
所有顏色都由三種基本色 (紅、綠、藍) 組合而成。
證據:有三種視錐細胞,分別對於不同顏色的敏感程度不同,形成不同的參數,構造出各種不同的顏色。
無法解釋 後像 的產生。
對比論
有三種系統 (黑白、紅綠、藍黃),其中一種顏色受到持續性的刺激,會產生疲勞,導致我們之後看到另一種顏色。
證據:Opponent neurons 對於不同顏色產生不同反應。
兩種論點的結合
深度知覺
單眼線索
Linear Perspective 線性透視
Relative Size 相對大小
Interposition (overlapping) 遮擋、重疊
Light & Shadow 光影
Texture Gradient 紋理 ...
心理學筆記-L2
L2 心與腦
心智與生理基礎
相關證據
Phineas Gage
被一支長鐵棍貫穿腦部,導致性格大變,讓科學家確定前額葉皮質受損會使人容易產生衝動、反社會行為。
Paul Broca
對病人 Tan 做研究。Tan 有發出語音的困難,發現其左前方的腦有損傷,將此區域命名為布若卡氏區 (Broca's area),這個區域主管語言訊息的處理、話語的產生。
相關工具
Electroencephalogram (EEG), Event related potential (ERP)
腦電描記術:高時間解析度,低空間解析度。
https://en.wikipedia.org/wiki/Electroencephalography
Functional Magnetic resonance imaging (fMRI)
功能性磁振造影:高空間解析度,低時間解析度。
Transcranial magnetic stimulation (TMS)
非侵入性的腦刺激方式,利用變化的磁場透過電磁感應在大腦的特定區域感應出電流。
大腦
腦側化
左半邊多半由右腦控制。
ex:左視野訊息傳到右腦,右視 ...
心理學筆記-L1
L1 心理學簡介與方法學
目前的心理學
以 科學 的方式探討人的行為,科學方法:
建立假設
檢驗假設
收集資料
解釋資料
下結論
研究方法
變項:會改變的事項。
操作型定義:將變量以某種操作或觀測的方式表示出來。
實驗法
操弄自變項,觀察依變項
ex:聽古典音樂與否會不會影響智力?
自變項:聽古典音樂與否。
依變項:智力。
將受試者隨機分派至兩個組中,一組聽古典音樂,一組不聽,觀察一段時間後對智力的影響。
在使用實驗法時也要注意避免 混淆變項。
ex:古典音樂通常包含的高頻音較高,可能是這些高頻音刺激腦部讓人變得聰明?
優缺點:
優點
較能保證因果關係
缺點
不自然
受試者知道你的目的
倫理問題
相關法
當遇到一些無法操弄的變項時,將統計出來的值進行相關性的分析,透過相關係數的大小說明其相關性。
有相關性 ≠ 有因果關係
其他方法
調查法:單純描述統計。
類實驗法(逼近實驗法的相關法)。
盡可能控制受試者的變項一致。
邏輯謬誤
訴諸人身:對人不對事。
訴諸權威:過度相信權威所認定的敘述。
訴諸無知:認為某事為真,因為沒有證據反駁它。
e ...
演算法筆記-排序
Selection Sort
The Champion Problem
給定一個陣列,求出陣列中最小數字的下標。
Input: an array A of n integers.
Output: an index k so that A[k] is the minimum value in A.
Code:
1234567int champion(int *s, int n){ int ret = 0; for(int i=0; i<n; ++i){ if(s[i] < s[ret]) ret = i; } return ret;}
Sort
給定一個陣列,將其排序為遞增的陣列。
Input: an array A of n integers.
Output: the same array with the n integers ordered nondecrementally.
Code:
12345678void selection_sort(int *s, int n){ f ...
SD-AMD顯卡安裝
資料取自:Stable-Diffusion-Info by CS1o
[AMD] Automatic1111 with ZLUDA
顯卡:AMD VEGA, Vii, APUs, RX5500XT, RX5600XT, 5700XT, RX 6600, 7700S 以及更高階顯卡。
驅動程式:24.1.1 及以上版本。
下載適用於 AMD 顯卡的 Autoamatic1111
在目標資料夾內開啟終端機,輸入以下代碼
1git clone https://github.com/lshqqytiger/stable-diffusion-webui-amdgpu && cd stable-diffusion-webui-amdgpu && git submodule init && git submodule update
在下載下來的資料夾內找到 webui-user.bat 右鍵以記事本打開,在 COMMANDLINE_ARGS= 後方加入 --use-zluda --update-check --skip-ort。
執行 we ...
演算法筆記-Tree-2
Binary Search Tree
二元搜尋樹有以下特性:
一個節點的左子樹只包含鍵值小於該節點的節點。
一個節點的右子樹只包含鍵值大於該節點的節點。
左子樹和右子樹也都是二分搜尋樹。
而且以中序遍歷二元搜尋樹會得到一個遞增的數列。
操作
搜索
根據待查元素val 與當前 root -> val 的關係判斷:
root -> val == val 回傳當前 root。
root -> val > val 查找左子樹。
root -> val < val 查找右子樹。
123456TreeNode* searchBST(TreeNode* root, int val) { if(root == nullptr) return nullptr; if(root -> val == val) return root; else if(root -> val > val) return searchBST(root -> left, val); else return searchBST(r ...














