關(guān)于自適應(yīng)堆分類整流、分流和全物品處理流程的討論

? ??雖然本專欄是結(jié)合【【Minecraft - 1.14+】堆流物品處理 - 優(yōu)于純盒處理的全物品流程】食用的,但還是想對堆流物品處理系統(tǒng)做一些概述。
? ? 堆流物品處理,即基于自適應(yīng)堆分類,直接對物品堆進(jìn)行不可堆疊分離,精確整流,分流這些處理,其優(yōu)越性在于處理流程短,涉及機(jī)器少,只要使用分流+整流或整分流一體機(jī)這樣1~2臺機(jī)器就可以完成全物品的所有基本物品處理步驟,相比盒子流物品處理系統(tǒng)也減少了需要呼叫盒子的機(jī)器數(shù),在全物品走線上輕松很多。一般而言沒人會直接往全物品丟300多組物品,造成車頭工作時長超過五分鐘,之后的物品消失,但這點還是要加以注意的,可以適當(dāng)分批,使得自適應(yīng)堆分類分流或整流的主控關(guān)閉通向車頭的入口,后進(jìn)的物品會周期性送給海豚重置壽命,以保證物品不消失。
? ?關(guān)于雜盒的處理:
? ? 額外使用一臺并行卸貨陣列來處理雜盒(由于沒有可靠簡易的純盒分離裝置,這里其實是篩選得到的任意有物品的盒子都要送進(jìn)并行卸貨陣列)也是不錯的,因為這就是并行卸貨陣列的最佳適用場景。如果不想使用并行卸貨陣列,建議高倍速拆包,緩存物品,定時釋放一些較為成型的堆再交由堆流物品處理機(jī)器去處理
??關(guān)于大宗物品處理的一些討論:
? ? 1:使用自適應(yīng)打包+循環(huán)自適應(yīng)盒子合并,由于自適應(yīng)“碎盒”(輸入一盒的量,打包出來卻是好幾盒)狀況常見,盒子合并運行時間過長,整流后通往自適應(yīng)打包可以幾乎不“碎盒”,可大大減少盒子合并耗時,最終的時間收益雖然趕不上高倍速打包陣列,但節(jié)省了很多體積。
? ? 2:在全物品大宗物品種類多時(這點在混儲比較常見),單倍速打包陣列比高倍速打包陣列更合適。對于混儲的兩百多種大宗,大部分對應(yīng)打包機(jī)在大部分時間幾乎不工作,工作時也很難滿倍速工作,因此用高倍打包首先在使用率上來講是不值得的,同時填充物也很折磨后勤,體積上又比較大,所以較為推薦單倍打包陣列
ps:如果是新兵全物品那樣的大宗單片結(jié)合單倍打包,整分流就更能夠勝任了
? ? 3:個人認(rèn)為自適應(yīng)堆分分流結(jié)合高倍速打包+循環(huán)自適應(yīng)盒子合并是較為可行的大宗物品高倍速處理流程
? 關(guān)于堆流與盒子流物品處理系統(tǒng)卡頓的比較:
? ? ? 堆流處理的幾臺機(jī)子,可以看見堆分類下去有幾個空漏斗加上箱子來吸收、緩存下落的堆,也就是每個單元最多能秒吸10~15組,較多情況下丟入的物品被彈射后都能較快進(jìn)入容器,也就是實體數(shù)是較少的。同時溢出緩存處特意設(shè)置了物品停留在活板門,因為停留在水中卡頓要高得多。整流時按規(guī)定數(shù)量批次釋放也保證了全物品主水道實體數(shù)目極少。
? ? ?對于自適應(yīng)打包,首先需要前置的不可堆疊分離陣列,因此同條件下在陣列轉(zhuǎn)圈的實體數(shù)顯然較多,更別說后續(xù)要打包,走盒子粗分再拆包整流,一套流程的時間必然比堆流處理更長,全物品加載時間也就更長。
? ?反正我是覺得可以槍斃純盒處理流程,慕斯白也覺得完爆?
? 與1.19+礦車流物品堆處理對比:
? ? ?體積上其實沒有太大差別,卡頓上至少是少了漏斗礦車實體(實際上19+礦車流物品處理并不能感受到多少礦車帶來的卡頓變化,移步卡龍貓視頻)
? ? ?處理時間上,19-堆流處理需要更長的重置自適應(yīng)漏斗的時間,在需要流程走多波時慢了一點
? 自適應(yīng)堆分整流、分流發(fā)展歷程:
? ? ?一月中旬左右想到自適應(yīng)堆分類用來整流很合適,后來問到了mango做了無活塞自適應(yīng)堆分,就開始了,一開始以為是第一個有這個想法的,但是在寫這篇專欄的時候翻聊天記錄發(fā)現(xiàn)胖紙在這之前就提過(
? ? ?然后整了這個,慕斯白正好路過看到了

? ? (雖然還是遠(yuǎn)古機(jī)器,這時候其實已經(jīng)把一些要解決的問題摸出來了,并且有一個獨創(chuàng)的填充物保護(hù),直接安插固定的堆分類單元來處理全物品填充物,相比以前的檢測填充物截停好上不少,這時還未能識別16堆疊實現(xiàn)精確整流)
? ? 我:怎么樣,感覺是很有潛力的思路
? ? 慕斯白也有想法搞這個,然后就一拍即合了(
? ? 但是一開始著眼的其實是對所有單元都要總線重置,對于不同種物品數(shù)量不均的問題,總會出現(xiàn)有單元瘋狂摸魚,那肯定很讓人不滿,于是開啟了第一波折磨,考慮去做總線控制的單元重置,進(jìn)而又發(fā)展出內(nèi)嵌時鐘的單元,完全不需要總線。但是仔細(xì)多做之后我們沉默了:
這玩意就是x!
? ? 在附上的網(wǎng)盤鏈接中含有相關(guān)文檔把當(dāng)時的幾條路線講的更詳細(xì),當(dāng)時還處于沒覺得這玩意很x的階段。
? ? 走不下去單元重置這條路的主要原因是,做總線控制的單元重置時,一開始是為了避免某個自適應(yīng)漏斗重置時要清空全部水道影響處理效率,于是設(shè)計了單元,會封住重置時的漏斗讓其不能吸取物品,但后面發(fā)現(xiàn)必須在解除這個封鎖時水道也必須是清空的,不然會出現(xiàn)多個自適應(yīng)漏斗吸取同一種物品,之后整流就出錯了,和一開始相比只是鎖車頭的時間縮短了一點,也就沒什么優(yōu)勢了,于是干脆做總線重置。
(但其實做到一半慕斯白就轉(zhuǎn)去做總線重置了,以至于他快做完整流v2我才剛死磕下面這玩意做的差不多(這玩意還是第二版,折磨死了),然后發(fā)現(xiàn)了上述問題并告知,然后決定轉(zhuǎn)路線)

??小插曲:v2出來之后某天我突然意識到既然每個單元收到不可堆疊物品都是直接吐的,不會壞,那么為何不內(nèi)置不可堆疊分離,這樣就免去了前置不可堆疊分離陣列。于是v3在優(yōu)化主控的基礎(chǔ)上,正式內(nèi)置了不可堆疊分離,這也是讓堆流物品處理系統(tǒng)真正實用的很重要的一點
? 然后當(dāng)時慕斯白還搞了一個堆分白名單【【Minecraft】自適應(yīng)堆分類與堆分白名單(1.14+應(yīng)該..)】,但是想要延長時出現(xiàn)了問題,和水流斗智斗勇失敗,于是我想著要借由自適應(yīng)堆分進(jìn)行包括分流和整流在內(nèi)的所有事,歷經(jīng)幾次思路大改做出了現(xiàn)在這個東西

? ? 其實最開始的想法是先完成堆分,然后每個單元取樣送往MIS(多物品分類),MIS輸出信號決定每個單元選擇非大宗物品或非大宗物品,以及16堆疊或64堆疊的邏輯區(qū)別處理,完成精確整流和分流,但過于難以實現(xiàn),且有一些雞肋的點(已經(jīng)遺忘了),之后經(jīng)歷幾次思路大改(妥協(xié))變成了現(xiàn)在這臺,在此期間慕斯白也結(jié)合各種想法做出了前置的物品堆分流器,看著這個我發(fā)現(xiàn)原來我那個想法閹割掉些功能反而能變實用
? ? ?還有一個重要點,慕斯白的整流v2加入了單元內(nèi)置的16堆疊識別,實現(xiàn)了精確整流,再加上v3的主控優(yōu)化,內(nèi)置不可堆疊分離,至此拼圖就集齊了

? ?

? ? 一體機(jī)我鴿的有點久,正好慕斯白優(yōu)化完了總線重置自適應(yīng)堆分整流的主控邏輯,我就正好可以套來用正好可以擺爛
? ?一體機(jī)的大致思路其實就是整流后置分流,取樣,然后通過脈沖增殖器控制遞進(jìn)水道和遞進(jìn)投擲器鏈放行樣品和物品堆,一起通過多物品堆分,實現(xiàn)分流
? ? 最后這一部分單純就是分享小趣事的所以其實沒什么營養(yǎng)。同時也并不否認(rèn)單元重置的可能性,并且也期待自適應(yīng)漏斗重置方式上出現(xiàn)新的突破。
?結(jié)語
? ?對于堆流物品處理系統(tǒng)這幾臺機(jī)子是當(dāng)前19-全物品物品處理的最優(yōu)選擇這點是有一定自信的,但目前暫時看不到什么新的實質(zhì)性提升的曙光,靜待想法產(chǎn)生。