文档库 最新最全的文档下载
当前位置:文档库 › Toward Inductive Logic Programming for Collaborative Problem Solving

Toward Inductive Logic Programming for Collaborative Problem Solving

Toward Inductive Logic Programming for Collaborative Problem Solving
Toward Inductive Logic Programming for Collaborative Problem Solving

Toward Inductive Logic Programming for Collaborative Problem Solving

Jian Huang and Adrian R.Pearce

NICTA Victoria Research Laboratory

Department of Computer Science and Software Engineering

The University of Melbourne,Victoria,Australia

{jhua,adrian}@https://www.wendangku.net/doc/b112664464.html,.au

Abstract—In this paper,we tackle learning in distributed systems and the fact that learning does not necessarily involve the participation of agents directly in the inductive process itself. Instead,many systems frequently employ multiple instances of induction separately.The paper’s main contribution is a new approach that tightly integrates processes of induction between distributed agents,based on inductive logic programming tech-niques,for a wider class of problem solving tasks.The approach combines inverse entailment with an epistemic approach to reasoning about knowledge,facilitating a systematic approach to the sharing of knowledge and invention of predicates only when required.We illustrate the approach for learning declarative program fragments and for a well-known path planning problem and compare results empirically to(multiple instances of)single agent-based induction over varying distributions of data.Given a chosen path planning algorithm,our algorithm enables agents to combine their local knowledge in an effective way to avoid central control while signi?cantly reducing communication costs.

I.I NTRODUCTION

While it has been widely recognized that the distribution of knowledge performs an important role in constructing hy-potheses in distributed systems,a great deal of work on multi-agent learning problems has frequently employed multiple instances of induction separately,as opposed to learning that tightly integrates processes of induction between agents.For a survey of multi-agent learning,refer to[1].In those works, agents do not necessarily require the participation of other agents directly in learning.

However,according to[2],the problem of true multi-agent learning has far more complexity than simply having each agent perform localized induction in isolation.In the spirit of Wei?and Dillenbourg[3],we view induction as a cooperative negotiated search for a solution to the learning task.

The reason that interaction and cooperation during learning is important,is because the crucial knowledge necessary in learning a hypothesis is typically distributed over a number of agents.This gives rise not only to the problem that no individ-ual agent can accomplish the learning task alone,but also the problem of knowing what background knowledge from each agent is required for constructing the global hypothesis,given that sharing complete knowledge is often not feasible.

In prior work published by the authors[4],inductive logic programming(ILP)has been proposed as an effective approach that facilitates interaction and collaboration during learning among agents.Within the framework,agents are equipped with background knowledge,expressed as logic programs,and they reason about what they know,based on their collaborative engagement in learning tasks,through communicating positive and negative examples(based on the prior success and failure of goals from the perspective of each agent).

In this paper,we build on this work towards an integrated approach that combines deductive and inductive logic pro-gramming and epistemic reasoning within the same frame-work,for a wider range of problem solving tasks.As a?rst step,we illustrate the approach using two examples.First, the approach is demonstrated for learning declarative program fragments in a distributed programming setting.Second,we use the distributed path planning problem where path informa-tion(such as reachability and cost)is distributed over different agents and empirically show that the approach shows promise for avoiding central control and reducing communication costs involved.

In this paper,we focus on learning that utilizes inductive logic programming(ILP),based on the inverse resolution technique[5].We follow in the tradition of prior work on con-text sensitive models and decision-theoretic ILP for ef?ciently constraining the search and?nding optimal models[6].For our knowledge-based needs of distribution,this involves scoring hypothesis during induction:which model is the optimal choice for the current context relative to each agents viewpoint and goals?

An important aspect of our approach is that it seeks to integrate processes of both deductive and inductive inferencing during problem solving.Our research views the synergy of combining both processes as an effective way of acquiring new knowledge while performing reasoning;such that an agent performing induction may have a number of deductive subroutines that can be used at its discretion,and vice versa. In section II we de?ne the collaborative ILP problem and formalize our inductive agents in section III.We then illustrate our approach using two examples:inducing logic program (fragments)in section IV and(empirically)using distributed path planning by deduction and induction in section V.

II.T HE C OLLABORATIVE ILP P ROBLEM

The process of inductive logic programming is often de?ned as such:when provided with some background knowledge B and examples E of a concept,an ILP algorithm constructs a hypothesis H such that B ∧H |=E .In multi-agent sys-tems,ILP involves generating hypotheses using the collective background knowledge.More formally,the process of ILP in multi-agent systems can be de?ned as follows.

De?nition 1:The collaborative ILP problem is de?ned by the set of agents A ;the background knowledge B i ,where i ∈A ,for each agent i ;and the set of positive and negative

examples E +i and E ?

i for each agent i .Further,B = i ∈A B i

is the set of all background knowledge and E +

= i ∈A E +i and E ?

= i ∈A E ?i are the sets of all positive/negative examples.Then collaborative ILP can be viewed as the process of collaboratively generating the hypothesis H such that the following conditions hold:

1)Prior Satis?ability:B ∧E ?|=

2)Posterior Satis?ability:B ∧H ∧E ?|= 3)Prior Necessity:B |=E +

4)Posterior Suf?ciency:B ∧H |=E +,and 5)??i ∈A such that B i ∧H |=E +

The ?rst four conditions are adapted from ILP in a single agent setting [5]and are generalized to allow hypothesis generation over the agents’total background knowledge.The ?fth condition asserts that there is no individual agent who is able to induce the hypothesis based solely on its own background knowledge.

Due to constraints associated with resource bounded multi-agent systems,bringing distributed background knowledge together into one agent and execute a centralized ILP algo-rithm is often infeasible in practice.Therefore,inductively generating the hypothesis in multi-agent systems relies heavily on careful exchange of information between agents during learning,for which we believe epistemic reasoning plays an important role.

III.F ORMALIZATION OF I NDUCTIVE A GENTS

In order to integrate agent interaction,inductive logic programming and epistemic reasoning,a generic model of inductive agents has been developed by the authors in [4]based on four fundamental constructs:background knowledge,examples,capabilities and a knowledge base.Background knowledge and examples facilitate the execution of inductive logic programming algorithms.Capabilities and the knowledge base enable the agents to perform epistemic reasoning,inspired by the KARO framework [7].Importantly,we distinguish background knowledge commonly de?ned in ILP from the knowledge base which facilitates epistemic reasoning.

a)Background Set B ={b 1,···,b n }:An agent’s back-ground set contains the background knowledge,or domain knowledge,that it uses for inducing hypothesis.

b)Example Set E =E +∪E ?:An agent’s example set contains the positive and negative examples that it has gathered from previous experience or from other sources.The example

set,together with background set,can be used as training examples when performing inductive logic programming to learn new concepts.

c)Capability Set C =C +∪C ?:An agent’s capability set keeps track of the capabilities (and incapabilities)of itself and of other agents,in the form of A i α.

d)Knowledge Base K =K P ∪K E ∪K C :Finally,agents know what their background knowledge implies,they know the positive and negative instances of various concepts and they know the capabilities of themselves and of others that they are aware of.Knowing what they know allows the agents to perform reasoning based on their knowledge status and capabilities,e.g.an agent may perform reasoning to ?nd out that it doesn’t have the capability of performing some action and can proactively seek out the capability among other agents in the system.

An agent can reason about its abilities (and inabilities)as well as its knowledge status about the world and about other agents’knowledge status,e.g.“He knows that I know that he knows ...”;and whether,when,who and what to communicate.For example,if agent i asks agent k the de?nition of sort ,agent k can deduce that agent i is not capable of performing sort ,i.e.K k (?A i sort ).Furthermore,if agent k knows that agent j knows about sort it can communicate this information to agent i .Please refer to [4]for how reasoning about capability and knowledge can be performed under the model.

IV.E XAMPLE :I NDUCING P ROGRAM F RAGMENTS Based on the formalism detailed in the previous section,we illustrate how this formalism enables a team of agents to collaborate while learning missing program fragments.For this reason,we extend deduction to allow missing knowledge to be induced to overcome the problem of knowledge being distributed.Here we present a generic algorithm to be executed by the agents that facilitates systematic acquisition of missing knowledge among a team of agents and allows program execution based on incomplete knowledge.

The deduction process proceeds just like any Prolog in-terpreter,such that when asked to prove a goal,an agent keeps replacing the ?rst goal in the list by its body unless it encounters a goal for which it fails to ?nd a corresponding de?nition.Then it invokes the induction process and either returns back with the induced de?nition or fails if the induction fails.

Fig.1outlines the algorithm for the induction process.Dur-ing induction,an agent ?rst induces any unde?ned predicates before using them as background knowledge.It then calls an ILP system to induce the de?nition of the predicate based on its own background knowledge.Upon failing,it asks the rest of the team,through the communication of positive and negative examples,to induce the de?nition and the induction process will be called recursively until either the de?nition is obtained or all agents have tried and failed.The induction algorithm constructs the hypothesis in a bottom up fashion,i.e.it tries to resolve all unde?ned predicates that the hypothesis may

I NDUCE(P red,Example)

1:for all background predicate b do

2:if b does not depend on P red then

3:if b is not de?ned then

4:I NDUCE(b,example(b))

5:end if

6:Background←Background∪{b}

7:end if

8:end for

9:I LP(P red,Background,Example)

10:if P red is induced then

11:return SUCCEED

12:else

13:for each agent i in the team do

14:A SK(i,P red,Example)

15:if P red is induced then

16:return SUCCEED

17:end if

18:end for

19:if P red is induced then

20:return SUCCEED

21:else

22:return FAIL

23:end if

24:end if

Fig.1.Algorithm for inducing missing predicates involving collaboration among multiple agents.

possibly rely on?rst,and uses them as background knowledge to induce more background knowledge recursively.

In a team consisting of many agents,the proposed in-teraction strategy can potentially involve as many agents as necessary to learn a piece of missing knowledge.To illustrate this,consider a sample scenario as follows:Imagine agent i has the background knowledge de?ned as follows:

range(List,Range):-

min(List,Min),max(List,Max),Range is Max-Min. min(List,Min):-sort(List,L),first(L,Min).

max(List,Max):-sort(List,L),last(L,Max).

last([L],L).

last([N|Ns],L):-last(Ns,L).

first([N|Ns],N).

Further,agent j has the de?nition for permutation and ordered in its background knowledge.Agent k is asked to prove same([2,2,2,2]),if a list contains the same number,and is

given a number of positive and negative examples.As one known de?nition for same is same(L):-range(L,0)and agent i knows the de?nition for range, which in turn relies on j’s de?nition of sort de?ned by permutation and ordered,ideally we expect the agents to ?gure this out through interaction by themselves.This can indeed be achieved using the algorithms described above and has been veri?ed through our implementation.The interactions between agent i,j and k are illustrated in Fig.2.

The interactive model is also resource conservative in a sense that it does not require an unrestricted exchange of knowledge between agents nor does it require agents to obtain full awareness of other agents’knowledge status.Instead,ev-ery agent starts by attempting to induce the missing de?nition

Fig.2.Agent interaction for the sample scenario.

alone and invokes others if it fails.In this way,the global hypothesis is learnt through a collaborative approach and by drawing knowledge together from a team of agents.And at any time only limited information,the examples,need to be communicated between agents.

However,in this illustrative example,the proposed algo-rithm only guarantees the hypothesis be found if an agent has all the necessary background knowledge before an ILP process is run.That is,the algorithm doesn’t handle the case when background knowledge needed to induce a de?nition is distributed over multiple agents.

The proposed formalism and algorithm have been veri?ed by our implementation integrating Prolog with the ILP system Aleph[6].In our implementation,the user just issues a query to any agent in the team and it is entirely up to the agents to work out the missing fragments to answer the query.When asked to prove a goal,the agents would deduce based on its local background knowledge and,if necessary,induce missing knowledge in order to proceed with the theorem proving and may potentially invoke other agents in the team.For details of the implementation and results,refer to[4].

V.E XAMPLE:D ISTRIBUTED P ATH P LANNING

In this section,we use the distributed path planning problem to show empirically the advantages of the approach in reducing communication costs while allowing agents to collaboratively learn through interaction.As in logic programming domain, capital letters are used to denote free variables and small letters bound.The term reachable(a,b)stands for“b is reachable from a”.The term link(a,b)means“there exists a link from a to b”.The link term can also include extra arguments containing information about the link(such as cost) but for illustration we stick to the two-argument form.

We assume each car is equipped with some background knowledge such as the following:

1)link(A,B)→reachable(A,B)

2)reachable(A,B)∧reachable(B,C)→

reachable(A,C)

reachable(a,c),link(c,d),link(d,f),link(f,g)

H n

?link(A,B),reachable(A,B)P P P

···

?reachable(A,B),?reachable(B,C),reachable(A,C)P P

P

reachable(a,c),reachable(c,g)

H 1

?reachable(A,B),?reachable(B,C),reachable(A,C)P P P

reachable(a,g)

E

Fig.3.Inverse resolution:background knowledge used is shown on the left branches and hypotheses generated on the right.

The ?rst background knowledge simply captures the mean-ing that if there exists a link from A to B ,then it’s reachable from A to B .Likewise,the second clause says that if it’s reachable from A to B and it’s reachable from B to C ,then it’s reachable from A to C .A car also records links that it has gone through previously in history in its knowledge base,in the form of link(A,B).In another word,if a car could perform deductive reasoning,it would infer based on the background knowledge and the knowledge it has gained historically,given any query in the form reachable(A,B),whether it is reachable from one location to another.

On the other hand,under an inductive framework,given the same query reachable(A,B),the car can come up with hypotheses H ,together with its background knowledge B ,to explain this query,i.e.H ∧B |=reachable(A,B).Viewed from a slightly different perspective,the inductive technique can be used to uncover a path from one location to another since if a path does exist,the inductive process will at some stage generate a hypothesis containing only link terms,which effectively corresponds to the actual path from A to B .Equipped with an inductive process and some simple back-ground knowledge as the above,our approach allows a car to issue a query in the form reachable(A,B)while seeking a path from A to B .When engaged in answering this query,the cars being consulted attempt to induce,by performing ILP technique such as inverse resolution,a series of hypotheses to explain this query based on their own background knowledge.Fig.3illustrates the process of inverse resolution while generating hypotheses to explain the query reachable(a,g)given a link history link(c,d),link(c,e),link(d,e),link(d,f),link(f,g).The background knowledge used at each step is shown on the left and the hypotheses generated along the way are shown on the right branches.The hypothesis H n =reachable(a,c)∧link(c,d)∧link(d,f)∧link(f,g)in the example is interpreted as:reachable(a,g)(the query)is true so long as reachable(a,c)is true given that link(c,d),link(d,f)and link(f,g)are all known to be true.Surely,a hypothesis generated by a single agent doesn’t always correspond to a path since knowledge of an individual is often incomplete.Just as what happens in the previous example,based on its local knowledge,the car in the example is unable to ?nd out a path from a to g .However,returning a hypothesis such as H n is more helpful than simply failing in a multi-agent environment and we will show shortly how this partial solution can be used during future endeavors to

G EN H YPO (Query )

1:HypList ←{Query },HypHistory ←?2:while HypList =?do 3:Choose hypothesis H from HypList 4:Generate all subsequent hypotheses HypAll based on H 5:if HypAll =?then 6:HypHistory ←{H }∪HypHistory 7:else 8:HypList ←HypAll ∪HypList 9:end if 10:end while

11:return HypHistory

Fig.4.

Algorithm for hypothesis generation.

uncover the full path.

A.Hypothesize Paths by Induction

Discovering the partial solution relies on generating the hypotheses in a controlled fashion.The basic algorithm for doing so is sketched out in Fig.4.The algorithm starts by choosing the ?rst hypothesis H from HypList ,initialized to contain only the Query ,and applying inverse resolution using H and each background knowledge.The resulting hypotheses,if there is any,is then stored back to the HypList .If no further hypothesis is returned by the inverse resolution process,then take H out of the HypList and store it into HypHistory .The algorithm keeps picking up the next hypothesis in the HypList until it becomes empty.In this way,all possible hypotheses that can be generated starting from the Query itself are explored.

Because every hypothesis,which explains the query,can be the one that contains the solution,they all need to be generated.Therefore,the complexity of the algorithm in the worst case involves expanding starting from Query with each of the background knowledge and unifying with every possible known location until all hypotheses become longer than the total of known path.If l denotes the number of known locations,k denotes the number of known links and b denotes the number of background knowledge,then the complexity of the algorithm in the worst case is O ((l ×b )k ).However,because many of the generated hypotheses can be discarded halfway through the search before they become meaningless,the average case complexity is signi?cantly lower.B.Deduction Directed Search

Inductively generating hypotheses in an uninformed way de-scribed above can make search space intractable very quickly.For this reason,the basic algorithm is extended so that it allows

G EN H YPO(Query)

1:HypList←{Query},HypHistory←?

2:while HypList=?do

3:Choose hypothesis H from HypList

4:if?T in H such that D IJKSTRA(T,P ath)is true then

5:Replace T with P ath and store H into HypHistory 6:else

7:Generate all subsequent hypotheses HypAll based on H 8:if HypAll=?then

9:HypHistory←{H}∪HypHistory

10:else

11:HypList←HypAll∪HypList

12:end if

13:end if

14:end while

15:return HypHistory

Fig.5.Extended algorithm for hypothesis generation utilizing deductive shortest path algorithm.

a path searching subroutine,such as Dijkstra’s algorithm,to be employed as a heuristic for identifying promising hypotheses and pruning away search space in a mindful way.The revised algorithm is shown in Fig.5.Unlike in the basic version, shown in Fig.4,Dijkstra is run on each reachable term contained in hypothesis H to uncover a path based on historical link information.For example,if link(c,d),link(d,f) and link(f,g)are all known,then the path searching subroutine will uncover a path from c to g in hypothesis H= reachable(a,c)∧reachable(c,g)and will change the hypothesis to H=reachable(a,c)∧link(c,d)∧link(d,f)∧link(f,g)without having to go though the inverse resolution a large number of times to arrive at the same hypothesis.

By integrating both deductive and inductive processes,our approach allows an agent performing induction to employ deductive subroutines that can be used at its discretion.For ex-ample,an agent may have a subroutine for?nding the shortest path while also having a subroutine?nding any particular path. This aspect of the research has its own signi?cance because deductive inference and inductive inference often take two independent paths.Our approach has shown that they can be combined tightly together as an effective way of acquiring new knowledge while performing reasoning.It also sheds a light on programming inductive agents at a higher level of abstraction in which what algorithm an agent actually runs doesn’t have to be hard coded.Instead,a number of different deductive subroutines may be employed and these deductive

subroutines

can

be

utilized by agents when required.Based

on what an agent is committed to do at a particular moment, it selects the suitable subroutine to execute as part of problem solving while executing the same induction process.

C.Path Planning Involving Multiple Agents

Take the example in Fig.6and assume car A is interested in going from a to l.Posted as a collaborative ILP problem as de?ned in section II,the path planning problem becomes:“collaboratively?nd a hypothesis H such that the example E=reachable(a,l)is explainable using the total background knowledge B of all agents”.It can be observed Fig.6.Example showing path information being distributed among four agents.One path from a to l is a-d-g-j-l.

from the?gure that one such hypothesis would be H= link(a,d)∧link(d,g)∧link(g,j)∧link(j,l). In a distributed setting,the pursue of this global hypothesis involves the following key elements:1)the global inductive problem must be decomposed into a series of localized in-ductive problems that can be solved by individual agents;

2)an individual agent’s inductive process must enable it to contribute a partial solution to the problem;3)the agents must carefully maintain their knowledge and systematically exchange information such that the partial solutions can be integrated together to form the?nal solution.While step2) has been described thoroughly in the previous sections,here we provide a high level description to what is involved in step1)and3)as the exact details deserve a comprehensive treatment on its own.

Consider the example in Fig.6again.Car A starts with E=reachable(a,l)that it wants to con-struct an H to explain.Assume car A asks car D?rst. Car D will perform the induction and obtain a hypoth-esis,say H=reachable(a,g)∧link(g,j)∧link(j,l).It returns reachable(a,g)back to car A. Car A infers that Car D knows reachable(g,l),i.e. K a(K d(reachable(g,l)))(by performing reasoning on the de?nition of reachable).Therefore,it knows that as long as someone knows(or can explain)reachable(a,g), the path can be found,i.e.K a(?iK i(reachable(a,g))→K a(reachable(a,l))).At this stage,the overall problem has changed.Car A is now interested in constructing an H to explain E=reachable(a,g).Later on,by collaboration with car B,they would be able to induce the path from a to g.Since car A remembers car D knows reachable(g,l), the full path from a to l would thus be found eventually. Here,communication saving comes from three aspects:1) communication of link information doesn’t happen until a path has been fully worked out by keeping track of who knows what as epistemic information;2)if car D knows a thousand nodes,only the ones that lead to node l will ever be transferred across;3)instead of returning all generated hypotheses back to the initiator,a scoring method can be adopted to discriminate the hypotheses further.For example, we have used a variation of the‘minimum description length’

(MDL)metrics to favor shorter hypotheses but using more link terms in our implementation.However,it is noticed that regardless of what scoring method is being used,just returning the hypothesis with the highest score to the query initiator often makes the entire approach incomplete.This is due to the fact that each agent can make no assumption about other agents’knowledge status while evaluating a hypothesis and the scores assigned only re?ect its own knowledge of the world.Therefore,it can often be the case that a suboptimal hypothesis to one agent may well be what the other party is actually looking for.Generally speaking,the best one can do is to increase the likelihood of returning a better hypothesis in earlier attempts by having the agents progressively returning starting from the hypothesis with the highest score,one at a time,until either all hypotheses are returned or the other party is satis?ed.

D.Results

Experiments were performed to gather empirical data about communication costs during interaction using our inductive approach.The experiments were performed on a10×6grid en-vironment containing61known links and50known locations. Since our approach allows just two agents to communicate at any particular time,in the experiment,we choose to investigate communication cost by just focusing on pair-wise interaction between agents.In the experiment,Dijkstra’s shortest path algorithm has been used as the deductive algorithm and for simplicity we have assigned the same unit cost to every link. Agent A is chosen to be the initiator of queries.Data are gathered about the amount of information communicated using our inductive approach and are compared with a cen-tralized approach of combining distributed path information before executing a path?nding algorithm.Table I shows this comparison,where the knowledge distribution between the two agents is varied.The communication involved using the centralized approach(third column)is compared with the average communication using the inductive approach with no scoring of hypothesis(forth column),i.e.agents return generated hypothesis in arbitrary order.The last column shows the communication cost of the inductive approach using the MDL scoring method previously mentioned and progressively returning starting from the best hypothesis.

As expected,in general the communication cost is higher when knowledge is evenly distributed,which indicates more knowledge need to be shared in order to arrive at the solution. However,as can be seen from the table,using the inductive approach(with or without scoring)almost always outperforms an approach where sharing complete knowledge is involved in terms of communication cost,except for in special cases (the last two rows)where the agent to be consulted has very little knowledge,in which case it is actually cheaper to simply ask the agent to transfer across all its knowledge.The use of scoring cuts off communication cost further in most cases. The top half of the table represents the cases where the initiator(Agent A)has more knowledge and the bottom half the opposite.These two different cases have been plotted

TABLE I

C OMMUNICATE

D MESSAGES FOR CENTRALIZED,ILP AND ILP+S CORING IN A10×6GRID AMONG PAIRS OF CARS WITH NON-OVERLAPPING LOCAL KNOWLEDGE.D ISTRIBUTION OF KNOWLEDG

E IS SHOWN ON LEFT(AS

NUMBER OF TERMS KNOWN).

Cost of Communication A’s

knowl-

edge

B’s

knowl-

edge

Entropy sharing

knowledge

(Central-

ized)

no scoring

(ILP)

scoring

(ILP)

4570.35171212

8530.56211716

13480.75261815

17440.85301819

21400.93341916

25360.98382222

2833 1.001352217

1

38230.96252716

42190.90212711

47140.7816288

51100.6412238

5470.5192414

5740.35636

separately in Fig.7,in which we have used entropy as

the measure of knowledge distribution.We calculate entropy n

i=1

?|K i|

|K T|

ln|K i|

|K T|

based on the number of terms that each agent knows,denoted|K i|,normalized by the total knowledge |K T|.The dotted line corresponds to the third column in the table,the dashed line fourth and the solid line?fth.Note that the communication cost is not symmetrical with respect to entropy in these two different cases.This is mainly because if the initiator has the majority of the knowledge,the centralized approach performs well since it requires all knowledge to be transferred to the initiator such that the communication of hypotheses back to the initiator is not necessary any more. Nevertheless,as shown in the graphs,our implementation using induction with scoring(the solid line)not only always has the lowest communication cost but also has the lowest rate of increase as knowledge becomes more evenly distributed. The epistemic reasoning possibilities of this work also promise to extend the basic techniques presented above to make it more cost effective.As previously commented,better scoring techniques than we have used here are possible, facilitating the exchange of additional epistemic information which would lead to additional savings in communication.For example,agents may bene?t from gathering and considering hypotheses from more than one agent before pursuing further; they may discriminate information from one source against another;they may even know based on some prior knowledge whom to avoid asking some particular queries.In Fig.6, for example,if car A can somehow foresee that car C is totally ignorant of the region car A is exploring,or car D is more likely to know the answer car A is seeking, further communication saving will be possible.In general,we believe performing reasoning at epistemic level will play a key role in tackling these problems[8].Nevertheless,our model

1The numbers have been rounded.

https://www.wendangku.net/doc/b112664464.html,munication versus knowledge distribution for centralized(dotted line),ILP(dashed line)and ILP+Scoring(solid line). accommodates the treatment of reasoning at epistemic level using the K operator and the knowledge base.

VI.R ELATED W ORK

Exploratory work by Davies[9]has also investigated learn-ing new concepts among multiple agents using decision tree techniques.However,our work develops multi-agent induction based on a more formal treatment and integration of knowl-edge[10].This includes integrating capabilities and utilizing induction[11]towards the aims of true multi-agent learning, as identi?ed by[2],using inductive logic programming(ILP). Our work shares some similarities with abductive logic programming(ALP)[12]given that it integrates deduction and induction to constrain explanations.Consequently,the kind of induction we tackle can also be viewed as abduction,or explanatory induction as de?ned in[13],as opposed to the (harder to compute)descriptive induction.

Since ILP,in the limit,can be intractable unless the search is effectively constrained,traditional implementations of ILP frequently rely on the incorporation of domain knowledge to constrain the search:based on contextual information,in the spirit of[6].

In relation to the hypothesis scoring technique used in this paper,since it chooses the minimum size hypothesis it is essentially a minimum description length(MDL)approach, also known as minimum message length(MML)in some literature.It is well known that the MDL heuristic,in general, does not necessarily guarantee solutions due to the limitation of independence of evidence assumption inherent in minimum hypothesis formulation(for details,see[14]).However,the key to our approach does not rely speci?cally on MDL and can utilize any(possibly even complete)technique for scoring hypothesis,given the speci?c constraints of individual applications.

VII.C ONCLUSION

In this paper,we have demonstrated a solution to inductive logic programming problem in multi-agent environments and its application in collaborative problem solving.We have illus-trated the approach using two examples.Experimental results indicate that our inductive approach not only has the potential to overcome the problem of knowledge being distributed, but also reduces communication costs while allowing agents to combine localized knowledge for collaboratively deriving solutions.

We have also demonstrated how deductive algorithms,such as the Dijkstra path?nding algorithm,can be embedded as(deductive)heuristics within the process of induction,to achieve an informed way of performing induction.In spite of this,our approach des not rule out any general-purpose ILP so-lution.Our approach moves towards integrating deductive and inductive processes and promises improved problem solving characteristics in collaborative settings.

R EFERENCES

[1]P.Stone and M.Veloso,“Multiagent systems:A survey from a machine

learning perspective,”Autonomous Robots,vol.8,no.3,pp.345–383, 2000.

[2] D.Kazakov and D.Kudenko,“Machine learning and inductive logic

programming for multi-agent systems,”in Multi-Agent Systems and Applications,M.Luck,V.Marik,and O.Stepankova,Eds.Springer, 2001,vol.2086,pp.246–270.

[3]G.Wei?and P.Dillenbourg,“What is’multi’in multiagent learning?”

in Collaborative learning.Cognitive and computational approaches, P.Dillenbourg,Ed.Pergamon Press,1999,pp.64–80.

[4]J.Huang and A.R.Pearce,“Distributed interactive learning in multi-

agent systems,”in Proceedings of the Twenty-First National Conference on Arti?cial Intelligence.AAAI Press,2006,pp.666–671.

[5]S.Muggleton and L.D.Raedt,“Inductive logic programming:Theory

and methods,”Journal of Logic Programming,vol.19/20,pp.629–679, 1994.

[6] A.Srinivasan,“Extracting context-sensitive models in inductive logic

programming,”Machine Learning,vol.44,no.3,pp.301–324,2001.

[7] B.van Linder,W.van der Hoek,and J.-J.C.Meyer,“Formalising

abilities and opportunities of agents,”Fundamenta Informaticae,vol.34, no.1-2,pp.53–101,1998.

[8]W.van der Hoek,“Logical foundations of agent-based computing,”in

Mutli-agents Systems and Applications.Springer-Verlag New York, Inc.,2001,pp.50–73.

[9]W.Davies,“ANIMALS A distributed heterogeneous multi-agent ma-

chine learning system,”Ph.D.dissertation,University of Aberdeen, 1993.

[10]R.Fagin,Y.Moses,J.Y.Halpern,and M.Y.Vardi,“Knowledge-based

programs,”Distributed Computing,vol.10,no.4,pp.199–225,1997.

[11]S.Muggleton,“Inverse entailment and progol,”New Generation Com-

puting,Special issue on Inductive Logic Programming,vol.13,pp.245–286,1995.

[12]M.Denecker and A.C.Kakas,“Abduction in logic programming,”

in Computational Logic:Logic Programming and Beyond,Essays in Honour of Robert A.Kowalski,Part I.London,UK:Springer-Verlag, 2002,pp.402–436.

[13]https://www.wendangku.net/doc/b112664464.html,chiche,“Abduction and induction from a non-monotonic reasoning

perspective,”in Abduction and Induction,ser.Applied Logic Series,P.A.

Flach and A.C.Kakas,Eds.Kluwer Academic Publishers,2000,pp.

107–116.

[14]M.Li and P.M. B.Vitanyi,“Inductive reasoning and kolmogorov

complexity,”in Structure in Complexity Theory Conference,1989,pp.

165–185.

Multisim地常用元件库

Multisim12 常用元件库分类 图1 做到熟悉常用元件的放置即可;对于不同功能的元器件的使用不做详细讲解。 1.点击“放置源”按钮,弹出对话框中的“系列”栏如图2所示。 图2 (1). 选中“电源(POWER_SOURCES)”,其“元件”栏下内容如图3所示: 图3 (2). 选中“信号电压源(SIGNAL_VOLTAGE_SOURCES)”,其“元件”栏下内容如图4所示: 图4 (3). 选中“信号电流源(SIGNAL_CURRENT_SOURCES)”,其“元件”栏下内容如图5所示:

图5 (4). 选中“控制函数块(CONTROL_FUNCTION_BLOCKS)”,其“元件”栏下内容如图6所示: 图6 (5). 选中“电压控源(CONTROLLED_VOLTAGE_SOURCES)”,其“元件”栏下内容如图7所示: 图7 (6). 选中“电流控源(CONTROLLED_CURRENT_SOURCES)”,其“元件”栏下内容如图8所示: 图8 2. 点击“放置模拟元件”按钮,弹出对话框中“系列”栏如图9 所示。

图9 (1). 选中“模拟虚拟元件(ANALOG_VIRTUAL)”,其“元件”栏中仅有虚拟比较器、三端虚拟运放和五端虚拟运放3个品种可供调用。 (2). 选中“运算放大器(OPAMP)”。其“元件”栏中包括了国外许多公司提供的多达4243种各种规格运放可供调用。 (3). 选中“诺顿运算放大器(OPAMP_NORTON)”,其“元件”栏中有16种规格诺顿运放可供调用。 (4). 选中“比较器(COMPARATOR)”,其“元件”栏中有341种规格比较器可供调用。 (5). 选中“宽带运放(WIDEBAND_AMPS)”其“元件”栏中有144种规格宽带运放可供调用,宽带运放典型值达100MHz,主要用于视频放大电路。 (6). 选中“特殊功能运放(SPECIAL_FUNCTION)”,其“元件”栏中有165种规格特殊功能运放可供调用,主要包括测试运放、视频运放、乘法器/除法器、前置放大器和有源滤波器等。 3.点击“放置基础元件”按钮,弹出对话框中“系列”栏如图10所示。 图10

protel导入元件库方法

方案一: 1.进入C\WINDOWS下找到ADV PCB99SE.INI和ADV SCH99SE.INI两个文件; 2.用写字板打开ADVSCH99SE.INI文件,在[Change Library File List]下找到File0,大家可以发现,等号后面的的内容就是默认已经添加的库,如果要添加多个怎么办呢?简单,在File0后面添File1,File2..依次类推,但注意最后修改File0上面的Count属性,如果你添了两个,就把它的值改为2。 我用的是windows7系统,我如下改可行:配置SCH库 TypeCount=2 Count=5 File0=C:\Program Files\Design Explorer 99 SE\Library\Sch\Miscellaneous Devices.ddb File1=C:\Program Files\Design Explorer 99 SE\Library\Sch\Protel DOS Schematic Libraries.ddb File2=C:\Program Files\Design Explorer 99 SE\Library\Sch\Intel Databooks.ddb File3=C:\Program Files\Design Explorer 99 SE\Examples\Backup of AT89C2051.Lib File4=C:\Program Files\Design Explorer 99 SE\Examples\Backup of SHUMAGUAN.Lib 其中File3和File4是我自己画的两个元件。 3.同样对ADVPCB99SE.INI更改以配置PCB库。 同样是windows7系统改后可行。我做了如下更改可行: TypeCount=2 Count=5 File0=D>MSACCESS:$RP>C:\Program Files\Design Explorer 99 SE\Library\Pcb\Generic Footprints$RN>Advpcb.ddb$OP>$ON>PCB Footprints.lib$ID>-1$ATTR>0$E>PCBLIB$STF> File1=D>MSACCESS:$RP>C:\Program Files\Design Explorer 99 SE\Library\Pcb\Generic Footprints$RN>Miscellaneous.ddb$OP>$ON>Miscellaneous.lib$ID>-1$ATTR>0$E>PCBLIB$S TF> File2=D>MSACCESS:$RP>C:\Program Files\Design Explorer 99 SE\Library\Pcb\Generic Footprints$RN>General IC.ddb$OP>$ON>General IC.lib$ID>-1$ATTR>0$E>PCBLIB$STF> File3=D>MSACCESS:$RP>C:\Program Files\Design Explorer 99 SE\Library\Pcb\Generic Footprints$RN>InternationalRectifiers.ddb$OP>$ON>InternationalRectifiers.lib$ID>-1$A TTR>0 $E>PCBLIB$STF> File4=D>MSACCESS:$RP>C:\Program Files\Design Explorer 99 SE\Library\Pcb\Generic Footprints$RN>Transistors.ddb$OP>$ON>Transistors.lib$ID>-1$ATTR>0$E>PCBLIB 4.修改后,再打开PROTEL 99SE,OK。(注意每次修改时必须保证protel99se程序是关闭着的,不然你就白改了,因为protel在退出时会修改这两人文件。)

multisim 元件库 对照表

Multisim 元件库分类介绍 电子仿真软件“Mumsim8.3.30特殊版”的元件库中把元件分门别类地分成13个类别,每个类别中又有许多种具体的元器件,为便于读者在创建仿真电路时寻找元器件,现将电子仿真软件“Mumsim8.3.30特殊版”元件库和元器件的中文译意整理如下,供读者参考。 电子仿真软件Mumsim8.3.30特殊版的元件工具条如图1 所示。 图1 1.点击“放置信号源”按钮,弹出对话框中的“系列”栏如图2 所示。 图2 (1). 选中“电源(POWER_SOURCES)”,其“元件”栏下内容如图3所示: (2). 选中“信号电压源如图4所示: 图4 (3).选中“信号电流源(SIGNAL_CURRENT_SOURCES)”,其“元件”栏下内容如图5 所示: 图5 (4)选中“控制函数块 (CONTROL_FUNCTION_BLOCKS)”,其“元件”栏下内容如图6 所示: 图6 (5). 选中“电压控源 (CONTROLLED_VOLTAGE_SOURCES)”,其“元件”栏下内容如图7所示:

图 7 (6). 选中“电流控源 (CONTROLLED_CURRENT_SOURCES)”,其“元件”栏下内容如图8 所示: 图8 2. 点击“放置模拟元件”按钮,弹出对话框中“系列”栏如图9 所示。 图 9 (1). 选中“模拟虚拟元件(ANALOG_VIRTUAL)”,其“元件”栏中仅有虚拟比较器、三端虚拟运放和五端虚拟运放3个品种可供调用。 (2). 选中“运算放大器(OPAMP)”。其“元件”栏中包括了国外许多公司提供的多达4243种各种规格运放可供调用。 (3). 选中“诺顿运算放大器(OPAMP_NORTON)”,其“元件”栏中有16种规格诺顿运放可供调用。 (4). 选中“比较器(COMPARATOR)”,其“元件”栏中有341种规格比较器可供调用。 (5). 选中“宽带运放(WIDEBAND_AMPS)”其“元件”栏中有144种规格宽带运放可供调用,宽带运放典型值达100MHz,主要用于视频放大电路。 (6). 选中“特殊功能运放(SPECIAL_FUNCTION)”,其“元件”栏中有165种规格特殊功能运放可供调用,主要包括测试运放、视频运放、乘法器/除法器、前置放大器和有源滤波器等。 3.点击“放置基础元件”按钮,弹出对话框中“系列”栏如图10所示。 图10 (1). 选中“基本虚拟元件库(BASIC_VIRTUAL)”,其“元件”栏中如图 11

Multisim 安装元件库

Multisim14使用multisim12元件库的方法 如题,步骤如下: 1、下载multisim12,multisim14,multisim12库文件。 2、安装multisim14,安装multisim12,安装方法及安装包自己百度 3、打开multisim12,导入multisim12库文件。工具----数据库----数据库管理器 ---导入-----选择下载好的数据库,按照提示操作。 4、导入成功后,打开数据库管理器(打开顺序:工具----数据库---数据库管理器), 点击右下角的关于,查找已导入数据库的存放位置。如导入到用户数据,则复制用户数据库地址,如下图,我的存放地址为:C:\Users\Administrator\AppData\Roaming\National Instruments\Circuit Design Suite\12.0\database

5、打开数据库存放位置,可看到当前数据库,usr文件为数据库文件。 6、关闭multisim12,运行multisim14,执行工具----数据库----转换数据库---选择 v12→v14-----选择源数据库名称

7、打开到multisim12中usr库文件存放位置,即第四步所示地址,右下角选择 所有文件,这是可看到第三步导入的库文件存放文件,选择该文件,点击打开,点击开始,选择自动重命名或覆盖、忽略,点击确定。 8、等待导入结束后,即可使用。 该方法可用于其他版本数据库导入,如multisim10数据库导入multisim12或14等。 另外,也可以下载别人转换好的数据库文件,但是是否可行,有待验证。

(整理)multisim元器件库参考资料.

Multisim 2001的器件库 Multisim 2001含有4个种类的器件库,执行View\Component Bars命令即可显示如图2-1所示的下拉菜单。 图2-1 View\Component Bars命令的下拉菜单 图2-1中的Multisim Database也称为Multisim Master,用来存放软件自带的元件模型。随着版本的不同,该数据库中包含的仿真元件的数量也不一样。 Corporate Database 仅专业版有效,为用于多人协同开发项目时建立的共用器件库。 User Database 用来存放用户使用Multisim编辑器自行创建的元器件模型。 EDAParts Bar 为用户提供通过因特网进入https://www.wendangku.net/doc/b112664464.html,网站,下载有关元器件的信息和资料。 Multisim 2001的Multisim Database中含有14个器件库(即Component Toolbar),每个器件库中又含有数量不等的元件箱(又称之为Farmily),共有6000多个元器件,各种元器件分门别类地放在这些器件箱中供用户调用。User Database在开始使用时是空的,只有在用户创建或修改了元件并存放于该库后才能有元件供调用。 本章将分别对Multisim Database中的14个器件库中的元器件加以介绍。 第一节电源库 一、电源库组成 电源库(Sources)如图2-2所示,其中共有30个电源器件,有为电路提供电能的电源,也有作为输入信号的信号源及产生电信号转变的控制电源,还有两个接地端。电源库中的器件全部为虚拟器件。

图2-2 电源库 二、电源库中的器件箱 1.接地端(Ground) 在电路中,“地”是一个公共参考点,电路中所有的电压都是相对于该点而言的电势差。在Multisim电路图上可以同时调用多个接地端,它们的电位都是OV。 2.数字接地端(Digital Ground) 在实际数字电路中,许多数字器件需要接上直流电源才能正常工作,而在原理图中并不直接表示出来。为更接近于现实,Multisim在进行数字电路的“Real”仿真时,电路中的数字元件要接上示意性的电源,数字接地端是该电源的参考点。 3.Vcc电压源(Vcc Voltage Source) 直流电压源的简化符号,常用于为数字元件提供电能或逻辑高电平。 4. V DD电压源(V DD Voltage Source) 与Vcc基本相同。当为CMOS器件提供直流电源进行“Real”仿真时,只能用V DD。 5.直流电压源(DC Voltage Source(Battery)) 这是一个理想直流电压源,使用时允许短路,但电压值将降为0。 6.直流电流源(DC Current Source) 这是一个理想直流电流源,使用时允许开路,但电流值将降为0。 7.交流电压源(AC Voltage Source) 这是一个正弦交流电压源,电压显示的数值是其有效值(均方根值)。 8.正弦交流电流源(AC Current Source) 这是一个正弦交流电流源,电流显示的数值是其有效值(均方根值)。

protel99se元件、封装库

1.电阻 固定电阻:RES 半导体电阻:RESSEMT 电位计;POT 变电阻;RV AR 可调电阻;res1 2.电容 定值无极性电容;CAP 定值有极性电容;CAP 半导体电容:CAPSEMI 可调电容:CAPV AR 3.电感:INDUCTOR 4.二极管:DIODE.LIB 发光二极管:LED 5.三极管:NPN1 6.结型场效应管:JFET.lib 7.MOS场效应管 8.MES场效应管 9.继电器:PELAY. LIB 10.灯泡:LAMP 11.运放:OPAMP 12.数码管:DPY_7-SEG_DP (MISCELLANEOUS DEVICES.LIB) 13.开关;sw_pb 原理图常用库文件: Miscellaneous Devices.ddb Dallas Microprocessor.ddb Intel Databooks.ddb Protel DOS Schematic Libraries.ddb PCB元件常用库: Advpcb.ddb General IC.ddb Miscellaneous.ddb 部分分立元件库元件名称及中英对照 AND 与门 ANTENNA 天线 BATTERY 直流电源 BELL 铃,钟 BVC 同轴电缆接插件 BRIDEG 1 整流桥(二极管) BRIDEG 2 整流桥(集成块) BUFFER 缓冲器 BUZZER 蜂鸣器 CAP 电容 CAPACITOR 电容

CAPACITOR POL 有极性电容CAPV AR 可调电容 CIRCUIT BREAKER 熔断丝 COAX 同轴电缆 CON 插口 CRYSTAL 晶体整荡器 DB 并行插口 DIODE 二极管 DIODE SCHOTTKY 稳压二极管DIODE V ARACTOR 变容二极管DPY_3-SEG 3段LED DPY_7-SEG 7段LED DPY_7-SEG_DP 7段LED(带小数点) ELECTRO 电解电容 FUSE 熔断器 INDUCTOR 电感 INDUCTOR IRON 带铁芯电感INDUCTOR3 可调电感 JFET N N沟道场效应管 JFET P P沟道场效应管 LAMP 灯泡 LAMP NEDN 起辉器 LED 发光二极管 METER 仪表 MICROPHONE 麦克风 MOSFET MOS管 MOTOR AC 交流电机 MOTOR SERVO 伺服电机 NAND 与非门 NOR 或非门 NOT 非门 NPN NPN三极管 NPN-PHOTO 感光三极管 OPAMP 运放 OR 或门 PHOTO 感光二极管 PNP 三极管 NPN DAR NPN三极管 PNP DAR PNP三极管 POT 滑线变阻器 PELAY-DPDT 双刀双掷继电器 RES1.2 电阻 RES3.4 可变电阻 RESISTOR BRIDGE ? 桥式电阻

multisim经典元件库介绍

网上找的,比较齐全,归纳较好,分享之~ Multisim元件库介绍 1.Source库:包括电源、信号电压源、信号电流源、可控电压源、可控电流源、函数控制器件6个类。 2.BASIC库:包含基础元件,如电阻、电容、电感、二极管、三极管、开关等; 3.Diodes:二极管库,包含普通二极管、齐纳二极管、二极管桥、变容二极管、PIN二极管、发光二极管等。 4.Transisitor库:三极管库,包含NPN、PNP、达林顿管、IGBT、MOS管、场效应管、可控硅等; 5.Analog库:模拟器件库,包括运放、滤波器、比较器、模拟开关等模拟器件 6.TTL库:包含TTL型数字电路如7400 7404等门BJT电路。 https://www.wendangku.net/doc/b112664464.html,S库:COMS型数字电路如74HC00 74HC04等MOS管电路。 8.MCU Model:MCU模型,Multisim的单片机模型比较少,只有8051 PIC16的少数模型和一些ROM RAM等 9.Advance Periphearls库:外围器件库,包含键盘、LCD、和一个显示终端的模型。 10.MIXC Digital:混合数字电路库,包含DSP、CPLD、FPGA、PLD、单片机-微控制器、存储器件、一些接口电路等数字器件。 11.Mixed:混合库,包含定时器、AC/DA转换芯片、模拟开关、震荡器等; 12.Indicators:指示器库,包含电压表、电流表、探针、蜂鸣器、灯、数码管等等显示器件。 13.Power:电源库,包含保险丝、稳压器、电压抑制、隔离电源等 14.Misc:混合库,包含晶振、电子管、滤波器、MOS驱动、和其他一些器件等 15.RF:RF库,包含一些RF器件,如高频电容电感、高频三极管等 16.Elector Mechinical:电子机械器件库,包含传感开关、机械开关、继电器、电机等。

protel99se元件库中英文对照

分立元件库中英文对照/仿真元件库--protel99se 元件名系表: 原理图常用库文件Miscellaneous Devices.ddb Dallas Microprocessor.ddb Intel Databooks.ddb Protel DOS SchematicLibraries.ddb :PCB元件常用库Advpcb.ddb General IC.ddb Miscellaneous.ddb 分立元件库分立元件库元件名称及中英对照部分 AND 与门ANTENNA 天线 BATTERY 直流电源钟BELL 铃, 同轴电缆接插件BVC ) 二极管整流桥(BRIDEG 1 ) (整流桥集成块BRIDEG 2 BUFFER 缓冲器 BUZZER 蜂鸣器电容CAP 电容CAPACITOR 有极性电容CAPACITOR POL CAPvar 可调电容熔断丝CIRCUIT BREAKER COAX 同轴电缆插口CON 1 晶体整荡器CRYSTAL 并行插口DB 二极管DIODE 稳压二极管DIODE SCHOTTKY 变容二极管DIODE varACTOR LED 段DPY_3-SEG 3LED 段DPY_7-SEG 7) 带小数点段LED(DPY_7-SEG_DP 7 电解电容ELECTRO FUSE 熔断器 INDUCTOR 电感 INDUCTOR IRON 带铁芯电感 INDUCTOR3 可调电感 JFET N N沟道场效应管沟道场效应管JFET P P 灯泡LAMP 起辉器LAMP NEDN 发光二极管LED 仪表METER MICROPHONE 麦克风 MOSFET MOS管 MOTOR AC 交流电机伺服电机MOTOR SERVO 与非门NAND 或非门NOR NOT 非门三极管NPN NPN NPN-PHOTO 感光三极管运放OPAMP 2 或门OR

Multisim10常用元件库分类

二、Multisim10常用元件库分类 图1 1.点击“放置信号源”按钮,弹出对话框中的“系列”栏如图2所示。 图2 (1). 选中“电源(POWER_SOURCES)”,其“元件”栏下内容如图3所示: 图3 (2). 选中“信号电压源(SIGNAL_VOLTAGE_SOURCES)”,其“元件”栏下内容如图4所示:

图4 (3). 选中“信号电流源(SIGNAL_CURRENT_SOURCES)”,其“元件”栏下内容如图5所示: 图5 (4). 选中“控制函数块(CONTROL_FUNCTION_BLOCKS)”,其“元件”栏下内容如图6所示: 图6 (5). 选中“电压控源(CONTROLLED_VOLTAGE_SOURCES)”,其“元件”栏下内容如图7所示:

图7 (6). 选中“电流控源(CONTROLLED_CURRENT_SOURCES)”,其“元件”栏下内容如图8所示: 图8 2. 点击“放置模拟元件”按钮,弹出对话框中“系列”栏如图9 所示。 图9 (1). 选中“模拟虚拟元件(ANALOG_VIRTUAL)”,其“元件”栏中仅有虚拟比较器、三端虚拟运放和五端虚拟运放3个品种可供调用。 (2). 选中“运算放大器(OPAMP)”。其“元件”栏中包括了国外许多公司提供的多达4243种各种规格运放可供调用。 (3). 选中“诺顿运算放大器(OPAMP_NORTON)”,其“元件”栏中有16种规格诺顿运放可供调用。 (4). 选中“比较器(COMPARATOR)”,其“元件”栏中有341种规格比较器可供调用。 (5). 选中“宽带运放(WIDEBAND_AMPS)”其“元件”栏中有144种规格宽带运放可供调用,宽带运放典型值达100MHz,主要用于视频放大电路。 (6). 选中“特殊功能运放(SPECIAL_FUNCTION)”,其“元件”栏中有165种规格特殊功能运放可供调用,主要包括测试运放、视频运放、乘法器/除法器、前置放大器和有源滤波器等。 3.点击“放置基础元件”按钮,弹出对话框中“系列”栏如图10所示。

Protel99se 无法添加元件库的解决方法

Protel99se在vista和windows7下sch库和pcb库均不能加载,很郁闷。 这是个比较普遍的问题,高手给出解决方案如下: ((注意每次修改时必须保证protel99se程序是关闭着的,不然就白改了,因为protel在退 出时会自动修改这两人文件。)) 方案一: 1.进入C\WINDOWS下找到ADVPCB99SE.INI和ADVSCH99SE.INI两个文件; 2.用写字板打开ADVSCH99SE.INI 文件,在[Change Library File List] 下找到File0,大家可以发现,等号后面的的内容就是默认已经添加的库,如果要添加多个怎么办呢?简单,在File0后 面添File1,File2..依次类推,但注意最后修改File0上面的Count属性,如果你添了一个,就把它的 值改为2;添了两个,就改为3;以此类推。。。 我用的是windows7系统,更改如下可行: TypeCount=2 Count=5 File0=D:\Design Explorer 99 SE\Library\Sch\Miscellaneous Devices.ddb File1=D:\Design Explorer 99 SE\Library\Sch\Sim.ddb File2=D:\Design Explorer 99 SE\Library\Sch\SGS Analog.ddb File3=D:\Design Explorer 99 SE\Library\Sch\Spice.ddb File4=D:\Design Explorer 99 SE\Library\Sch\Analog Devices.ddb 其中,File4是我添加的。 3.同样对ADVPCB99SE.INI 更改以配置PCB库。 在[PCB Libraries] 下找到File0,更改方法跟上面的一样。我更改如下: TypeCount=2 Count=5 File0=D>MSACCESS:$RP>D:\DesignExplorer99 SE\Library\Pcb\Generic Footprints$RN>Advpcb.ddb$OP>$ON>PCB Footprints.lib$ID>-1$ATTR>0$E>PCBLIB$STF> File1=D>MSACCESS:$RP>D:\Design Explorer 99 SE\Library\Pcb\Generic Footprints$RN>Miscellaneous.ddb$OP>$ON>Miscellaneous.lib$ID>-1$ATTR>0$E>PCBLIB$STF> File2=D>MSACCESS:$RP>D:\Design Explorer 99 SE\Library\Pcb\Generic Footprints$RN>General IC.ddb$OP>$ON>General IC.lib$ID>-1$ATTR>0$E>PCBLIB$STF> File3=D>MSACCESS:$RP>D:\Design Explorer 99 SE\Library\Pcb\Generic Footprints$RN>1394 Serial Bus.ddb$OP>$ON>1394 Serial Bus.lib$ID>-1$ATTR>0$E>PCBLIB$STF> File4=D>MSACCESS:$RP>D:\Design Explorer 99 SE\Library\Pcb\Generic Footprints$RN>International Rectifiers.ddb$OP>$ON>InternationalRectifiers.lib$ID>-1$ATTR>0$E >PCBLIB$STF> (注:PCB Footprints.lib包含在Advpcb.ddb文件中;Miscellaneous.lib包含在Miscellaneous.ddb 文件中;其他类推。)修改后,再打开PROTEL 99SE,OK。

WIN7系统下Protel99se添加元件库和封装库

protel99se添加SCH元件库 〈1〉用文本文档打开(c:\windows)下的AdvSCH99SE.INI文件 将默认的File0=C:\Program Files\Design Explorer 99 SE\Library\Sch\Miscellaneous Devices.ddb 改为File0=C:\Program Files\Design Explorer 99 SE\Library\Sch\我的常用原理图IC元件 库.ddb,(路径自己定)再打开99,这个常用的IC原理图库就出来了 <2> 加更多的原理图 注意:第一步,一定要照上面改默认的原理图元件库成功后,再如下图添加更多的 File1,File2…… File0=C:\Program Files\Design Explorer 99 SE\Library\Sch\我的常用原理图IC元件库.ddb File1=C:\Program Files\Design Explorer 99 SE\Library\Sch\原理图端子元件库.ddb File2=C:\Program Files\Design Explorer 99 SE\Library\Sch\电阻元件库.ddb …… 第二步, 修改AdvSCH99SE文本中File0=(……)上面的Count属性,如下面有三个File,就把它的值改为3,Count=3;这样就添加成功了 (修改AdvSCH99SE文本时一定要先关闭Protel99SE软件) protel99se添加PCB原件封装 〈1〉找到C:\Program Files\Design Explorer 99 SE\Library\Pcb\Generic Footprints中的Advpcb.ddb 打开Advpcb.ddb,点文件,导入,将自己常用的封装库导入进去,如IC封装库.lib ,电

Multisim14使用multisim12元件库的方法

M u l t i s i m14使用 m u l t i s i m12元件库的 方法 -CAL-FENGHAI.-(YICAI)-Company One1

Multisim14使用multisim12元件库的方法 如题,步骤如下: 1、下载multisim12,multisim14,multisim12库文件。 2、安装multisim14,安装multisim12,安装方法及安装包自己百度 3、打开multisim12,导入multisim12库文件。工具----数据库----数据库管理 器---导入-----选择下载好的数据库,按照提示操作。 4、导入成功后,打开数据库管理器(打开顺序:工具----数据库---数据库管 理器),点击右下角的关于,查找已导入数据库的存放位置。如导入到用户数据,则复制用户数据库地址,如下图,我的存放地址为:C:\Users\Administrator\AppData\Roaming\National Instruments\Circuit Design Suite\\database

5、打开数据库存放位置,可看到当前数据库, usr文件为数据库文件。 6、关闭multisim12,运行multisim14,执行工具----数据库----转换数据库--- 选择v12→v14-----选择源数据库名称

7、打开到multisim12中usr库文件存放位置,即第四步所示地址,右下角 选择所有文件,这是可看到第三步导入的库文件存放文件,选择该文件,点击打开,点击开始,选择自动重命名或覆盖、忽略,点击确定。 8、等待导入结束后,即可使用。 该方法可用于其他版本数据库导入,如multisim10数据库导入multisim12或14等。 另外,也可以下载别人转换好的数据库文件,但是是否可行,有待验证。

Windows7下protel99se加载PCB库文件时出现错误

Windows7下protel99se加载PCB库文件时出现错误,提示File is not recognized https://www.wendangku.net/doc/b112664464.html,时间:2010-08-17来源:百度空间作者:计算机应用技巧 分享到: 方法一:点击左边find后点击fied now ,在found library里有DDB文件,选中后按add to library list就能添加上 方法二:在protel66SE的开始菜单中的文件夹中有个Xilinx的东西,点一下他,根据提示安装到protel99SE的安装路径下,就行啦,应该可以,我就弄在protel66SE的开始菜单中的文件夹中有个Xilinx 的东西,点一下他,根据提示安装到protel99SE的安装路径下,就行啦,应该可以 方法三:大家都找不到那个所谓的advpcb99se,是因为安装了protel后软件并没生成advpcb99se 这个文件,而是当大家第一次加载任意pcb库时才能自动生成,所以既然加载不了pcb哪能生成这个文件呢? 咱们把重点不放在advpcb99se这个文件,而是要对它自带的默认pcb库做手脚,首先先用protel 打开自己的pcb库然后导出lib文件,再把lib文件导入到protel安装文件的library/pcb/Generic Footprints/Advpcb.ddb里,Advpcb.ddb里就是软件默认的pcb footprints.lib,现在就把pcb footprints.lib随便改个名字,然后把咱们导入进去的自己的库改成“footprints.lib”这样,嘿嘿,打开protel 后默认的就是咱们的库了,这样嘛也只能咱们学生用用,工作用的话还是换xp好点,毕竟所有元件封装都在一个文件里,以后多了会不好找的。 哈哈,这个方法咋样?要是还有更好的,希望各位不吝赐教啊 ,一切都为了让vista用这个老掉牙的protel99se -------netdreamboy 方法四:1.进入C\WINDOWS下找到ADVPCB99SE.INI和ADVSCH99SE.INI两个文件; 2.用记事打开ADVSCH99SE.INI文件,在[Change Library File List]下找到File0,等号后面的的内容就是默认已经添加的库,如果要添加多个怎么办呢?简单,在File0后面添File1,File2..依次类推,但注意最后修改File0上面的Count属性,如果你添了两个,就把它的值改为2。 如下改可行: TypeCount=2 Count=4 File0=d:\Program Files\Design Explorer 99 SE\Library\Sch\Miscellaneous Devices.ddb File1=d:\Program Files\Design Explorer 99 SE\Library\Sch\Protel DOS Schematic Libraries.ddb File2=d:\Program Files\Design Explorer 99 SE\Library\Sch\Intel Databooks.ddb File3=d:\Program Files\Design Explorer 99 SE\Examples\Backup of AT89C2051.Lib 其中File3是自己画的元件。 3.同样对ADVPCB99SE.INI更改以配置PCB库。 同样是windows7系统改后可行。我做了如下更改可行:

win7系统下如何加载protel99se的元件库

方案一: Protel有个默认的sch库(Miscellaneous Devices.ddb)在protel安装时就将 此库添加进去了。 所以,你可以到"...\Design Explorer 99 SE\Library\Sch"里面找到你要添加的 sch库, 即 *.ddb 文件,打开它将其中的 *.lib(你需要的*.lib)文件复制到Miscellaneous Devices.ddb 里。 重新打开Protel 99SE,再次尝试添加sch库(其实没有用,只是象征性地点 一下), 你会发现还是失败了,只好取消。不过,你会发现在下拉列表里多了很多*.lib,恭喜你,添加成功了!! 缺点是,随着你添加的越来越多,列表越来越长,找起来越来越麻烦。 方案二: 1.进入C\WINDOWS下找到ADVPCB99SE.INI和ADVSCH99SE.INI两个文件; 2.用写字板打开ADVSCH99SE.INI文件,在[Change Library File List]下找到 File0,大家可以发现,等号后面的的内容就是默认已经添加的库,如果要添加多 个怎么办呢?简单,在File0后面添File1,File2..依次类推,但注意最后修改File0 上面的Count属性,如果你添了两个,就把它的值改为2。 我用的是windows7系统,我如下改可行: TypeCount=2 Count=5 File0=C:\Program Files\Design Explorer 99 SE\Library\Sch\Miscellaneous Devices.ddb File1=C:\Program Files\Design Explorer 99 SE\Library\Sch\Protel DOS Schematic Libraries.ddb File2=C:\Program Files\Design Explorer 99 SE\Library\Sch\Intel Databooks.ddb File3=C:\Program Files\Design Explorer 99 SE\Examples\Backup of AT89C2051.Lib File4=C:\Program Files\Design Explorer 99 SE\Examples\Backup of SHUMAGUAN.Lib 其中File3和File4是我自己画的两个元件。 3.同样对ADVPCB99SE.INI更改以配置PCB库。 同样是windows7系统改后可行。我做了如下更改可行: TypeCount=2 Count=5

multisim元件对照表

Multisim元件库分类介绍 电子仿真软件“Mumsim8.3.30特殊版”的元件库中把元件分门别类地分成13个类别,每个类别中又有许多种具体的元器件,为便于读者在创建仿真电路时寻找元器件,现将电子仿真软件“Mumsim8.3.30特殊版”元件库和元器件的中文译意整理如下,供读者参考。 电子仿真软件Mumsim8.3.30特殊版的元件工具条如图1所示。 图1 1.点击“放置信号源”按钮,弹出对话框中的“系列”栏如图2所示。 图2 (1). 选中“电源(POWER_SOURCES)”,其“元件”栏下内容如图3所示:

图3 (2). 选中“信号电压源(SIGNAL_VOLTAGE_SOURCES)”,其“元件”栏下内容如图4所示: 图4 (3). 选中“信号电流源(SIGNAL_CURRENT_SOURCES)”,其“元件”栏下内容如图5所示: 图5 (4). 选中“控制函数块(CONTROL_FUNCTION_BLOCKS)”,其“元件”栏下内容如图6所示:

图6 (5). 选中“电压控源(CONTROLLED_VOLTAGE_SOURCES)”,其“元件”栏下内容如图7所示: 图7 (6). 选中“电流控源(CONTROLLED_CURRENT_SOURCES)”,其“元件”栏下内容如图8所示: 图8 2. 点击“放置模拟元件”按钮,弹出对话框中“系列”栏如图9 所示。 图9 (1). 选中“模拟虚拟元件(ANALOG_VIRTUAL)”,其“元件”栏中仅有虚拟比较器、三端虚拟运放和五端虚拟运放3个品种可供调用。

(2). 选中“运算放大器(OPAMP)”。其“元件”栏中包括了国外许多公司提供的多达4243种各种规格运放可供调用。 (3). 选中“诺顿运算放大器(OPAMP_NORTON)”,其“元件”栏中有16种规格诺顿运放可供调用。 (4). 选中“比较器(COMPARATOR)”,其“元件”栏中有341种规格比较器可供调用。 (5). 选中“宽带运放(WIDEBAND_AMPS)”其“元件”栏中有144种规格宽带运放可供调用,宽带运放典型值达100MHz,主要用于视频放大电路。 (6). 选中“特殊功能运放(SPECIAL_FUNCTION)”,其“元件”栏中有165种规格特殊功能运放可供调用,主要包括测试运放、视频运放、乘法器/除法器、前置放大器和有源滤波器等。 3.点击“放置基础元件”按钮,弹出对话框中“系列”栏如图10所示。 图10

关于protel99se元件库在win7上无法添加的解决办法

很多人用Protel99se的时候,在软件打开之后,进入操作界面后,在窗口的左上方有Browse/Sch,点击后会出现Libraries,然后底下是一个空白的窗口,此时,我们如果想在界面上放置元件,就要首先装载入元件库。 然而,现在大部分使用者的电脑都是win7系统,(只有少数年纪比较大的人还在用windows xp 的),点击Add/Remove后,会出现Change library file list,在Sch目录底下有很多后缀为.ddb的文件,选中一个,点击ADD后,系统提示File is not recognized,那么现在应该怎么办呢?本人经过试验之后,找出了如下3种办法,依次由简单到复杂,大家不妨一试。 1、 在软件界面的左下方依次有:Edit Place Find ,点击Find,会出现find schematic component窗口,在此窗口的右下方有Find Now,点击这个按钮后,软件会自动在安装目录下查找已经存在所有的元器件库,稍带几秒后,点击你所需要的元件库后,点击Add to the library list后,点击close关闭窗口即可 2、 把protel99se软件关掉,(此操作必须先执行,否则后面的操作都白做了!!),打开我的电脑/计算机---------》打开本地磁盘C-------------》Windows---------->AdvSch99SE.ini----------->双击打开这个文件,此时你会看到file0……………….、

file1………………..、等,此时我们需要手动将元件库添加进去,将上面的file0……………复制下来,把Sch\后面的删掉,把你需要的元件库名,手动写上去,一个字母都不能错,还要注意英文的大小写区别。此时,我们注意到上面有个Count=**,你数一下有几个File 开头的,那么Count就等于多少。然后,点击文件…………》保存,然后,关掉窗口。重新启动protel99se,进入软件界面后,此时,我们会发现Libraries 底下有很多.lib的文件,那么恭喜你,文件库已经添加成功了。鼠标左键单击元件库,点击Place即可将元件放置在界面上了。 3、 第三种是本人自己钻研出来的。任何添加不进去的元件库都可用此种方法添加进去。首先,找到你安装目录下的后缀名为.ddb的元件库,我们可以现在外面新建一个文件夹 然后用protel99se将其打开,进入后会发现其内部包含了大量的后缀名为.lib的子文件,可以单个选中或将其全部选中后,右击鼠标,选择Export…选项,浏览文件夹选项,找到你安装目录下的Librariy…………>Sch刚刚你新建的文件夹,选中后,点击确定。此时,先关掉protel软件,稍带几秒后,再次打开软件,找到Find ,点击进入后,在窗口中间的位置有一个文件搜索的条件,即File后面的属性框,将里面的*.ddb删掉,留下*.lib,点击Find Now,此时你就可以找到你刚刚新建的文件夹里面被导出的元器件库了,点击Add to the List,此时在Libraries底下的窗口里就会

添加MULTISIM元件库

下载了的朋友如果觉得好用就请顶个贴,以便让更多 有需要的朋友看到。 现在有不少朋友对自己DIY的线路用仿真进行初步的验证,可一般仿真软件自带的元件库里主要是一些欧美型号的管子,我们常用的日系音频专用管几乎没有。本人只会用Multisim,于是用谷歌在老外的网站搜索了一些日系管的Spice模型参数(由于本人非常爱国,不懂英语,所以费了好大的劲),建了几个音频专用管的仿真模型,经试用还行。 8对管分别是: 2SK246/2SJ103 常见的输入级用J-FET管,特点是结电容小; 2SC3423/2SA1360 东芝的音频专用管,主要用于电压放大级; 2SC3601/2SA1407 原本是用于视频放大,但参数非常优异。高频(ft=400MHz)、高压(200V)、电流较大(Ic=140mA)、高功耗(带散热器8W)、结电容小(Cob=2.5pF)。用某些人的话说那是“绝杀”所有的电压放大管。用作预推动也很好; 2SC669/2SA649 推动级用的老牌名管; 2SC5171/2SA1930 性能非常优秀的推动管,东芝的; 2SC5200/2SA1943 输出级用的东芝名管,你懂的; 2SC2922/2SA1216 输出级用的三肯名管,这个你也懂的; 2SK1058/2SJ162 这对管都不知道的人没资格到坛子里来混。 用户数据库.part1.rar (146.48 KB) 用户数据库.part2.rar (92.33 KB) 二个附件都要下载! 考虑到有些人和我一样菜,说说使用方法: 首先下载上面二个附件,然后把第一个附件命名为1、第二个附件命名为2(不要搞错顺序了,否则不能解压缩!),再解压到你能找到的地方,得到一个名为“用户数据库”的prz

相关文档