封面圖
去年年底,一具巨大的霸王龍化石骨架,緊急取消拍賣。因為有人投訴,它的頭骨跟現存的一個標本實在太像了,高度懷疑是偽造的。為了鉅額的金錢,這麼大型的化石居然都能偽造。(via)
本週話題:停止尋找的最佳時間
最近,我讀了一本演算法書,作者是美國科普作家布賴恩·克里斯蒂安(Brian Christian)。
英文書名叫做《Algorithms to Live By》(生活中的演算法)。
我讀的是中譯本,書名譯成《演算法之美》(中信出版社,2018)。
說實話,這個書名有點誤導。我以為講的是程式設計演算法,其實是生活中的數學知識。
這本書的優點是,面向普通讀者,偏重於文字解釋和舉例,比較通俗。缺點恰恰也是這個,因為沒有任何公式和程式碼,不可能對演算法有透徹的理解。好多地方我都被卡住了,想不明白怎麼推理(可能是翻譯的問題)。
但是,它確實講了很多有趣的數學知識。今天我想分享它的第一章 《最佳停止時間》:什麼時候可以停止尋找?
日常生活有很多"尋找-決策過程",如果考察所有選項,要花費很長時間,可能還會錯失機會,後面遇到的未必有前面的好。能否確定一個時間點,到了某個階段就停下來,不再尋找了,這時找到合適候選人的機率最大?
這在數學上稱為"秘書問題"。
某公司招聘一名秘書,有100名候選人,依次面試。每面試完一個人,就必須立刻決定是否錄取。也就是說,不能面試完所有人,再回過頭決定錄取哪一個,一旦放棄當前候選人,就只有從後面的面試者中選擇。
這個設定是合理的,象徵我們在生活中遇到的各種機會。機會來臨時,轉瞬即逝,必須立刻決定是否抓住它,錯過就是錯過了。你在三個月前放棄了一個機會,不可能三個月後再撿起來。
大家可以想一想,這時應該面試多少人?
如果錄用得太早,可能錯過後面更好的候選人;如果錄用得太晚,可能錯誤放走前面的合格人選。
數學家對這個問題,已經有了充分的討論。經過計算,成功機率最大的方法,叫做"1/e 法則"。e 是自然對數的底數,約等於2.718,那麼 1/e 就約等於37%,所以它又稱"37%法則"。
"37%法則"的意思就是,尋找階段進行到37%就要停止。 100個應聘者,先面試前37個,此後的面試只要遇到一個更優秀的,就立燒錄取,不再繼續面試了。換句話說,前37個面試者無論多麼優秀,都不會錄取,他們只是用來確定錄取的標準。
如果最合適的候選者偏偏在前面37%裡面,那就只能錯過了,作為"尋找階段"不得不付出的成本。最終錄取的將是不如前面候選人的次優選擇。
這個法則很實用,日常生活中,只要符合"尋找-決策過程"的場景,都可以適用37%法則。
(1)相親時,假定有10個相親物件,那麼前3~4個可以作為尋找階段,後面只要遇到一個比前面更好的人,就可以同意了。
(2)租房時,假定有一個月的找房子時間,那麼30天的37﹪也就是11天。在找了11天之後,你就要出手了。只要發現比先前更令人心動的房子,就不要猶豫,馬上租下來。
(3)讀書時,假定這本書有100頁,如果讀了37頁,還沒有發現感興趣的內容,那就可以放棄了。
(4)一個10集的電視劇,第4集是最佳棄劇時間。
(5)一個10分鐘的影片,看了3分42秒,如果還是覺得不好看,就可以關掉了。
(6)一個年輕人想在18歲到24歲,一共7年時間裡找到人生方向,確定未來想做什麼。那麼,他有2.59年(7 * 0.37)的時間自由嘗試。也就是說,到了大三下學期就應該初步定下自己的方向,後面除非遇到更有吸引力的事情,否則就不應該轉換事業方向。
科技動態
1、識別深度偽造
越來越多的影片是 AI 工具偽造的(deepfake),效果十分逼真,使用者根本分辨不出。
英特爾公司宣佈了一個叫做 FakeCatcher 的軟體,號稱可以查出某個影片是否為深度偽造,準確度高達96%。
它的原理是識別影片人物皮膚的靜脈血液流動。如果是真人,血液時刻在體內迴圈,皮膚上的靜脈就會有周期性的深淺變化,深度偽造的人就沒有。
2、無人機急救
浙江大學發明了一種無人機急救系統。
病人突然遭遇外傷或者心臟疾病,身邊找不到其他人,這時無人機就可以緊急向病人空投藥物。
空投藥物帶有自助注射系統,只要接觸到皮膚表面,彈簧可以釋放出足夠的能量,使得微針頭插入皮膚給藥。
不過,如果病人能夠自己報告方位、拿到無人機藥物並注射,這說明身體狀況沒有那麼緊急,這個系統的實用性看上去很低啊。
3、三峰日
微軟公司的 Office365 團隊,統計了各家公司遠端網上辦公的資料,發現在家辦公每天有三個高峰時段。
第一個高峰是上午10點到11點,第二個是下午2點到3點,第三個是晚上10點到11點。這三段時間的辦公活動最頻繁。
傳統的辦公室上班沒有第三個高峰,這是不是提示老闆,如果推行遠端辦公,可以下午早點下班,然後睡覺前補一個小時?
4、3000安培充電
兩家瑞士公司發明了一個快速充電系統,充電電壓為 1250V,電流高達3000安培,可以大大加快汽車充電時間。
這麼大的電流,電線必須做得很粗,才不會過熱。它的充電頭的尺寸之大,超乎你的想象。
裡面有四股銅線,每個都是碗口大小。
文章
1、如何修建抗震的房屋?(中文)
這是一個建築學博士的科普演講,大樓應該怎麼建造,才不會在地震中倒塌?
2、為什麼 calloc() 存在?(英文)
C 語言分配記憶體空間有兩個方法:malloc() 和 calloc()。一般認為,前者完全可以替代後者,那麼為什麼要設計後者?
3、BeOS 系統的故事(英文)
1996年,蘋果公司頻臨破產,決定收購一個外部系統,作為自己的作業系統。當時有兩個候選者:BeOS 和 NeXT,都是蘋果前員工建立的。
最終蘋果選擇了 NeXT,但是 BeOS 也沒完全死,演變成了現在的開源系統 Haiku,還在開發中。
4、為什麼 Git 如此難用?(英文)
本文分析 Git 複雜性的幾個來源。
5、Pandas 載入資料的方法和技巧(英文)
Pandas 是 Python 語言的資料分析工具庫,本文介紹這個庫載入不同資料來源的方法和技巧。
6、像寫 CSS 一樣寫 SVG(英文)
作者介紹他發明的一種新工具,可以改變 SVG 的寫法,讓手寫 SVG 變得像寫 CSS 一樣。
7、如何實現藍綠髮布(英文)
作者介紹如何在個人網站實現"藍綠髮布"。
他有兩臺伺服器,一臺是生產伺服器,另一臺是備用伺服器,總是釋出到備用伺服器,然後把流量切過去。
8、Node.js 如何檢視記憶體洩漏(英文)
這篇長文有一個部分,詳細介紹了 Node.js 檢視記憶體佔用的幾種方法。
工具
1、Bolt.css
一個極簡的 CSS 框架,不使用 class,只修飾 HTML 原生元素。
2、zlib 搜尋器
一個 z-library 的搜尋器,需要本地起服務,然後你就能在本地搜尋 z-library 了,參考 Demo1、Demo2。
3、Auth.js
這原來是 Next.js 的授權模組,最近改成了通用模組。它用來提供 Web 的登入服務,內建了很多身份驗證服務。
4、Mind FM
一個背景音樂 iOS App,整合了 LoFi、腦波、古典樂、白噪音等。(@ddiiiik 投稿)
5、sapic
一個開源圖床,需要自己架設,支援將圖片儲存到本地、又拍雲、七牛雲、阿里雲、騰訊雲、GitHub、Gitee(碼雲)、S3等。(@staugur 投稿)
6、steganography
C++ 寫的影像加密命令,可以把一個 zip 壓縮包嵌入 PNG 影像,完全看不出異樣。
JSON 視覺化
JSON 是網路資料的常用格式,但它是機讀格式,不容易編輯和閱讀。
網上有很多 JSON 視覺化工具,大大便利了 JSON 編輯和閱讀。
1、JSON Visualization
這個工具可以把 JSON 資料渲染成表格。
2、JSON Viewer
這個工具可以分層展示 JSON 資料。
3、jq play
jq 是 JSON 資料的查詢工具,類似於 JSON 的 SQL 查詢。
這個連結是 jq 實驗場,可以貼上你的資料,然後在網頁上執行各種 jq 命令,查詢結果。
4、JsonT.run
一個國產的 JSON 線上編輯檢視工具。(@bimohxh 投稿)
資源
1、Systemd 示例教程
這個網站透過許多例子,教你如何寫 Systemd 配置檔案,還可以線上執行你自己的 Systemd 配置檔案,檢視效果。
2、世界前100萬名網站
谷歌公司根據 Chrome 瀏覽器的資料,公開了世界前100萬名網站排名。連結裡的倉庫提供這個名單的下載(CSV 檔案)。
不過,因為 Chrome 瀏覽器在中國受限,它的中文網站排名不準。
3、微軟墓地
這個網站收集了所有被微軟公司關閉的自家產品。
4、MacOS 的 zsh 教程(英文)
zsh 已經替代 Bash,成為 Mac 電腦的預設 Shell。這是針對 MacOS 的 zsh 系列教程,一共8個部分。
圖片
1、凹鏡大樓
2012年,倫敦市中心完工了一座大樓。
這座玻璃幕牆大樓,頂部比底部寬,並且表面有一些向內收縮。
當它完工以後,人們才發現,晴天出太陽時,這棟樓會變成一個凹面鏡。
它會聚焦陽光,反射在樓下的大街上。
停在焦點區域的汽車,塑膠部件會因為高溫而融化。
經過測量,焦點的溫度可以達到72度。有人甚至拿出雞蛋,演示焦點處可以煎雞蛋。
最後,大樓的開發商賠償了所有損失,在焦點處安裝了永久遮陽傘。
文摘
1、心理否認
以下內容摘自《崩潰:社會如何選擇成敗興旺》(上海譯文出版社,2008年),作者是美國生物學家賈雷德·戴蒙德,他也是名著《槍炮、病菌與鋼鐵》的作者。
一個狹窄的河谷建造了一座巨型水壩,有人對下游居民進行問卷調查,詢問他們是否擔心水壩倒塌。
讓人意外的是,住在水壩下游幾英里的居民竟然是最擔心水壩倒塌的人群,而住在水壩正下方的居民卻一點都不擔心。
原因是正下方的居民產生了"心理否認"。
這些居民每天一抬頭就看到水壩,如果擔心它會倒塌,從早到晚提心吊膽,那簡直沒辦法過日子。保持鎮定的惟一方法,就是從心底裡否認水壩可能會倒塌這一事實。
非理性地拒絕解決已經察覺的問題,這在心理學上叫做"心理否認"。 這個名詞原本用於個人心理學,現在也擴充套件到社會文化。
如果有件事情讓你深感痛苦,你可能就會潛意識地壓制或否認這種感覺,以免引起痛苦,儘管這實際上可能帶來災難性的後果。
言論
1、
拍電影時,最重要的是你知道你想用電影表達什麼。很多導演追求使用高科技拍電影,但對於他們真正想要表達的內容,卻只有一個非常模糊的概念。
人們其實非常欣賞那些製作技術並不先進、但知道自己想說什麼的電影。
-- 宮崎駿
2、
我共事過的一些最具創造力和才華的人是大學輟學生。他們之所以輟學,大多是因為厭倦了緩慢的教學和浪費的時間,自己選擇離開離開。
我們公司曾經流傳一個笑話。如果你需要在半年到一年內做好一個產品,那就找一個有足夠經歷的大學輟學生來完成這項工作。如果你不需要做實際產品,並且有四年的時間,那就請一個擁有博士學位的人。
-- Hacker News 讀者
3、
銀河系中有 10^11 顆恆星。這是一個巨大的數字,但也只有一千億。
美國政府的財政赤字已經超過了它。我們過去稱巨大的數字為天文數字,現在我們應該稱它們為經濟數字。
-- 理查德·費曼,著名物理學家
4、
最近,我開了一次講座。一個聽眾提問:"你們網站不是 web2 嗎?為什麼不把它轉換成 web3?"
這讓我不知如何回答。web3 這個詞似乎沒有公認的定義,有人甚至說"它就是你想要的任何東西"。
-- 《你們不是 web2 嗎?》
5、
社交媒體越來越像抖音,在那裡你看不到你朋友的內容,只看到別人點讚的內容。
-- Hacker News 讀者
歷史上的本週
2021年(第190期):產品化思維
2020年(第140期):印度人的工錢是多少?
2019年(第88期):如果你遇到一條蛇
2018年(第37期):小說家的時代,永遠地過去了
說明
週刊每週五發布在我的個人網站和微信公眾號《阮一峰的網路日誌》,歡迎訂閱。
週刊是開源的,自由使用,倉庫在 GitHub: ruanyf/weekly,投稿請到倉庫提交 issue。我們還開設了 《誰在招人?》 服務,歡迎釋出或檢視程式設計師招聘資訊。
商業合作和產品推廣,請郵件聯絡我(Email: [email protected] )。
鳴謝
文件和筆記服務 FlowUs 對週刊提供支援,非常感謝。
FlowUS 是新一代知識管理與協作平臺,整合了"文件+表格+網盤",具有寫文件、製作主頁、管理資料、儲存檔案等多種用途。
週刊開設了 FlowUs 專欄,歡迎大家也去開設自己的專欄和頁面。
(完)