值得每个人看的一篇文章——沉没成本和赌徒黑洞理论(Matlab代码实现)
目錄
1 沉沒成本
1.1 興趣引入
1.2 沉沒成本的概念
2 賭徒黑洞理論
2.1 興趣引入
2.2 對賭徒黑洞理論的刨析
3?沉沒成本模型和數據(Matlab代碼實現)
3.1 結果展現
3.2 代碼
4? 賭徒黑洞理論做的一個小游戲
4.1 代碼
4.2 展現
4.3 代碼打包帶走?
所有文章和電氣代碼一覽無遺:電力系統與算法之美(Python&Matlab代碼)
這幾天經歷的事比較多,感觸也很多,所以寫了這篇文章,與君共勉。?
1 沉沒成本
1.1 興趣引入
2001年諾貝爾經濟學獎獲得者之一的美國經濟學家斯蒂格利茨還用一個生活中的例子來說明什么是沉沒成本。他說,“假如你花7美元買了一張電影票,你懷疑這個電影是否值7美元。看了半個小時后,你最擔心的事被證實了︰影片糟透了。你應該離開影院嗎?在做這個決定時,你應當忽視那7美元。它是沉沒成本,無論你離開影院與否,錢都不會再收回。”斯蒂格利茨在這里不但生動地說明了什么是沉沒成本,而且還指明了我們對待沉沒成本應持怎樣的態度。
? ? ? ? ? ? ? ? ? ??
打開衣柜,相信每個人都會有幾件買來就沒穿過的衣服掛在架子上,而每次整理衣物,卻總是無法下定決心來清理掉它們。房間里堆積著說買來就沒用過的物件,我們的理由永遠都很站得住腳,「我買它的時候還是很喜歡的」,亦或是「我買的時候花了很多的錢,扔了太可惜了。
追女朋友,一開始投入大量的時間和精力還有金錢,越到后面投入的越多,寧可做一個不折不扣的舔狗,也舍不得分手,其實這和我們接下來一部分要講的賭徒黑洞理論有異曲同工之妙。愛情世界,一直被沉沒成本和賭徒黑洞理論所左右,古今中外皆是如此。
再回想自己等公交的場景,是不是沉沒成本。哈哈哈......
?
不難發現,讓我們停滯不前或者不愿止損的主要原因,還是自己已經花費了很多金錢以及時就像是投資、炒股或是賭博一樣,當我們持有的資產效益下降時,我們仍希望能持有這些資產,以期待之后的翻身,結果往往是自己被套牢,或是在賭局中傾家蕩產。
拍賣行與網購網站,就充分利用了這個因素,一個商品,可能被刻意設置成了低價競標(比如一臺iphone,2元錢起拍),這時想必每個人都可以競標,但是每一次競拍都需要交給網站1元手續費,另外還有一個條件,就是如果有另一個人用更高的價格競標,1分鐘內無人加價的話,那么這個人就能拍得商品。隨著價格的增加,很多人就會變得不那么理智,因為自己之前已經花費了那么多的手續費以及時間,如果競標失敗,等于是自己肉包子打狗,因此即使最后拍賣價格遠超商品原價,很多人仍會義無反顧地繼續投錢而不是及時止損。
1.2 沉沒成本的概念
沉沒成本是指已發生或承諾、無法回收的成本支出,如因失誤造成的不可收回的投資。沉沒成本是一種歷史成本,對現有決策而言是不可控成本,不會影響當前行為或未來決策。從這個意義上說,在投資決策時理性的決策者應排除沉沒成本的干擾。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
從成本的可追溯性來說,沉沒成本可以是直接成本,也可能是間接成本。如果沉沒成本可追溯到個別產品或部門則屬于直接成本;如果由幾個產品或部門共同引起則屬于間接成本。
從成本的形態看,沉沒成本可以是固定成本,也可能是變動成本。企業在撤消某個部門或是停止某種產品生產時,沉沒成本中通常既包括機器設備等固定成本,也包括原材料、零部件等變動成本。通常情況下,固定成本比變動成本更容易沉沒。
2 賭徒黑洞理論
2.1 興趣引入
有位大佬總結得而很到位:它就如同一個黑洞,哪怕你只是試探性的靠近一點,也會不由自主的越陷越深加速墜落,只要參透它,你就能參透愛情那血腥的本質。
? ? ? ? ? ? ? ? ? ? ? ?
實在秒啊,生活中,常人很難逃脫這一魔咒。當然,我也不例外(小學作文最喜歡用的開頭總算今天也用上了)
美女喜歡渣男的原理這里有一個問題,美女為什么喜歡渣男?在心理邏輯上,我們有一個詞叫做「反饋」,也就是說我們眼中所見到的人、事與物,都是一種折射,并在人的大腦中形成「反饋」。
2.2 對賭徒黑洞理論的刨析
「賭徒黑洞」可以拆分兩部分來理解,一個是目的,一個是獎勵機制。
目的很好理解,就是用對方臆想出來的目標來掩蓋真實的目的。當男生踏出了勇敢付出的那一步。這個時候的他希望得到反饋。在反饋并不強烈的時候,反而激起了更多的付出。這樣,添狗男就真陷進去了,成為眾人眼中的一枚舔狗。
? ? ? ? ? ? ?
第二部分,獎勵機制。
在我們的理解中,獎勵是一種簡單的疊加算術題,比如花100元1斤的蘋果,花1000元是不是就買了10斤,相信三歲小孩都懂。這折射出一個原理就是,付出越多越渴望得到更多的回報,很多人心里就認定世間常理都遵循這個道理。
這同時也意味著,害怕失去,害怕之前的付出都是毫無意義的。比如只要騙子騙了你第一筆錢,你就會乖乖投入第二筆錢。
再如時下火熱的「拆盲盒」或者抓娃娃機,商家為什么能賺錢?是不是大多數人在不知不覺中都付出了超出商品價值的金錢?
他給你的臆想是,讓你認為可以拆出個蘋果手機,掩蓋他實質就是在做生意賺你錢的目的,他又不是做慈善有病啊才會真給你送蘋果手機。
用少數的得到來掩蓋大部分抓空的真相。
她從來不會說我不喜歡你,或者我喜歡你,只會給你感覺她可能喜歡你,而且需要你。
3?沉沒成本模型和數據(Matlab代碼實現)
3.1 結果展現
3.2 代碼
沉沒成本和賭徒黑洞理論(Matlab代碼實現)
4? 賭徒黑洞理論做的一個小游戲
4.1 代碼
// Variables var ticketCost = getTicketCost(); var rounds = 1; // default to first round var money = 0; // default to no change in moneyvar isFree = false; const numberRounds = 20; // Controls the math portion. Doesn't control html (aka "x / 20 rounds"); // Functions: Organized generally in order of call function getTicketCost() { // get ticket cost. Changes to test rounds lastedvar num = (Math.floor(Math.random() * 6)) * 5; // 0, 5, 10, 15, 20, 25if (num < 1) { // num is 0 var btnBuy = document.getElementById("buybutton"); btnBuy.style.display="block"; btnBuy.innerHTML = "Get Ticket"; document.getElementById("incrementButton").style.display="none"; document.getElementById("uselessInfo1").innerHTML="There's a free ticket to a game."document.getElementById("uselessInfo2").style.display="none"; document.getElementById("ticketCost2").innerHTML = 0; }return num; } function createTicket() { // Setting the proper fields with the ticketCostdocument.getElementById("ticketCost").innerHTML = ticketCost.toString(); document.getElementById("ticketCost2").innerHTML = ticketCost.toString(); }function incrementMoney() {var btn = document.getElementById("incrementButton"); money += 1; btn.innerHTML = money.toString(); document.getElementById("moneychange").innerHTML = (money).toString(); var leftPercent = Math.floor(Math.random() * 75);var topPercent = Math.floor(Math.random() * 75);btn.style.transform = "translate(" + topPercent + "vw, " + leftPercent + "vh)"; if (money === ticketCost) {var btnBuy = document.getElementById("buybutton"); btnBuy.style.display="block"; document.getElementById("incrementButton").style.display="none"; }}function buyTicket() { // Choosing to buy the ticket, shows next block of text var element1 = document.getElementById("buybutton").style.display='none'; var element2 = document.getElementById("description");var trials = document.getElementById("trialInfo"); trials.style.display="block"; unfade(trials); element2.style.display="block";unfade(element2);money -= ticketCost; document.getElementById("moneychange").innerHTML = (money).toString(); }function begingame() { // begins the game. Sets the first section as visible, hides introductiondocument.getElementById("introsection").style.display="none";document.getElementById("firstsection").style.display="block"; }function proceed() { // Proceed to play the game. document.getElementById("hiddenobj").style.opacity=0; // Hides the display of resultsdocument.getElementById("secondsection").style.display="block"; // Shows second sectiondocument.getElementById("buttonsdisplay").style.display="none"; // Hides the buttons to proceed / back outrng(); // Creates RNG timerssetTimeout(unfadeElem, 2750); // After the timer }function endgame(lastRound) { // Ends the game. if (lastRound || confirm("Back Out?")) {// Set what must be seen / not seen document.getElementById("firstsection").style.display="none"; document.getElementById("secondsection").style.display="none"; document.getElementById("infoBox").style.display="none"; // Since rounds is the current round, they lasted rounds - 1 rounds total. rounds -= 1; document.getElementById("lasted").innerHTML = (rounds).toString(); document.getElementById("cost").innerHTML = (ticketCost).toString(); unfade(document.getElementById("lastsection")); // Link to pre populated google form document.getElementById("formLink").href= "https://docs.google.com/forms/d/e/1FAIpQLSdPvo9OQP_-neUyDhT4FV4PJCSItr-jy9lDGsvdtL5Nutn1Og/viewform?entry.1051975222&entry.1130850895=" + ticketCost.toString() + "&entry.571258578=" + rounds + "&entry.1545061294=" + money; // Displayed is the final number of rounds they lasted, or how many times they clicked the 'proceed / play' button. } }function rng() { // Sets timersvar lessThan = 3000; var multiply = 1.2;for (i = 1; i < lessThan; i *= multiply) {setTimeout(setRandom, i); // Set a timer for a function }; }function setRandom() { // Set a random number to a section on the screendocument.getElementById("rng").innerHTML = Math.floor(Math.random()* 11); // 0-10 inclusive }function unfadeElem() { // After the timer. if (rounds < numberRounds) { // Normal round var elem = document.getElementById("hiddenobj");unfade(elem); // Unfade the result of the rngvar amount = Number(document.getElementById("rng").innerHTML); // Find the final amountif (amount % 2 === 0) { // even - lose money = money - amount; document.getElementById("roundDescription").innerHTML = "The result was even, so you lose $" + amount.toString(); } else { // odd - winmoney = money + amount; document.getElementById("roundDescription").innerHTML = "The result was odd, so you win $" + amount.toString(); }reset(); // Reset the trial number and money change} else { // rounds === numberRounds. Implies it's the final round possible. var elem = document.getElementById("hiddenobj");unfade(elem); // Unfade the result of the rng// Unfade the back out and continue buttons, fade in the "finish" buttondocument.getElementById("buttonDivNormal").style.display="none"; document.getElementById("buttonDivEnd").style.display="block";// Continue as regularvar amount = Number(document.getElementById("rng").innerHTML); // Find the final amountif (amount % 2 === 0) { // even - lose money = money - amount; document.getElementById("roundDescription").innerHTML = "The result was even, so you lose $" + amount.toString(); } else { // odd - winmoney = money + amount; document.getElementById("roundDescription").innerHTML = "The result was odd, so you win $" + amount.toString(); }rounds -= 1; // So that instead of setting trial as 21/20, stays at 20/20reset(); // Reset the trial number and money changerounds += 1; // So set back to 21. } }function reset() { // Update information document.getElementById("moneychange").innerHTML = money.toString();rounds += 1; // Successfully passed a rounddocument.getElementById("trialnumber").innerHTML = rounds.toString(); }function unfade(element) { // For flow. Unfades an element var op = 0.1; // initial opacityvar timer = setInterval(function () {if (op >= 1){clearInterval(timer);}element.style.opacity = op;element.style.filter = 'alpha(opacity=' + op * 100 + ")";op += op * 0.1;}, 10); }4.2 展現
接下來,如果你感興趣。我把資源打包了。
4.3 代碼打包帶走?
關注公眾號:電力系統與算法之美
回復關鍵字:沉沒成本
致謝
比黑暗森林更恐怖的賭徒黑洞原理:賭徒黑洞 (baidu.com)
?
總結
以上是生活随笔為你收集整理的值得每个人看的一篇文章——沉没成本和赌徒黑洞理论(Matlab代码实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0910下eclipse 语言包的插件安
- 下一篇: 数论入门整理(updating)