對12306的候補功能的算法猜想,看看自己的候補票有多大概率兌現

接近2019年尾聲了,回家過年的朋友也在操心買票的事情了。上午抱著手機等待十一點的到來,準備給父母買兩張回家的票。結果也在“情理之中”,一如既往的沒買到,不過好在也有希望,使用候補功能提交了訂單,現在還在兌現中。

記得去年此時,未讀消息中有很多加速搶票助力,目前為止未曾見過了,這不得不說12306為人民提供便捷服務的一小步。

目前候補訂單正在等待中,心中也有點憂慮。往年都是中途轉站,坐20個小時左右的車本身就不是一件很容易的事,所以還是期望能給父母買到直達的。

記得以前候補訂單都會顯示當前排隊等待的有幾個人,而現在顯示的僅僅是排隊等待人數較少或中等,這樣模糊不清的描述加大了買票人的焦慮感,比起前者,不見得有多好。

自己轉念一想,對12306的這個候補功能的算法做了猜想,這個小提示的改進雖然合理,但並無多大益處。不過我們還是可以根據自己的情況來評估一下自己的候補票有多大的概率兌現。

注:以下對候補功能的分析和算法純屬於個人猜想,不代表實際情況,望讀者自行分辨。

對12306的候補功能的算法猜想,看看自己的候補票有多大概率兌現

無論從那種角度來說,12306都是一個企業,服務人民的同時也要實現利益最大化,因此實現利益最大化,也是候補功能的第一個要求。

為方便描述,我們現在假設火車的起點站是A,終點站是Z,中間有24個站點,總共25個行使區間。

那麼在候補功能裡實現利益最大化,就是要求票的區間儘可能的長。很顯然,從A到Z最長,這屬於第一種情況,我們記作A1也就此經歷26個站點,我們以根據來分門別類的討論。

那麼經歷25個站點的就有兩種情況,即從A到Y,從B到Z,將這兩種情況再按區間總長度分大小我們記作B1和B2,其中B1>B2。

經歷24個站點的就有三種情況,即從A到Z,從B到Y,從C到Z,將這三種情況再按區間總長度分大小我們記作C1、C2和C3,其中C1>C2>C3。

以此類推,經過兩個站點的,即只坐一站,這有25種情況,按區間總長度分大小我們記作Y1、Y2……Y25,其中Y1>Y2>……>Y25。

而如何實現利益最大化呢?假如現在有一個退票從A到B,那麼並不是直接將票分配給已經提交訂單從A到B的人,而是先刷選有沒有訂單是從A到Z的,A到Y的……

因為當一個先買票的人買了從A到B,那有可能從B到Z或者B到Y等區間的票無人購買,而使得想從A到Z或者A到Y等人無法購票。

因此一旦有了從A到B的退票且使得從A到Z的票成為可能,會優先考慮賣給從A到Z的人,而不是另外一個僅從A到B的人。這就意味著候補功能在利益最大化的第一準則,而不是根據時間順序。

對12306的候補功能的算法猜想,看看自己的候補票有多大概率兌現

有人說這不公平,當然了只有相對的公平,哪有絕對的公平,因為候補功能算法的第二個準則就是在滿足利益最大化的前提下按時間順序。

如上所說,一旦有了退票,會檢查退票區間是否能構成區間較長的需求區間,如果能,則優先考慮這一區間有需求的人,如果不能,在考慮當前區間中按時間順序提交訂單的人,這就是相對的公平。

從上面的例子來看,如果有了從A到B的退票,且能構成A到Z區間的票,而恰巧現在有兩個人有從A到Z的需要,那麼這個票優先提供給在訂單處理上的時間優先者,先到先得,這是基本的公平所在。

當然瞭如上面所說,這也只是相對的公平。因為即使現在有四個人買票,第一個和第二個都買了A到B的票,第三個和第四個都買了A到Z的票,當第一個人退了A到B的票的時候,使得從A到Z成為可能,也會給第三個人。這就是在利益最大化前提下的相對公平。

對12306的候補功能的算法猜想,看看自己的候補票有多大概率兌現

另一方面,在現實生活中即使從表面現象上看同時發生的,實際情況也有先後。而計算機能處理的最小時間單位是有限的,畢竟最快的計算機也有這種可能。

在上面的例子中,第三個人和第四個人都是在計算機能夠識別的最小時間單位裡提交的訂單,這就好像我們說兩件事同時發生的情況。

為了處理這一個別情況的出現,防止系統奔潰和造成死機,第三個在時間上考慮的相對公平原則就出現了,也就是依據兌現時間,這是在原則一和二相繼成立下來考慮的。

一個人設置的兌現時間越長,他承受的期望和壓力就越高,並且已經做好了最壞的打算:兌現不了,而比最壞的情況好一點點的是在兌現時間前幾分鐘兌現了。

另外如果有其他的方式可供選擇,即使退票,兌現時間越長,離坐車時間越近,手續費就越高,因此他對這張票的需求就越真實。

所以當原則一和原則而對計算機來說一樣的情況下,就要考慮設置兌現時間越長的優先兌現。

對12306的候補功能的算法猜想,看看自己的候補票有多大概率兌現

以上三個原則沒有考慮到大牛的介入,但是對於這個候補功能的算法來說,我們還是將他們看作一個真人,畢竟他們真的是人。

總之,首先查看自己候補票區間是否在這列火車在行駛區間佔有的足夠的長利益最大化原則)。

其次要在車票時間出來儘早提交候補單(相對公平第一原則。當然前提是你買不到票,這個在春運很容易實現)。

最後將兌現時間設置長一點(相對公平第二個原則),萬一漏網之魚被你抓住了呢。

最後再次聲明,以上對候補功能的算法屬於個人猜想。不過無論如何我們都要抱有信心,自己能回家過年。祝願都能買到票,提前祝福元旦快樂,春節快樂。


分享到:


相關文章: