1,生命周期评价LCA的概念基本程序与概念

你是大连理工的吧
产品的LCA评价为即产品生命周期评价 。生命周期评价的定义较多,目前具有代表性的有以下三种: (1)生命周期评价是一个评价与产品、工艺或行动相关的环境负荷的客观过程,它通过识别和量化能源与材料使用和环境排放,评价这些能源与材料使用和环境排放的影响,并评估和实施影响环境改善的机会。该评价涉及产品、工艺或活动的整个生命周期,包括原材料提取和加工,生产、运输和分配,使用、再使用和维护,再循环以及最终处置(国际环境毒理学和化学学会)。 (2)生命周期评价是评价一个产品系统生命周期整个阶段,从原材料的提取和加工,到产品生产、包装、市场营销、使用、再使用和产品维护,直至再循环和最终废物处置的环境影响的工具(联合国环境规划署)。 (3)生命周期评价是对一个产品系统的生命周期中输入、输出及其潜在环境影响的汇编和评价(国际标准化组织)。

生命周期评价LCA的概念基本程序与概念

2,如何使用LCA进行评价

LCA最早提出在80年代初期,当时为对抗巴基斯坦购买的F-16,并要求其作战及各项性能需全面超过F-16不过由于印度自身航空研发实力有限,所以仍决定向苏联采购米格-29向法国采购幻影2000(M-2000)。LCA转变为与其进行高低搭配的多用途轻型战机。88年HAL公布其设想图的时候表达其性能要优于F-20。LCA的研制除了HAL等印度本国公司外亦得到如法国达索、美国LM等公司的协助。并且采用较多的国外系统如爱立信的PS-05火控雷达、通用电气的F-404发动机等。尽管这样其研制进度仍一波三折。1995年11月17日首架技术验证机TD-1出厂,首飞原定于96年7月,后推迟到99年中,最后在2001年1月5日的试飞,于2008年进行第二次试飞,至于量产至少还要等到2014年以后。
聊胜于无的面子工程!lca的教训在于:高的做不了,低的不想要。1、眼高--大国雄心。印度自尼赫鲁以来,一向以大国自诩,从来是要最好的东西。再加上国际政治左右逢源,印度见过太多高大上的装备,这造成军方对装备性能要求很高!2、手低--印度孱弱的工业体系。印度工业发展的不晚,但早期一直是英国的配套,体系不完整,尤其是包括军事工业在内的重工业。具体到lca项目,面对军方无止境的需求变更,研制机构没有能力实现。造成进度拖延,性能缩水(参数那么牛逼的战斗机做这么小几个意思?我又想起了心神),可用性极差,综合成本又太高(很好的继承了达索的传统),其性能和印度主力战机su30mki,幻影2000比起来,必要性不大!更何况,寄予厚望的卡佛里发动机项目失败,只能买美帝的f404/414,贵啊!

如何使用LCA进行评价

3,求LCA算法pascal完整模板

最近公共祖先(Least Common Ancestors)对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。另一种理解方式是把T理解为一个无向无环图,而LCA(T,u,v)即u到v的最短路上深度最小的点。这里给出一个LCA的例子:对于T=<V,E>V=E=则有:LCA(T,5,2)=1LCA(T,3,4)=3LCA(T,4,5)=3LCA问题算法⒈离线算法Tarjan利用并查集优越的时空复杂度,我们可以实现LCA问题的O(n+Q)算法,这里Q表示询问的次数。Tarjan算法基于深度优先搜索的框架,对于新搜索到 的一个结点,首先创建由这个结点构成的集合,再对当前结点的每一个子树进行搜索,每搜索完一棵子树,则可确定子树内的LCA询问都已解决。其他的LCA询 问的结果必然在这个子树之外,这时把子树所形成的集合与当前结点的集合合并,并将当前结点设为这个集合的祖先。之后继续搜索下一棵子树,直到当前结点的所 有子树搜索完。这时把当前结点也设为已被检查过的,同时可以处理有关当前结点的LCA询问,如果有一个从当前结点到结点v的询问,且v已被检查过,则由于 进行的是深度优先搜索,当前结点与v的最近公共祖先一定还没有被检查,而这个最近公共祖先的包涵v的子树一定已经搜索过了,那么这个最近公共祖先一定是v 所在集合的祖先。下面给出这个算法的伪代码描述:LCA(u) Make-Set(u)ancestor[Find-Set(u)]=u对于u的每一个孩子v LCA(v)Union(u)ancestor[Find-Set(u)]=u}checked[u]=true对于每个(u,v)属于P if checked[v]=truethen 回答u和v的最近公共祖先为 ancestor[Find-Set(v)]}}由于是基于深度优先搜索的算法,只要调用LCA(root[T])就可以回答所有的提问了,这里root[T]表示树T的根,假设所有询问(u,v)构成集合P。⒉在线算法 倍增法每次询问O(logN)d[i] 表示 i节点的深度,p[i,j] 表示 i 的 2^j 倍祖先那么就有一个递推式子 p[i,j]=p[p[i,j-1],j-1]这样子一个O(NlogN)的预处理求出每个节点的 2^k 的祖先然后对于每一个询问的点对a,b的最近公共祖先就是:先判断是否 d[a] > d[b],如果是的话就交换一下(保证 a 的深度小于 b 方便下面的操作)然后把b 调到与a 同深度,同深度以后再把a,b 同时往上调(dec(j)) 调到有一个最小的j 满足p[a,j]!=p[b,j] (a b 是在不断更新的),最后再把 a,b 往上调 (a=p[a,0],b=p[b,0]) 一个一个向上调直到a = b,这时 a or b 就是他们的最近公共祖先
代码可能比较长,不要介意。 思路:从根节点开始找,每次用深度优先搜索的方法遍历儿子节点,如果遍历到2个节点在该节点的两个子树集合里,则该点就是他们的lca。 具体方法:首先遍历第一个子树,如果遍历到了其中一个节点,另一个节点已经遍历到了,那么对改点做一次找祖先。每个子树都这么做。如果没有找到就将改点的父亲节点变为他的父亲。对每个子树也是像这样处理。 注意一个是另一个的祖先的情况。代码如下:var father,son:array[0..10001] of longint;//father是返回时的父亲节点编号,原来指向自己,son是该节点的儿子个数 s:array[0..10001,0..101] of longint;//表示一个节点的儿子编号,因为数据比较弱直接开数组,否则要用链表 f:array[0..10001] of boolean; i,j,t,n,get,u,v,x,y:longint;function find(x:longint):longint;begin if father[x]=x then exit(x) else father[x]:=find(father[x]); exit(father[x]);end;//并查集路径压缩,不解释,网上题解比较多的procedure tarjan(x:longint);var i:longint;begin if f[u] and f[v] then exit; f[x]:=true; if (x=u) and f[v] then get:=find(v);//已经找到了两个节点,显然u的父亲节点还没有变动,但是v的已经变动过了,实质上指向的是同一个祖先,所以找v的祖先。下面也是如此 if (x=v) and f[u] then get:=find(u); for i:=1 to son[x] do if not(f[s[x,i]]) then begin tarjan(s[x,i]);//遍历子树 father[s[x,i]]:=x;//没有找到,父亲节点指向它 end;end;begin readln(t); for i:=1 to t do begin readln(n); fillchar(f,sizeof(f),false); fillchar(son,sizeof(f),0); for j:=1 to n do father[j]:=j; for j:=1 to n-1 do begin readln(x,y); inc(son[x]); s[x,son[x]]:=y; father[y]:=x; end; readln(u,v); x:=find(n);//找树根,不解释 for j:=1 to n do father[j]:=j;//父亲节点指向自己 tarjan(x); writeln(get); end;end.总结:算法实质是这样的,首先找到了其中一个节点,然后不断向上,发现一个节点的另一个子树中有另外一个节点,那么这个节点就是他们的lca吐槽一句:你是因为网上的都是c++的然后就强调pascal的吧!好的话记得采纳啊!纯手打很累的!

求LCA算法pascal完整模板


文章TAG:评价  评价方法  方法  实例  lca评价方法实例  
下一篇