igm演算法
Ⅰ k-means演算法怎麼為對稱矩陣進行聚類
幾種典型的聚類融合演算法:
1.基於超圖劃分的聚類融合演算法
(1)Cluster-based Similarity Partitioning Algorithm(GSPA)
(2)Hyper Graph-Partitioning Algorithm(HGPA)
(3)Meta-Clustering Algorithm(MCLA)
2.基於關聯矩陣的聚類融合演算法
Voting-K-Means演算法。
3.基於投票策略的聚類融合演算法
w-vote是一種典型的基於加權投票的聚類融合演算法。
同時還有基於互信息的聚類融合演算法和基於有限混合模型的聚類融合演算法。
二、基於關聯矩陣的聚類融合演算法——Voting-K-Means演算法
Voting-K-Means演算法是一種基於關聯矩陣的聚類融合演算法,關聯矩陣的每一行和每一列代表一個數據點,關聯矩陣的元素表示數據集中數據點對共同出現在同一個簇中的概率。
演算法過程:
1.在一個數據集上得到若干個聚類成員;
2.依次掃描這些聚類成員,如果數據點i和j在某個聚類成員中被劃分到同一個簇中,那麼就在關聯矩陣對應的位置計數加1;關聯矩陣中的元素值越大,說明該元素對應的兩個數據點被劃分到同一個簇中的概率越大;
3.得到關聯矩陣之後,Voting-K-Means演算法依次檢查關聯矩陣中的每個元素,如果它的值大於演算法預先設定的閥值,就把這個元素對應的兩個數據點劃分到同一個簇中。
Voting-K-Means演算法的優缺點:
Voting-K-Means演算法不需要設置任何參數,在聚類融合的過程中可以自動地的選擇簇的個數 並且可以處理任意形狀的簇。因為Voting-K-Means演算法在聚類融合過程中是根據兩個數據點共同出現在同一個簇中的可能性大小對它們進行劃分的,所以只要兩個數據點距離足夠近,它們就會被劃分到一個簇中。
Voting-K-Means演算法的缺點是時間復雜度較高,它的時間復雜度是O(n^2);需要較多的聚類成員,如果聚類成員達不到一定規模,那麼關聯矩陣就不能准確反映出兩個數據點出現在同一個簇的概率。
package clustering;import java.io.FileWriter;import weka.clusterers.ClusterEvaluation;import weka.clusterers.SimpleKMeans;import weka.core.DistanceFunction;import weka.core.EuclideanDistance;import weka.core.Instances;import weka.core.converters.ConverterUtils.DataSource;import weka.filters.unsupervised.attribute.Remove;public class Votingkmeans2 extends SimpleKMeans { /** 生成的序列號 */ private static final long serialVersionUID = 1557181390469997876L; /** 劃分的簇數 */ private int m_NumClusters; /** 每個劃分的簇中的實例的數量 */ public int[] m_ClusterSizes; /** 使用的距離函數,這里是歐幾里德距離 */ protected DistanceFunction m_DistanceFunction = new EuclideanDistance(); /** 實例的簇號賦值 */ protected int[] m_Assignments; /** 設定聚類成員融合閥值 */ private final static double THREASOD = 0.5; /** 生成一個聚類器 */ public void buildClusterer(Instances data) throws Exception{ final int numinst = data.numInstances(); // 數據集的大小 double [][]association = new double[numinst][numinst]; // 定義並初始化一個關聯矩陣 int numIteration = 40; // 設置生成的聚類成員數 final int k = (int)Math.sqrt(numinst); // 設置K-Means聚類演算法參數——簇數 for(int i = 0; i < numIteration; i++) { if(data.classIndex() == -1) data.setClassIndex(data.numAttributes() - 1); // 索引是從0開始 String[] filteroption = new String[2]; filteroption[0] = "-R"; filteroption[1] = String.valueOf(data.classIndex() + 1);// 索引是從1開始 Remove remove = new Remove(); remove.setOptions(filteroption); remove.setInputFormat(data); /* 使用過濾器模式生成新的數據集;新數據集是去掉類標簽之後的數據集 */ Instances newdata = weka.filters.Filter.useFilter(data, remove); /* 生成一個K-Means聚類器 */ SimpleKMeans sm = new SimpleKMeans(); sm.setNumClusters(k); sm.setPreserveInstancesOrder(true); // 保持數據集實例的原始順序 sm.setSeed(i); // 通過設置不同的種子,設置不同的簇初始中心點,從而得到不同的聚類結果 sm.buildClusterer(newdata); int[] assigm = sm.getAssignments(); // 得到數據集各個實例的賦值 /* 建立關聯矩陣 */ for(int j = 0; j < numinst; j++) { for(int m = j; m < numinst; m++) { if(assigm[j] == assigm[m]) { association[j][m] = association[j][m] + 1.0 / numIteration ; } } } } System.out.println(); /* 將生成的關聯矩陣寫入.txt文件(註:生成的txt文本文件在e:/result.txt中) */ FileWriter fw = new FileWriter("e://result.txt"); for(int j = 0; j < numinst; j++) { for(int m = j; m < numinst; m++) { //由於關聯矩陣是對稱的,為了改進演算法的效率,只計算矩陣的上三角 String number = String.format("%8.2f", association[j][m]); fw.write(number); } fw.write("\n"); } /* 處理關聯矩陣,分別考慮了兩種情況 :1.關聯矩陣中某個元素對應的兩個數據點已經被劃分到了不同的簇中 * 2.兩個數據點中有一個或者兩個都沒有被劃分到某個簇中。 */ int[] flag = new int[numinst]; int[] flagk = new int[k]; int[] finallabel = new int[numinst]; for(int m = 0; m < numinst; m++) { for(int n = m; n < numinst; n++) { if(association[m][n] > THREASOD) { if(flag[m] == 0 && flag[n] == 0) { // 兩個數據點都沒有被劃分到某個簇中, int i = 0; // 將他們劃分到同一個簇中即可 while (i < k && flagk[i] == 1) i = i + 1; finallabel[m] = i; finallabel[n] = i; flag[m] = 1; flag[n] = 1; flagk[i] = 1; } else if (flag[m] == 0 && flag[n] == 1) { // 兩個數據點中有一個沒有被劃分到某個簇中, finallabel[m] = finallabel[n]; // 將他們劃分到同一個簇中即可 flag[m] = 1; } else if (flag[m] == 1 && flag[n] == 0) { finallabel[n] = finallabel[m]; flag[n] = 1; } else if (flag[m] == 1 && flag[n] == 1 && finallabel[m] != finallabel[n]) { // 兩個數據點已被劃分到了不同的簇中, flagk[finallabel[n]] = 0; // 將它們所在的簇合並 int temp = finallabel[n]; for(int i = 0; i < numinst; i++) { if(finallabel[i] == temp) finallabel[i] = finallabel[m]; } } } } } m_Assignments = new int[numinst]; System.out.println("基於關聯矩陣的聚類融合演算法——Voting-K-Means演算法的最終聚類結果"); for(int i = 0; i < numinst; i++) { m_Assignments[i] = finallabel[i]; System.out.print(finallabel[i] + " "); if((i+1) % 50 == 0) System.out.println(); } for(int i = 0; i < k; i++) { if(flagk[i] == 1) m_NumClusters++; } } /** * return a string describing this clusterer * * @return a description of the clusterer as a string */ public String toString() { return "Voting-KMeans\n"; } public static void main(String []args) { try {String filename="e://weka-data//iris.arff"; Instances data = DataSource.read(filename); Votingkmeans2 vk = new Votingkmeans2(); vk.buildClusterer(data); /* 要生成Voting-K-Means的聚類評估結果包括准確率等需要覆蓋重寫toString()方法; * 因為沒有覆蓋重寫,所以這里生產的評估結果沒有具體內容。 */ ClusterEvaluation eval = new ClusterEvaluation(); eval.setClusterer(vk); eval.evaluateClusterer(new Instances(data)); System.out.println(eval.clusterResultsToString()); } catch (Exception e) { e.printStackTrace(); }}}
分析代碼時注意:得到的類成員變數m_Assignments就是最終Voting-K-Means聚類結果;由於是採用了開源機器學習軟體Weka中實現的SimpleKMeans聚類演算法,初始時要指定簇的個數,這里是數據集大小開根號向下取整;指定的閥值為0.5,即當關聯矩陣元素的值大於閥值時,才對該元素對應的兩個數據點進行融合,劃分到一個簇中,考慮兩種情況,代碼注釋已有,這里不再詳述。但聚類融合的實驗結果並不理想,鶯尾花數據集irsi.arff是數據挖掘實驗中最常用的數據集,原數據集共有三個類;但本實驗進行四十個聚類成員的融合,其最終聚類結果劃分成兩個簇;其原因可能有兩個:一是演算法本身的問題,需要使用其他更加優化的聚類融合演算法;二是實現上的問題,主要就在聚類結果的融合上,需要進行一步對照關聯矩陣進行邏輯上的分析,找出代碼中的問題。關聯矩陣文本文件http://download.csdn.net/detail/lhkaikai/7294323
---------------------
本文來自 Turingkk 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/lhkaikai/article/details/25004823?utm_source=
Ⅱ nima258369.exe是什麼程序
nima258369.exe
這個擴展名為.exe的文件,文件名上來看,它並不是一個系統必須的文件。不排除它被改過名字,如果是這樣的話,那從文件名上就判斷不出它是個什麼文件,理論上說,它可以是任意文件改名而來。
附微軟中國及linux 社區的搜索截圖,基本可以證明些文件名並非系統文件。
另一方面,看它的名字,更像是被某些惡意程序或者玩笑程序隨機生成的 (可以用漢語拼音自行拼讀前面的字母部分,後面的數字也沒什麼實際意義)
很多病毒及木馬都會自動生成隨機名稱,使用戶不能根據文件名判斷其本身。
關於生成隨機名稱的病毒和木馬介紹的參考文章截取如下:
「一、啟動項、文件名完全隨機
1. 隨機文件名的 AV 終結者。
這一類都是情中玉小輝寫的 downloader。文件名根據計算機的不同而不同。
我遇到過三種文件名生成演算法。一種就是取得磁碟序列號並做處理,取得一個8位的16進制數,然後將這個8位16進數里的某些位置上的數字交換位置,用作文件名,並用這個8位16進制數構造CLSID,來用作啟動項。
第二種就是它有一個用密鑰和磁碟卷序列號生成8位16進制數的函數。它會預先指定一個字元串(如「PopwinIe」,「kowinIe」等)做文件名生成程序的密鑰,用8位數生成函數生成一個8位16進制數,用作服務名,然後用這個服務名作密鑰,用生成函數生成exe文件名,再用exe文件名算出dll文件名。如果能逆向出那個關鍵的生成8位16進制數的函數,就能准確找到木馬所生成的所有東西,並將它們刪除。
這個木馬變種非常容易,因為只需要修改一下密鑰字元串(如「UokwinIe」,「PopwinIe」,「kowinIe」等)就可以生成一個新變種(很有可能由木馬生成器生成)。
還有一個很有意思的事情就是我曾發現新變種木馬在某台機器上生成的dll文件名和舊變種木馬生成的dll文件名相同(不同的密鑰最終生成了同一個串)!這是個很巧的事情。
其間這種木馬還出過一個變種,即第三種,依然使用一個字元串和磁碟卷序列號來算服務和文件名,只是更改了8位16進制數的生成演算法。其中用到了MD5Init、MD5Update、和MD5Final函數,最終的字元串是通過MD5Final函數中的digest參數生成的。逆向出這個演算法就能完美地幹掉它。但與第二種不同的是這個變種好像沒有更換過密鑰字元串,我只遇到過密鑰為「v3djwinIe」一種。
2. 飄雪
飄雪用時間做隨機種子生成的服務名、兩個驅動程序名、dll文件名完全隨機,而且有驅動死循環寫啟動項,處理起來難度很高。
二、啟動項、文件名部分隨機
1. 啟動項、exe文件名固定,用於載入dll,而dll文件名由機器信息生成。我遇到過的這一類惡意程序是IGx盜號木馬。這類木馬在windows目錄下生成IG.exe、IGM.exe、IGW.exe和一個隨機名的dll。這個dll的文件名的形式為「一串數字MM.dll」或「一串數字WO.dll」,其中 xxxMM.dll 對應 IGM.exe,xxxWO.dll 對應 IGW.exe。它們的exe文件名固定,很好定位。但dll的文件名是用CPUID指令取得的cpu版本信息生成的,這就依機器的不同而不同了。
2. 另一種部分隨機的情況多見於廣告程序,這類程序一般都有多個程序,如果完全隨機的話,自己找自己的程序、啟動項也會比較困難,因此做成半隨機。比如有個廣告木馬,它所生成的主要啟動項和文件是一個固定的CLSID,一個服務項,兩個dll,一個sys,一個bin。其中一個dll和bin的文件名相同,這個dll是CLSID所指向的。另一個dll則和sys的文件名相同,且和服務項名相同。而且CLSID指向的dll名以win開頭,而後4個或5個字元與另一個dll和sys的後4個或5個字元相同。
三、文件名隨機而啟動項固定
這類程序的文件名是根據某些機器信息(如磁碟信息)生成的或是木馬作者在木馬生成器里(比如一些qq盜號木馬生成器,遠程式控制制木馬服務端生成器)指定的,但啟動項是固定的,比如CLSID固定、服務名固定、run項固定。
多樣本的情況。
另外還有一類是木馬的樣本不同,但作用大致相同;樣本本身生成的啟動項和文件名固定,不同樣本生成的啟動項和文件名不同,但生成的文件有很多共同特徵。屬於這一類的有ravxxxmon系列、xxxdoorx系列、xxxpri系列、以及「殺軟名+游戲名+xxx」系列等。這都是成系列的網路游戲盜號木馬,其中文件名中的xxx部分就是表示游戲名的。比如RAVZXMON中的ZX表示「誅仙」,ravdthxmon中的dthx表示「大唐豪俠」,rsmydsp中的my表示「魔域」等等。我遇到過「殺軟名+游戲名+xxx」系列中的某些樣本,就我發現的某些表面特徵來談一下這個系列的木馬。
從大的方面看,這個系列的木馬生成的文件的文件名都是由代表殺軟的前綴+代表所盜號游戲的字串+後綴構成的,如「avzxast.exe」、「rsztbsp.exe」、「kaqhacs.dll」等,其中的zx表示「誅仙」,zt表示「征途」,qh 表示「qq華夏」,這三個文件分別是誅仙、征途、qq華夏的盜號木馬的文件。下面看一下他們表面上的共同特徵。
這類木馬一般都會生成文件:xxxxain.dll、xxxxbmn.dll、xxxxbst.exe,有的還會在font目錄下生成一個偽字體文件,內容是一個url(更新用url?)或者是加了密的文字,猜想是加了密的url,沒有深入分析。除xxxxain.dll和字體文件外,其它文件會在中間的b字母處有變化,目前遇到過a、b、c、d、e五個版本,如某個變種是:xxxxamn.dll、xxxxast.exe,或 xxxxcmn.dll、xxxxcst.exe 或 xxxxdmn.dll、xxxxdst.exe 等等,當然不同的盜號木馬文件名中的後綴也會不同,但都有a、b、c、d、e版本,我們且以a、b、c、d、e變種稱之。這些盜號木馬都會通過ShellExecuteHooks方式啟動,所以需要CLSID。而同種盜號木馬的CLSID的第二位和倒數第二位都相同,只有第一位和最後一位不同,會因變種是a、b、c、d、e而取值1、2、3、4、5。以avzx木馬為例:
a變種會生成文件avzxamn.dll,其CLSID為{1859245F-345D-BC13-AC4F-145D47DA34F1}。
b變種會生成文件avzxbmn.dll,其CLSID為{2859245F-345D-BC13-AC4F-45D47DA34F2}。
c變種會生成文件avzxcmn.dll,其CLSID為{3859245F-345D-BC13-AC4F-45D47DA34F3}。」
所以綜合以上兩點,針對些文件提出兩點建議:
在不確定其安全性的情況下,不建議運行該程序。
可以嘗試用安全軟體掃描,也可以提交至在線病毒掃描類的網站進行掃描。確認其安全後再使用。
Ⅲ 針織大圓機工藝紗長公式
針織大圓機工藝紗長的幾個計算公式如下:
1、單面紗長計算公式:NAZ:100支針(99個線圈)紗長=99*1181/Ne*g
2、單珠地紗長門幅計算公式:NAZ:100支針紗長(cm)=2010/(Ne+2.7)/(g+80)*99 門幅=總針數/5cm橫密*5
3、雙珠地紗長計算公式 NAZ: 紗長(CM/圈長)=2280/(Ne+3)/(克重+100)
4、雙面紗長計算公式NAZ:紗長/100支=344000/(Ne+1.6)/(克重+100)
(3)igm演算法擴展閱讀:
針織大圓機含義:學名針織圓形緯編機(或者叫做針織圓緯機)。分為下面幾種:
一、單面系列:普通單面針織大圓機、單面毛圈機、三線襯緯機、提花單面針織大圓機;
二、雙面系列:羅紋機、普通雙面大圓機、提花雙面針織大圓機。
Ⅳ 演算法流程圖謝謝咯
http://..com/link?url=_SO6YJg8odbpmAVsABiFowa-_4lPM-OVDVVGmmFjh5mQ1niGmBhD_
他們已經回答過了
應該能用。
Ⅳ 節點(Node )未命名的分支(Unnamed clade)
包括的分類群 Oviraptor philoceratops Osborn,1924;未命名的單元GIN 100/42。
已知的時代范圍 桑頓晚期—坎潘早期(Late Santonian—Early Campanian)。
鑒定特徵 這一分支由一個明確的共近裔性狀所支持(通過ACCTRAN和DELTRAN的演算法所發現):頭骨頂的縱向氣腔化的冠狀突起存在(2.1)。其它可能的鑒定特徵包括122.2、125.0、132.0、153.1、156.1以及 206.0 由 ACCTRAN演算法發現,只有一個特徵狀態 71.0 由DELTRAN演算法發現。
注釋 根據Barsbold(1981,1983)、Maryańska等(Maryańska et al.,2002)在他們的系統發育分析中用GIN 100/42(IGM 100/42)代表Oviraptor philoceratops。目前的分析顯示了GIN100/42和Oviraptor philoceratops關系非常密切,標本GIN100/42不是屬於Oviraptor屬的不同種,就是相同的種,後者的判斷與Clark等(Clark et al.,2002)的不同。只有一個明確的共近裔性支持這一分支,這是由於標本保存不完整所致。這一唯一的支持特徵(2.1)也同樣出現在節點12上。NXMV的下頜與Oviraptor philoceratops的類似,但是系統發育分析並不支持它們之間的密切關系,這可能由於缺失數據所致。
Ⅵ 多發性骨髓瘤的症狀有哪些
臨床表現
起病緩慢,部分患者可長期無症狀,但血清蛋白電泳發現有單克隆經過免疫球蛋白(IG)峰,或尿中輕鏈陽性,稱之為「骨髓瘤前期」,此期可長達3~5年.主要臨床表現分為以下兩類:
骨髓瘤細胞對各組織浸潤①對骨骼的浸潤。最常侵犯的骨骼是顱骨、肋骨、胸骨、脊椎和四肢長骨的近側端。由於瘤細胞在骨髓腔內無限增殖,導致彌漫性骨質疏鬆或限性骨質破壞。骨痛是最常見的早期症狀,以腰部最為多見,其次為胸骨、肋骨與四肢骨。初起時疼痛可為間發性或遊走性,後漸加重而呈持續性。局部有壓痛、隆起或波動感;可伴發病理性骨折,經常不在負重部位,常有幾處骨折同時發生。X射線檢查可問題發現典型的多發性溶骨性病變、彌漫性骨質疏鬆、病理性骨折等,有助診斷。②對骨髓的浸潤。瘤細胞在骨髓內大量增殖,引起骨髓象的明顯改變、增生減低、活躍或明顯活躍。特點是骨髓瘤細胞佔10~90%,細胞體積大小不等,直徑15~30μm,卵圓形或圓形,胞漿豐富,呈深藍或亮藍色,可有空泡,核旁透明區不明顯。核圓形或橢圓形,偏於細胞一側,染色質呈粗網狀,含1~2個核仁,大而明顯。有時一細胞內可見2~3個細胞核.成熟紅細胞常呈錢串狀排列。在周圍血象中,表現為進行性正常細胞、正常色素型貧血。在塗片中,紅細胞呈錢串狀。白細胞與血小板計數可正常或偏低,晚期表現為全血細胞減少。③對其他器官的浸潤。由於脊椎的骨折或骨髓瘤本身對脊神經根的壓迫或對腦和脊髓的浸潤、可引起神經痛,感覺異常,甚至癱瘓。由於瘤細胞在全身的浸潤,使肝、脾、淋巴結腫大,以肝大為多見。亦可侵及其他臟器,引起相應的臨床小組表現。因骨破壞和骨質吸收,大量鈣入血,加之M蛋白與鈣結合使結合鈣增加,可致高鈣血症和尿鈣增多。
與M蛋白有關的臨床表現有以下各種表現:①尿蛋白,約40~70%骨髓瘤患者,尿中出現Ig的輕鏈,稱之為本斯·瓊斯氏蛋白,系由於瘤細胞合成的Ig分子中輕鏈多於重鏈,輕鏈分子小,可自腎小球濾過而出現在尿中,輕鏈量少時不易檢出,以濃縮尿作電泳則陽性率高。②血沉增速,第小時增快至100mm以上。③出血傾向,血小板減少以及M蛋白引起的血流滯緩、血管壁損害、血小板與凝血因子功能的障礙,患者常有出血傾向,表治療現為粘膜滲血、皮膚紫癜,晚期可有內臟或顱內出血,造成嚴重後果。④腎功能衰竭,由於輕鏈在腎小管的沉積,高鈣血症與高尿酸血症使腎小管重吸收的功能遭受損害,瘤細胞對腎的浸潤等原因,國內慢性腎功能不全是本病顯著的特徵之一成為。病程晚期,尿毒症可成為多種致死的原因。⑤易受感染,正常Ig含量的減低常導致等獎免疫功能障礙。患者常有反復感染,以肺部和尿路感染較為多見。⑥高粘滯度綜合征,大量單克隆Ig提高血液粘滯度,使血流遲緩,引起微循環障礙,視網膜、腦、腎等器官尤易受到損傷,引起頭暈、視力障礙、手足麻木等症狀,嚴重影響大腦功能時可導致昏迷。本綜合征多見於IgM型骨髓瘤和巨球蛋白血症。⑦雷諾氏現象,部分患者的單克隆Ig是冷沉澱球蛋白,遇冷時球蛋白凝集沉澱,引起微循環障礙,出現手足紫紺、冰冷、麻木或疼痛等現象,遇熱後症狀緩解。⑧澱粉樣變性,少數患者伴發澱粉樣變性,澱粉樣物質廣泛沉積於組織、器官和腫瘤中,引起周圍神經、腎、心、肝、脾的病變導致肝、脾腫大,關節疼痛,神經功能異常等臨床表現。
1.骨痛骨痛是本病的主要症狀之一。疼痛程度輕重不一,早期常是輕度的、暫時的,隨著病程進展可以變為持續而嚴重。疼痛劇烈或突然加劇,常提示發生了病理性骨折。據北京協和醫院125例MM首發症狀分析,80例(64.0%)以骨痛為主訴,骨痛部位以腰骶部最常見(28.0%),其次為胸肋骨(27.0%),四肢長骨較少(9.0%),少數患者有肩關節或四肢關節痛。絕大多數(90%~93%)患者在全病程中都會有不同程度的骨痛症狀,但確有少數患者始終無骨痛。
除骨痛、病理骨折外,還可出現骨骼腫物,瘤細胞自骨髓向外浸潤,侵及骨皮質、骨膜及鄰近組織,形成腫塊。在多發性骨髓瘤,這種骨骼腫塊常為多發性,常見部位是胸肋骨、鎖骨、頭顱骨、鼻骨、下頜骨及其他部位。與孤立性漿細胞瘤不同的是,其病變不僅是多發的,而且骨髓早已受侵犯,並有大量單克隆免疫球蛋白的分泌。
2.貧血及出血傾向貧血是本病另一常見臨床表現。據北京協和醫院125例分析,絕大多數(90%)患者都在病程中出現程度不一的貧血,其中部分(10.4%)患者是以貧血症狀為主訴而就診。貧血程度不一,一般病程早期較輕、晚期較重,血紅蛋白可降到<50g/L。造成貧血的主要原因是骨髓中瘤細胞惡性增生、浸潤,排擠了造血組織,影響了造血功能。此外,腎功不全、反復感染、營養不良等因素也會造成或加重貧血。
出血傾向在本病也不少見。北京協和醫院125例中8例是以出血為首發症狀而就醫,而在病程中出現出血傾向者可達10%~25%。出血程度一般不嚴重,多表現為黏膜滲血和皮膚紫癜,常見部位為鼻腔、牙齦、皮膚,晚期可能發生內臟出血及顱內出血。導致出血的原因是血小板減少和凝血障礙。血小板減少是因骨髓造血功能受抑,凝血障礙則因大量單克隆免疫球蛋白覆蓋於血小板表面及凝血因子(纖維蛋白原,凝血酶原,因子Ⅴ、Ⅶ、Ⅷ等)表面,影響其功能,造成凝血障礙。免疫球蛋白異常增多使血液黏度增加,血流緩慢不暢,損害毛細血管,也可造成或加重出血。
3.反復感染本病患者易發生感染,尤以肺炎球菌性肺炎多見,其次是泌尿系感染和敗血症。病毒感染中以帶狀皰疹、周身性水痘為多見。北京協和醫院125例中以發熱、感染為主訴而就醫者18例(佔14.4%),其中多數系肺部感染。部分患者因反復發生肺炎住院,進一步檢查方確診為MM並發肺炎。對晚期MM患者而言,感染是重要致死原因之一。本病易感染的原因是正常多克隆B細胞——漿細胞的增生、分化、成熟受到抑制,正常多克隆免疫球蛋白生成減少,而異常單克隆免疫球蛋白缺乏免疫活性,致使機體免疫力減低,致病菌乘虛而入。此外,T細胞和B細胞數量及功能異常,以及化療葯物和腎上腺皮質激素的應用,也增加了發生感染的機會。
4.腎臟損害腎臟病變是本病比較常見而又具特徵性的臨床表現。由於異常單克隆免疫球蛋白過量生成和重鏈與輕鏈的合成失去平衡,過多的輕鏈生成,相對分子質量僅有23000的輕鏈可自腎小球濾過,被腎小管重吸收,過多的輕鏈重吸收造成腎小管損害。此外,高鈣血症、高尿酸血症、高黏滯綜合征、澱粉樣變性及腫瘤細胞浸潤,均可造成腎臟損害。患者可有蛋白尿、本-周(Bence-Jones)蛋白尿、鏡下血尿,易被誤診為「腎炎」。最終發展為腎功能不全。腎功能衰竭是MM的致死原因之一。在大多數情況下,腎功能衰竭是慢性、漸進性的,但少數情況下可發生急性腎功能衰竭,主要誘因是高鈣血症和脫水,若處理及時得當,這種急性腎功能衰竭還可逆轉。
5.高鈣血症血鈣升高是由於骨質破壞使血鈣逸向血中、腎小管對鈣外分泌減少及單克隆免疫球蛋白與鈣結合的結果。高鈣血症的發生率報告不一,歐美國家MM患者在診斷時高鈣血症的發生率為10%~30%,當病情進展時可達30%~60%。我國MM患者高鈣血症的發生率約為16%,低於西方國家。高鈣血症可引起頭痛、嘔吐、多尿、便秘,重者可致心律失常、昏迷甚至死亡。鈣沉積在腎臟造成腎臟損害,重者可引起急性腎功能衰竭,威脅生命,故需緊急處理。
6.高黏滯綜合征血中單克隆免疫球蛋白異常增多,一則包裹紅細胞,減低紅細胞表面負電荷之間的排斥力而導致紅細胞發生聚集,二則使血液黏度尤其血清黏度增加,血流不暢,造成微循環障礙,引起一系列臨床表現稱為高黏滯綜合征。常見症狀有頭暈、頭痛、眼花、視力障礙、肢體麻木、腎功能不全,嚴重影響腦血流循環時可導致意識障礙、癲癇樣發作,甚至昏迷。眼底檢查可見視網膜靜脈擴張呈結袋狀擴張似「香腸」,伴有滲血、出血。因免疫球蛋白包裹血小板及凝血因子表面,影響其功能,加之血流滯緩損傷毛細血管壁,故常有出血傾向,尤以黏膜滲血(鼻腔、口腔、胃腸道黏膜)多見。在老年患者,血液黏度增加、貧血、血容量擴增可導致充血性心力衰竭發生。雷諾現象也可發生。
高黏滯綜合征的發生既與血中免疫球蛋白濃度有關,也與免疫球蛋白類型有關。當血液黏度(血漿或血清黏度)超過正常3倍以上、血中單克隆免疫球蛋白濃度超過30g/L時,易發生高黏滯綜合征。在各種免疫球蛋白類型中,IgM相對分子質量大、形狀不對稱,並有聚集傾向,故最易引起高黏滯綜合征。其次,IgA和IgG3易形成多聚體,故也較易引起高黏滯綜合征。
7.高尿酸血症血尿酸升高>327μmol/L者在MM常見。北京協和醫院MM91例中,61例(67%)有高尿酸血症。血尿酸升高是由於瘤細胞分解產生尿酸增多和腎臟排泄尿酸減少的結果。血尿酸升高雖然很少引起明顯臨床症狀,但可造成腎臟損害,應予預防和處理。
8.神經系統損害瘤細胞浸潤、瘤塊壓迫、高鈣血症、高黏滯綜合征、澱粉樣變性以及病理性骨折造成的機械性壓迫,均可成為引起神經系統病變和症狀的原因。神經系統症狀多種多樣,既可表現為周圍神經病和神經根綜合征,也可表現為中樞神經系統症狀。胸椎、腰椎的壓縮性病理性骨折可造成截癱。北京協和醫院125例中12例有神經系統病變,周圍神經病變3例、神經根損害3例、顱內損害2例、脊髓受壓而致截癱4例。
9.澱粉樣變性免疫球蛋白的輕鏈與多糖的復合物沉澱於組織器官中即是本病的澱粉樣變性。受累的組織器官常較廣泛,舌、腮腺、皮膚、心肌、胃腸道、周圍神經、肝、脾、腎、腎上腺、肺等均可被累及,可引起舌肥大、腮腺腫大、皮膚腫塊或苔蘚病、心肌肥厚、心臟擴大、腹瀉或便秘、外周神經病、肝脾腫大、腎功能不全,等等。澱粉樣變性的診斷依賴組織活檢病理學檢查,包括形態學、剛果紅染色及免疫熒光檢查。歐美國家報告澱粉樣變性在MM的發生率為10%~15%,而我國的發生率為1.6%~5.6%。由澱粉樣變性損害正中神經引起的「腕管綜合征」(carpaltunnelsyndrome)在西方國家多見,而國內尚未見有報告。
10.肝脾腫大及其他瘤細胞浸潤、澱粉樣變性導致肝脾腫大。肝大見於半數以上患者,脾大見於約20%患者,一般為肝、脾輕度腫大。淋巴結一般不腫大。少數患者可有關節疼痛,甚至出現關節腫脹、類風濕樣結節,系骨關節發生澱粉樣變性的表現。皮膚損害如瘙癢、紅斑、壞疽樣膿皮病、多毛僅見於少數患者。個別患者有黃瘤病,據認為是單克隆免疫球蛋白與脂蛋白結合的結果。
診斷
診斷本病的主要依據有:血清蛋白電泳出現M蛋白峰;骨骼X射線檢查示多處溶骨性改變;骨髓塗片中找到大量骨髓瘤細胞。若三項中有兩項陽性,結合臨床表現,即可作出一項診斷。
多發性骨髓瘤的臨床表現多種多樣,且多變異型,易與其他疾病混淆,誤診及漏診發生率較高。因此,制定多發性骨髓瘤的診斷標准有重要的臨床意義。多發性骨髓瘤的診斷,需依據對患者的臨床症狀、體征及有關實驗室檢查(重點是骨髓象、M成分和骨質病變檢查)的結果綜合分析。當多發性骨髓瘤的診斷確定之後,為了制定正確的治療策略,還需進一步明確多發性骨髓瘤的分型和臨床分期,並評估其預後因素。
世界衛生組織(WHO)於2001年組織有關專家在審閱、參考已有的各家多發性骨髓瘤診斷標准之後,制定了多發性骨髓瘤(MM)的診斷標准。
1.WHO診斷MM的標准
(1)診斷MM要求具有至少1項主要標准和1項次要標准,或者具有至少3項次要標准而且其中必須包括①項和②項。病人應有與診斷標准相關的疾病進展性症狀。
(2)主要標准:
①骨髓中漿細胞增多(>30%)。
②組織活檢證實有漿細胞瘤。
③M成分:血清IgG>3.5g/dl或IgA>2.0g/d1,尿本-周蛋白>1g/24h。
(3)次要標准:
①骨髓中漿細胞增多(10%~30%)。
②M成分存在但水平低於上述水平。
③有溶骨性病變。
④正常免疫球蛋白減少50%以上:IgG<600mg/dl,IgA<100mg/dl,IgM<50mg/dl。
2.我國國內MM的診斷標准我國的血液學家根據國內臨床研究結果並參照國外診斷標准而制定。
(1)骨髓中漿細胞>15%並有異常漿細胞(骨髓瘤細胞)或組織活檢證實為漿細胞瘤。
(2)血清中出現大量單克隆免疫球蛋白(M成分):IgG>35g/L,IgA>20g/L,IgD>2.0g/L,IgE>2.0g/L,IgM>15g/L,或尿中單克隆免疫球蛋白輕鏈(本-周蛋白)>10g/24h。少數病例可出現雙克隆或三克隆性免疫球蛋白。
(3)無其他原因的溶骨性病變或廣泛性骨質疏鬆。
符合上述3項或符合(1)(2)或(1)(3)項,即可診斷為MM。但是診斷IgM型MM時,除符合(1)項和(2)項外,尚需具備典型的MM臨床表現和多部位溶骨性病變。只具有(1)項和(3)項者屬不分泌型MM,需進一步鑒別屬不合成型抑或合成而不分泌型。對僅有(1)和(2)項者(尤其骨髓中無原漿、幼漿細胞者),須除外反應性漿細胞增多和意義未明單克隆免疫球蛋白血症(MGUS)。
綜觀國內、國外製定的MM診斷標准,可以歸納為3個方面:①骨髓中漿細胞異常增生,必須強調不僅是漿細胞數量增多,而且必須有骨髓瘤細胞(原漿、幼漿細胞)出現。因為反應性漿細胞增多症骨髓中漿細胞可能>10%而達到20%~30%,但不會出現骨髓瘤細胞。②血和尿中出現單克隆免疫球蛋白或其輕鏈且水平較高。③骨質改變,即彌漫性骨質疏鬆和多發性溶骨性病變。符合上述3方面的病變或符合第①+②項或第①+③項病變均可診斷為MM。
3.分型應用血清蛋白電泳、免疫電泳、輕鏈定量方法,可確定骨髓瘤細胞是否分泌單克隆免疫球蛋白以及所分泌的單克隆免疫球蛋白的類型。根據骨髓瘤細胞是否分泌和分泌的單克隆免疫球蛋白類型的不同,可將多發性骨髓瘤分為下述8個類型:
(1)IgG型:其單克隆免疫球蛋白的重鏈是γ鏈,輕鏈是κ鏈或λ鏈。IgG型是最常見的MM亞型,約佔MM的50%左右。此型具有MM的典型臨床表現。此外,正常免疫球蛋白減少在此型尤為顯著,繼發感染更為常見。
(2)IgA型:其單克隆免疫球蛋白的重鏈是α鏈,輕鏈是κ鏈或λ鏈。IgA型約佔MM的15%~20%。除具有MM的一般表現外,尚有骨髓瘤細胞呈火焰狀、IgA易聚集成多聚體而引起高黏滯血症、易有高鈣血症和高膽固醇血症等特點。在血清蛋白電泳上,單克隆IgA所形成的M成分常處於α2區而非γ區。
(3)輕鏈型:其單克隆免疫球蛋白是單克隆κ鏈或單克隆λ鏈,而重鏈缺如。此型約佔MM的15%~20%。由於輕鏈的分子量僅23000,遠小於血清白蛋白(分子量69000),故在血清蛋白電泳上不出現M成分,必須應用免疫電泳和輕鏈定量測定,方可發現患者血和尿中存在大量單克隆輕鏈(尿本-周蛋白陽性)。此型瘤細胞常分化較差,增殖迅速,骨骼破壞多見,腎功能損害較重。
(4)IgD型:其單克隆免疫球蛋白的重鏈是δ鏈,輕鏈是κ鏈或λ鏈。國外報告此型僅佔MM的1%~2%。但國內報告此型約佔MM的8%~10%,並不少見。此型除具有MM的一般表現外。尚具有發病年齡相對較年輕、髓外浸潤、骨質硬化病變相對多見等特點。
(5)IgM型:其單克隆免疫球蛋白的重鏈是μ鏈,輕鏈是κ鏈或λ鏈。此型少見,僅佔MM的1%左右。除具有MM的一般臨床表現外,因其分子量較大(分子量950000)且易形成五聚體而使血液黏滯性增高,故易發生高黏滯綜合征是其特點。
(6)IgE型:其單克隆免疫球蛋白的重鏈是δ鏈,輕鏈是κ鏈或λ鏈。此型罕見,至今國際上僅有數例報告,國內尚未見有報告。據國外報告,此型患者血清中單克隆IgE可高達45~60g/L,輕鏈多為λ鏈,溶骨性病變少見,但外周血中漿細胞增多,可呈現漿細胞白血病的徵象。
(7)雙克隆或多克隆型:此型少見,僅佔MM的1%以下。雙克隆常為單克隆IgM聯合單克隆IgG,或單克隆IgM聯合單克隆IgA,雙克隆免疫球蛋白的輕鏈多屬於同一類型(κ或λ鏈),偶為兩種輕鏈即κ鏈和λ鏈。雙克隆輕鏈型MM(即單克隆κ鏈聯合單克隆λ鏈)雖有病例報告,但屬罕見。多克隆(三克隆或四克隆)型MM罕見。雙克隆免疫球蛋白既可來自單一克隆漿(瘤)細胞的分泌,也可來自兩個克隆漿(瘤)細胞的分泌。
(8)不分泌型:此型約佔MM的1%。患者有骨髓中漿(瘤)細胞增生顯著、骨痛、骨質破壞、貧血、正常免疫球蛋白減少、易發生感染等MM的典型臨床表現。但血清中無M成分,尿中無單克隆輕鏈(尿本-周蛋白陰性),此型骨髓瘤可用免疫熒光法進一步分為不合成型和不分泌型,前者的瘤細胞不合成免疫球蛋白,後者的瘤細胞雖有單克隆免疫球蛋白合成,但卻不能分泌出來。
因為MM的分型既和MM的臨床診斷有關,也和MM的治療及預後有關,故當確定MM診斷後,也應明確其分型。
4.臨床分期臨床分期反映病程的早晚,而MM病程的早晚主要取決於患者體內骨髓瘤細胞的總數量(瘤負荷)。當瘤細胞數量有限時不引起臨床症狀,患者可無察覺,稱臨床前期。此期一般為1~2年,少數病例的臨床前期可長達4~5年或更長時間。當瘤細胞總數量≥1×1011時,開始出現臨床症狀。隨著瘤細胞數量增加,病情逐漸加重。當瘤細胞數量增至相當大時將導致死亡。
瘤細胞數量的測定既可用直接測定法,也可用間接推演算法。直接測定法是先用放射免疫法測出體內單克隆免疫球蛋白的合成率和分解率,再用組織培養法測出單個瘤細胞的免疫球蛋白合成率,即可推算出患者體內的瘤細胞總數。此法雖直接、准確,但很難應用於臨床實踐。間接推演算法是根據患者體內瘤細胞總數量與血清單克隆免疫球蛋白的水平、尿中單克隆輕鏈水平、血紅蛋白水平、骨質破壞程度、血鈣水平密切相關,測定上述有關指標,即可間接推算出瘤細胞總數,判斷患者病期的早晚。此法簡單、易行,故廣泛應用於臨床實踐。Durie和Salmon。根據間接推演算法原則。於1975年提出了多發性骨髓瘤的臨床分期標准,見表1。
臨床實踐證實,Durie和Salmon的分期標准有肯定的應用價值。據國外多中心對135名MM患者的研究結果,按Durie和Salmon分期標准劃分的Ⅰ期患者中位生存期為48個月,Ⅱ期為32個月,Ⅲ期為20個月。表明臨床分期與預後有關。
近年來的研究發現,血清β2-微球蛋白水平與瘤細胞量及預後有關。β2-微球蛋白是Ⅰ類(ClassⅠ)主要組織相容性抗原(MHC)輕鏈的組成部分,骨髓瘤細胞也分泌β2-微球蛋白,因此,β2-微球蛋白水平與骨髓瘤細胞總量有關。由於β2-微球蛋白分子量(12000)小,主要由腎臟排出和重吸收,故依據β2-微球蛋白水平判斷體內腫瘤量時,應排除腎功能不全等因素。此外,近年來研究還發現骨質破壞的有無和破壞程度與體內腫瘤量無顯著相關性,故Alexanian和Dimopoulos於1995年提出了新的多發性骨髓瘤腫瘤量分級標准(表2)。
此外,Bataille等根據β2-微球蛋白水平與體內腫瘤細胞量的關系密切,提出了以β2-微球蛋白和血清白蛋白水平作為腫瘤量分級的更為簡便的分期標准(表3)。
在上述分期標准中,Durie和Salmon分期標准在臨床實踐中應用最早、最廣,而且行之有效,故目前國內多採用Durie和Salmon分期標准,但應同時參考β2-微球蛋白水平作為分期標准。
5.診斷評析
(1)MM是原發於骨髓的惡性腫瘤,因此在骨髓中發現骨髓瘤細胞是診斷MM的基本必備條件。骨髓瘤細胞是惡變的漿細胞,在形態上不同於正常成熟的漿細胞,而與原始或幼稚漿細胞相似。骨髓中正常成熟漿細胞增多見於多種疾病(參見鑒別診斷),但出現骨髓瘤細胞則僅見於MM。因此,不能僅僅依據骨髓中漿細胞增多作為診斷MM的依據,而必須找到骨髓瘤細胞方可作為診斷依據。
(2)單克隆免疫球蛋白或單克隆免疫球蛋白輕鏈的出現是MM的特點之一,但並非MM所特有,因為其他疾病(參見鑒別診斷)也可伴有單克隆免疫球蛋白或單克隆免疫球蛋白輕鏈。此外,MM的不分泌型在血清中不出現單克隆免疫球蛋白或其輕鏈。因此,單克隆免疫球蛋白或其輕鏈的出現是MM的重要特點和診斷依據,但不能僅僅依據此項確診或排除MM。
關於單克隆免疫球蛋白或單克隆免疫球蛋白輕鏈的檢測,僅僅依賴血清蛋白電泳是不夠的。因為輕鏈分子量遠小於白蛋白,在血清蛋白電泳上泳動速度快於白蛋白而逸出電泳膠外故不會出現「M」帶。IgD和IgE在血清中含量極少,即使血清中存在有增多的單克隆IgD或IgE,也難於在電泳膠上形成明顯的「M」帶。但若作血清免疫電泳以及血和尿輕鏈定量,就可檢測出血清中含量較少的單克隆IgD或IgE並可確定有無單克隆輕鏈的存在。此外,血清蛋白電泳不能鑒別單克隆免疫球蛋白的類型,而免疫電泳可以明確單克隆免疫球蛋白和其輕鏈的類型。因此,要確定有無單克隆免疫球蛋白或其輕鏈的存在,並明確其類型,必須同時進行血清蛋白電泳、免疫電泳、血和尿免疫球蛋白輕鏈定量3項檢查。應該指出,既往檢測尿中輕鏈的加熱法(尿本-周蛋白測定)因特異性和敏感性較差,已被尿輕鏈定量法取代。
(3)廣泛性骨質疏鬆和(或)溶骨性病變是MM的另一重要特徵,其中以顱骨穿孔樣溶骨病變和胸腰椎壓縮性骨折最具代表性。但骨質疏鬆和骨質破壞也可見於其他疾病(參見鑒別診斷),而且MM患者並非都具有上述典型骨質改變。因此,不能僅僅根據有無廣泛性骨質疏鬆和(或)溶骨性病變肯定或排除MM的診斷,而需結合有無其他2項診斷標准作出判斷。
Ⅶ 什麼叫ML
1. milliliter 毫升,計量單位。
2. ml 是中國大陸人創造發明英文 "make love" 的縮寫,中文就是做愛的意思。有些無知的人,認為這樣寫比較"含蓄"。他們卻不知道在中國古代,早已有一些含蓄的詞彙來表達同樣的意思。例如: 房事,雲雨一番,同房,等。顯示出,現代中國人對自己國家的古代文化的缺乏。常見於中國大陸網站,香港、台灣的網站也不多見。因為既不是拼音,也不是正規的英文縮寫。導致很多懂英文,懂中文的人看了,一頭霧水。還要問別人,才知道是什麼意思。顯然違反了語言是用來溝通的基本用途。而且有些人和別人完全是金錢交易,絕對不是做愛,居然也稱自己 ml 如何,如何。簡直就是糟蹋做愛的崇高含義!
在講英文的國家,ml 並不代表做愛的意思。一般英文日常用語中, ml 僅代表 milliliter,毫升的意思。在英文字典中,並沒有做愛這個解釋。一般人用 "have sex","sexual intercourse",或者那個F開頭的單詞,等等。即使在網路上, 最簡單的說法就是 sex。可以說,ml 這個縮寫完全就是中式英語(英文:Chinglish),完全就是中國人創造發明的。在中國,請不要用英文縮寫,容易引起不必要的誤解。何況很多人連中文都沒有學好。
堂堂中華,號稱有幾千年歷史。幾千年的中華文化,沒有這些不倫不類的詞語,是一樣的燦爛輝煌!曾幾何時,在當代中國,中國人對自己國家的文字缺乏興趣。因此喜歡引用英文單詞。(例如:pk,vs,wc,等。)其實是對自己文字的一種糟蹋。是否,以後的中文字典里,還要加入外文單詞的解釋呢?更何況,ml 在英文國家並沒有這個意思。而且,中文已經有"房事","做愛"等詞。如此下去,中文是否很快就會象日文一樣,變得亂七八糟了呢?正如同韓國人的端午節在2005年,被聯合國教科文組織正式確定為" 人類口頭和非物質遺產代表作"。如果中國人繼續糟蹋自己的文字,有朝一日,中文恐怕也會被韓國人申請為他們的文化遺產了。 因此,強烈建議大家為了珍惜自己國家的文化,捍衛中華文化,保衛中國字的完美無缺! 愛國從自己做起,從現在做起,寫中文的時候只用漢字。
3.machine language 機器語言, makeup language 例如: html
4.machine learning, 人工智慧裡面的機器學習
4.mali 非洲的馬利共和國的國家代號縮寫
5.millilambert 毫郎伯(亮度單位)
6.Merrill Lynch 投資銀行
7.游戲《實況足球》中的大師級聯賽:Master League 的簡稱也叫ML
編輯本段ML語言
ML 是一個通用的函數式編程語言,它是由愛丁堡大學的Robin Milner及他人在二十世紀七十年代晚期開發的。它的語法是從ISWIM得到的靈感。作為元語言的ML是為了幫助在LCF定理證明機中尋找證明策略而構想出來的。(之前的元語言是pplambda,它聯合了一階邏輯演算、多態及Λ演算)。它使用了Hindley-Milner類型推論演算法來推測大多數值的類型,而不需要四處使用註解
Ⅷ 字元串匹配演算法
boyermoore演算法的sample程序
TCHAR * BoyerMooreSearch(TCHAR *sSrc, TCHAR *sFind)
{
//
// 聲明:
// 該段代碼只是BoyerMoore(名字也許不準確)的基本思想,當
// 然不是最優的,具體完善工作就留給你自己樂!嘻嘻。
// 該演算法的本質就是從字元串的右端而不是左端開始比較,這
// 樣,當查詢不匹配時才有可能直接躍過多個字元(最多可以躍過
// strlen(sFind)個字元),如果最右邊的字元匹配則回溯。比如:
//
// pain
// ^ 這是第一次比較n和空格比
// The rain in SpainThe rain in Spain
//
// pain
// ^ 這是第二次比較,好爽呀!
// The rain in SpainThe rain in Spain
//
// 當然,這樣比較會產生一些問題,比如:
//
// pain
// ^ (圖1)
// The rain in SpainThe rain in Spain
//
// 如果比較到這兒,大家都會看到,只需再向後移到兩個字元
// 就匹配成功了,但如果接下去還按上面的方法跳strlen(sFind)的
// 話,就會錯過一次匹配!!!!!
//
// pain
// ^
// The rain in SpainThe rain in Spain
//
// 怎麼辦?當然可以解決!大家回頭看圖1,當時a是pain的子
// 串,說明有可能在不移動strlen(sFind)的跨度就匹配成功,那就
// 人為地給它匹配成功的機會嘛!串一下pain串,直接讓兩個a對齊
// 再做比較!呵呵,如果要比較的字元不是pain的子串,當然就可
// 以直接跨過strlen(sFind)個字元了!不知我說明白沒?
//
//
// 查詢串的長度
int nLenOfFind = lstrlen(sFind);
// 被查詢串的長度
int nLenOfSrc = lstrlen(sSrc);
// 指向查詢串最後一個字元的指針
TCHAR * pEndOfFind = sFind + nLenOfFind -1;
// 指向被查詢串最後一個字元的指針
TCHAR * pEndOfSrc = sSrc + nLenOfSrc -1;
// 在比較過程中要用到的兩個指針
TCHAR * pSrc = sSrc;
TCHAR * pFind;
// 總不能一直讓它比較到win.com文件的地址去吧?嘻嘻!
while ( pSrc <= pEndOfSrc ) {
// 每次匹配都是從右向左,這是本演算法的核心。
pFind = pEndOfFind;
// 如果比較不成功,被查詢串指針將向右串的字元數
int nMoveRightSrc;
// 比較被查詢串的當前字元是否和查詢串的最右邊字
// 符匹配,如果匹配則回溯比較,如果全匹配了,該
// 干什麼,我就不用說了吧?:-)
while ( pFind >= sFind ) {
// TNND,白廢功夫比了!看看需要向右移動幾個
// 字元吧(如果說從右到左是本演算法的核心,則
// 判斷向右移幾個字元則是本演算法的技巧)。
if ( *pSrc != *pFind ) {
// 被查詢串的當前字元是否在查詢串里?
TCHAR * p = strrchr( sFind, *pSrc );
// 沒在,直接移lstrlen(sFind)個字元
if ( NULL == p )
nMoveRightSrc = nLenOfFind;
else
// 哇塞!真的在,那就只需...
nMoveRightSrc = pEndOfFind - p;
break;
}
// 哈!又匹配成功了一個!接著向左回溯...
pFind --;
pSrc --;
}
// 如果在上面的while循環里每一次比較都匹配了
// 那就對了唄!告訴用戶找到了
if ( pFind < sFind )
return ( pSrc + 1 );
// 沒匹配成功,nMoveRightSrc上面已經算好了
// 直接用就可以了。
pSrc += nMoveRightSrc;
}
// 程序運行到這兒肯定是沒指望了!
return NULL;
}
行了,函數寫完了,我們可以試一下了!
void CTNNDDlg::OnButton1()
{
TCHAR sSrc[] = "The rain in Spain";
TCHAR sFind[]= "pain";
TCHAR * pFound = BoyerMooreSearch( sSrc, sFind );
if ( pFound )
MessageBox(pFound);
else
MessageBox("沒找到");
}
//另外一個
void preBmBc(char *x, int m, int bmBc[]) {
int i;
for (i = 0; i < ASIZE; ++i)
bmBc[i] = m;
for (i = 0; i < m - 1; ++i)
bmBc[x[i]] = m - i - 1;
}
void suffixes(char *x, int m, int *suff) {
int f, g, i;
suff[m - 1] = m;
g = m - 1;
for (i = m - 2; i >= 0; --i) {
if (i > g && suff[i + m - 1 - f] < i - g)
suff[i] = suff[i + m - 1 - f];
else {
if (i < g)
g = i;
f = i;
while (g >= 0 && x[g] == x[g + m - 1 - f])
--g;
suff[i] = f - g;
}
}
}
void preBmGs(char *x, int m, int bmGs[]) {
int i, j, suff[XSIZE];
suffixes(x, m, suff);
for (i = 0; i < m; ++i)
bmGs[i] = m;
j = 0;
for (i = m - 1; i >= -1; --i)
if (i == -1 || suff[i] == i + 1)
for (; j < m - 1 - i; ++j)
if (bmGs[j] == m)
bmGs[j] = m - 1 - i;
for (i = 0; i <= m - 2; ++i)
bmGs[m - 1 - suff[i]] = m - 1 - i;
}
void BM(char *x, int m, char *y, int n) {
int i, j, bmGs[XSIZE], bmBc[ASIZE];
/* Preprocessing */
preBmGs(x, m, bmGs);
preBmBc(x, m, bmBc);
/* Searching */
j = 0;
while (j <= n - m) {
for (i = m - 1; i >= 0 && x[i] == y[i + j]; --i);
if (i < 0) {
OUTPUT(j);
j += bmGs[0];
}
else
j += MAX(bmGs[i], bmBc[y[i + j]] - m + 1 + i);
}
}
Ⅸ 機器人的分類
機器人分為兩大類,即工業機器人和特種機器人。工業機器人就是面向工業領域的多關節機械手或多自由度機器人。特種機器人則是除工業機器人之外的、用於非製造業並服務於人類的各種先進機器人。
特種機器人包括:服務機器人、水下機器人、娛樂機器人、軍用機器人、農業機器人、機器人化機器等。在特種機器人中,有些分支發展很快,有獨立成體系的趨勢,如服務機器人、水下機器人、軍用機器人、微操作機器人等。
(9)igm演算法擴展閱讀:
機器人的發展趨勢
機器人與人工智慧的結合必須要靠產業生態。人工智慧的未來需要更大的開放與合作,一方面,單一的深度學習演算法已經難以滿足人工智慧在機器人領域的應用,人工智慧+機器人。需要掌握著專業知識的各路創業者和科學家進行緊密合作。
在構建良好外部發展環境的同時,機器人對於環境的自主適應性,即「柔性智能」也需要進一步提升。通過與新技術的不斷融合,機器人生態系統已經發生改變,必須隨之進行技術上的調整和突破,機器人才能有更好的性能、更高的智能和更廣闊的發展空間。
Ⅹ RPR,ACA,TORCH,HCY是什麼意思
RPR的簡稱Resilient Packet Ring彈性分組環
ACA是The Associate Chartered Accountant英國特許會計師的簡稱
TORCH是指可導致先天性宮內感染及圍產期感染而引起圍產兒畸形的病原體
HCY是指同型半胱氨酸(homocysteine, hCY)
具體看下面都是貼過來的,不過出處太多就不一一說明了
RPR的簡稱Resilient Packet Ring彈性分組環, 從字眼我們可以看出這個技術的三個特點,
首先是彈性的,這個比價復雜我們後面慢慢談談這些彈性的優點。
再次是Packet,這個技術基於包的傳送。
最後是Ring,包的傳送要建立在Ring這種拓撲結構上。而且是一種雙環結構,每個環上最大的帶寬1.25Gbit/s, 雙環最大帶寬2.5Gbit/s. 外環攜帶內環數據包的管理位元組,內環攜帶外環的管理位元組。這樣,雙環互為保護和備份。
我們來談談「彈性」帶來的優點:
1 業務分級,將業務分為3級A,B,C. 其中A細分為兩級,B細分為兩級。數據類型實際上被分為5級,每一級有不同的QoS,保證業務的區分度,分別對應實時業務,非實時業務和盡力傳送。
2拓撲自動發現,保證了對環上新增和移去的節點,動態實現拓撲結構更新。如果要增加或者減少RPR上的總帶寬,則可以結合LCAS功能來實現。使用LCAS可以動態的調整帶寬,而不影響原有業務。
3空間重用,RPR單播幀在目的節點剝離的機制,實現了環上帶寬的空間重用。環上帶寬可以幾個點的業務共用,帶寬利用率提高。
4公平演算法,RPR內環和外環都支持獨立的公平演算法。公平演算法保證了低優先順序的B_EIR和C類業務在RPR環上的公平接入。通過設置公平演算法的權重,可以使不同的結點具有不同的接入速率。節點可以分別在外環和內環上設置不同的權重。
5保護:wrapping+string, wrapping相當於斷纖處環回,倒換時間快,但是路徑不是最優。String保護模式倒換時間慢,但選擇最優路徑。
ACA是The Associate Chartered Accountant(英國特許會計師)的簡稱
ACA 專業資格在國際上享有極高聲譽, 它將使你在同行中脫穎而出:在英國擔任高級職務的會計師中,具有ACA 資格的人數多於具有其他任何會計師資格的人數。據2006 年4 月的一項統計, 在英國前一百家最大的上市公司中,具有會計師資格的首席財務官,財務總監及公司秘書有101 人,具有ACA 資格的人數佔70%,是具有其他會計師資格人數的5 倍。
ACA 專業資格可以幫助你加速到達事業的頂峰,而且在職場上極具競爭力:在英國,由於ACA 挑選最優秀的人才參加培訓,絕大多數學員都能一次考試合格。2004 年,78% 的ACA 學員一次考試合格,高於任何其他會計師資格考試。大部分ACA學員在取得資格後很快晉升為事務所的合夥人或公司的財務總監,還有一些人擁有自己的公司,供職於政府部門或被公司派到海外工作。
ACA 專業資格獲得全世界的認可:英國特許會計師協會與下列國家的會計師協會簽有會員互認協議:加拿大,澳大利亞,紐西蘭,歐共體成員國,香港和南非;允許其會員申請成為這些協會的會員(在滿足某些特定條件的前提下)。世界上140 個國家都有ACA 在那裡工作。作為世界上唯一一家設有專家小組的協會,這些專家在會員終生的事業發展過程中提供技術上,經驗上和政策更新方面的幫助。協會的網站為會員提供大量的信息資源。國際會員小組在世界上許多國家都非常活躍,定期組織活動,為會員提供交流和聯誼的機會。
TORCH是指可導致先天性宮內感染及圍產期感染而引起圍產兒畸形的病原體,它是一組病原微生物的英文名稱縮寫,其中T(Toxopasma)是弓形蟲,R(Rubella.Virus)是風疹病毒,C(Cytomegalo.Virus)是巨細胞,H(Herpes.Virus)即是單純皰疹I/II型。
這組微生物感染有著共同的特徵,即可造成母嬰感染。孕婦由於內分泌改變和免疫力下降易發生原發感染,既往感染的孕婦體內潛在的病毒也容易被激活而發生復發感染。孕婦發生病毒血症時,病毒可通過胎盤或產道傳播感染胎兒,引起早產、流產、死胎或畸胎等,以及引起新生兒多個系統、多個器官的損害,造成不同程度的智力障礙等症狀。特別在懷孕初的三個月胚胎處於器官形成期,此時受病毒感染,可破壞細胞或抑制細胞的分裂和增值。器官形成期以後感染病毒,可破壞組織和器官結構,並可形成持續感染,出生後繼續排毒,能引起相應的病變。固TORCH的感染影響者人口素質,與優生優育有重要關系。
【TORCH的感染】
風疹(RV)感染:RV主要通過呼吸道傳播,孕婦感染後能使胎兒致畸,主要圍先天性白內障、先天性心臟病和神經性耳聾,20周後感染者幾乎無影響。
巨細胞(CMV):感染後能引起宮內胎兒生長遲緩、小頭形、腦炎、視網膜脈膜炎、黃疸、肝脾腫大、溶血性貧血等,新生兒死亡率較高,圍產期母乳排毒所致的CMV感染率為63%。單純皰疹(HSV I、II型)感染:HSV通常潛伏在神經節。妊娠時母體的生理變化使HSV活化,孕早期感染能破壞胚芽面導致流產,孕中晚期雖少發畸胎,但可引起胎兒和新生兒發病。
【TORCH檢測意義】
TORCH綜合症患者造成孕婦流產、死胎,出生後有嚴重的智力障礙,生活不能自理,造成極大的精神及經濟負擔。我國每年約有26000個TORCH患兒出生,平均每小時就有3人,對優生優育與人口素質構成極大的威脅,因此它的感染診治工作引起普遍關注。
【TORCH檢測的方法】
目前,國際上公認的最方便、最先進的早期篩查方法是採用ELISA酶免診斷技術。ELISA酶免檢測方法是檢測人體血清中的特異性IgM、IgG抗體,由於IgM為早期感染指標,對胎兒影響巨大,所以IgM的檢測備受關注,胎盤中特異性IgM的檢測是診斷胎兒宮內感染的可靠依據。ELISA試劑因其穩定、靈敏度高、特異性強、成本低等優點而在普通實驗室中廣泛採用。
hcy 同型半胱氨酸是人體內含硫氨基酸的一個重要的代謝中間產物,可能是動脈粥樣硬化等心血管疾病發病的一個獨立危險因子。血漿中同型半胱氨酸含量與遺傳因素、營養因素、雌激素水平、年齡因素等有關,與同型半胱氨酸代謝有關的N5N10-亞甲基四氫葉酸還原酶和胱硫醚-β-合成酶的基因突變,酶活性下降,也可引起高同型半胱氨酸血症。