與aoe有關的研究問題
◆ 完成整個工程至少需要多少時間?
◆ 哪些活動是影響工程進度(費用)的關鍵?
設v0是起點,從v0到vi的最長路徑長度稱為事件vi的最早發生時間,即是以vi為尾的所有活動的最早發生時間。
若活動ai是弧,持續時間是dut(),設:
◆ e(i):表示活動ai的最早開始時間;
◆ l(i):在不影響進度的前提下,表示活動ai的最晚開始時間; 則l(i)-e(i)表示活動ai的時間餘量,若l(i)-e(i)=0,表示活動ai是關鍵活動。
◆ ve(i):表示事件vi的最早發生時間,即從起點到頂點vi的最長路徑長度;
◆ vl(i):表示事件vi的最晚發生時間。則有以下關係:
含義是:源點事件的最早發生時間設為0;除源點外,只有進入頂點vj的所有弧所代表的活動全部結束後,事件vj才能發生。即只有vj的所有前驅事件vi的最早發生時間ve(i)計算出來後,才能計算ve(j) 。
方法是:對所有事件進行拓撲排序,然後依次按拓撲順序計算每個事件的最早發生時間。
含義是:只有vj的所有後繼事件vk的最晚發生時間vl(k)計算出來後,才能計算vl(j) 。
方法是:按拓撲排序的逆順序,依次計算每個事件的最晚發生時間。
求aoe中關鍵路徑和關鍵活動
⑴ 演算法思想
① 利用拓撲排序求出aoe網的乙個拓撲序列;
② 從拓撲排序的序列的第乙個頂點(源點)開始,按拓撲順序依次計算每個事件的最早發生時間ve(i) ;
③ 從拓撲排序的序列的最後乙個頂點(匯點)開始,按逆拓撲順序依次計算每個事件的最晚發生時間vl(i) ;
對於圖7-24的aoe網,處理過程如下:
◆ 拓撲排序的序列是: (v0, v1, v2, v3 , v4, v5 , v6 , v7 , v8)
◆ 根據計算ve(i)的公式(7-2)和計算vl(i)的公式(7-3) ,計算各個事件的ve(i)和vl(i)值,如表7-2所示。
◆ 根據關鍵路徑的定義,知該aoe網的關鍵路徑是: (v0, v2, v4, v7 , v8) 和(v0, v2, v5 , v7 , v8) 。
◆ 關鍵路徑活動是:,,,,,。
演算法實現
void critical_path(algraph *g)
int j, k, m ;
linknode *p ;
if (topologic_sort(g)==-1)
printf(「\naoe網中存在迴路,錯誤!!\n\n」) ;
else
for ( j=0; jvexnum; j++)
ve[j]=0 ; /* 事件最早發生時間初始化 */
for (m=0 ; mvexnum; m++)
j=topol[m] ;
p=g->adjlist[j].firstarc ;
for (; p!=null; p=p->nextarc )
k=p->adjvex ;
if (ve[j]+p->weight>ve[k])
ve[k]=ve[j]+p->weight ;
} /* 計算每個事件的最早發生時間ve值 */
for ( j=0; jvexnum; j++)
vl[j]=ve[j] ; /* 事件最晚發生時間初始化 */
for (m=g->vexnum-1; m>=0; m--)
j=topol[m] ;
p=g->adjlist[j].firstarc ;
for (; p!=null; p=p->nextarc )
k=p->adjvex ;
if (vl[k]-p->weightvl[j]=vl[k]-p->weight ;
} /* 計算每個事件的最晚發生時間vl值 */
for (m=0 ; mvexnum; m++)
p=g->adjlist[m].firstarc ;
for (; p!=null; p=p->nextarc )
k=p->adjvex ;
if ( (ve[m]+p->weight)==vl[k])
printf(「<%d, %d>, m, j」) ;
} /* 輸出所有的關鍵活動 */
} /* end of else */
演算法分析
設aoe網有n個事件,e個活動,則演算法的主要執行是:
◆ 進行拓撲排序:時間複雜度是o(n+e) ;
◆ 求每個事件的ve值和vl值:時間複雜度是o(n+e) ;
◆ 根據ve值和vl值找關鍵活動:時間複雜度是o(n+e) ;
因此,整個演算法的時間複雜度是o(n+e) 。
深度學習一些亟待研究問題整理
亟待研究的一些問題 1.深度結構是如何對輸入進行表達的。2.尋找更好的輸入特徵向量 需要提取的特徵 和更好的深度組合結構 3.比較降噪編碼器和rbm在預訓練和微調時,能力的差別,分析產生的原因。4.分析rbm在無監督訓練時如何提取輸入資料的特徵。5.進一步探索新的網路拓撲結構,對現有的模型的拓撲結構...
求AOE網中的所有關鍵活動
一 拓撲排序 設g 是乙個具有n個頂點的有向圖,v中的頂點序列v1,v2,v3,vn稱為乙個拓撲序列。若是圖中的一條邊或者從頂點vi到頂點vj有路徑,則在該序列中頂點vi必須排在頂點vj之前。在乙個有向圖中找乙個拓撲序列的過程稱為拓撲排序。用頂點表示活動,用有向邊表示活動之間的優先關係的有向圖稱為頂...
AOE網路的關鍵路徑問題
關於aoe網路的基本概念可以參考 資料結構 或者search一下就能找到,這裡不做贅述。尋找aoe網路的關鍵路徑目的是 發現該活動網路中能夠縮短工程時長的活動,縮短這些活動的時長,就可以縮短整個工程的時長。因此,尋找關鍵路徑就是尋找關鍵活動。接下來開始尋找乙個工程中的關鍵路徑 關鍵活動 尋找關鍵路徑...