• No results found

Een interactief functioneel ontwerpsysteem voor elektronische schakelingen

N/A
N/A
Protected

Academic year: 2021

Share "Een interactief functioneel ontwerpsysteem voor elektronische schakelingen"

Copied!
97
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

schakelingen

Citation for published version (APA):

Theeuwen, J. F. M., & Jess, J. A. G. (1980). Een interactief functioneel ontwerpsysteem voor elektronische schakelingen. (EUT report. E, Fac. of Electrical Engineering; Vol. 80-E-113). Technische Hogeschool Eindhoven.

Document status and date: Gepubliceerd: 01/01/1980 Document Version:

Uitgevers PDF, ook bekend als Version of Record Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website.

• The final author version and the galley proof are versions of the publication after peer review.

• The final published version features the final layout of the paper including the volume, issue and page numbers.

Link to publication

General rights

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

• You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement:

www.tue.nl/taverne

Take down policy

If you believe that this document breaches copyright please contact us at:

openaccess@tue.nl

providing details and we will investigate your claim.

(2)

J. F. M. Theeuwen

en

(3)

Eindhoven

The Netherlands

EEN INTERACTIEF FUNCTIONEEL ONTWERPSYSTEEM

VOOR ELEKTRONISCHE SCHAKELINGEN

door

J.F.M. Theeuwen

en

J .A.G.

Jess

TH-Report

80-E-113

ISBN

90-6144-113-7

Eindhoven

September 1980

(4)

Abstract

Samenvatting

1. Algemeen doel en werking van het programmasysteern

1.1. Doel van het programmasysteem . 1.2. Taken van het programmasysteem 1.3. Werking van het programmasysteem 2. Het tableau

2.1. Bipartite graaf met incidentie relaties 2.2. Ontwerpeisen en ontwerpgrootheden 2.3. Kleinsignaal specificaties 2.3.1. Inleiding . . . 2.3.2. Exiterende spanning 2.3.3. Exiterende stroom 2.3.4. Exiterende parameter 2.4. Het kleinsignaal systeem

2.5. Het getransponeerd kleinsignaal systeem 2.5.1. Parameter in de noemer .

2.5.2. Spanning of stroom in de noemer

2.6. Tableau met ontwerpeisen

3. Matching in een bipartite graaf 3.1. Begrippen . . pagina 1 3 3 3 4 10 10 12 12 12 13 14 14 15 15 16 19 20 22 22

3.2. Het algoritme voar de constructie van een IImaximum matching" 24

3.3. Verzameling kortste opbouwpaden . 25

3.4. Tijdcomplexiteit van het algoritme 26

4. Sterke componenten in een gerichte graaf 27

4. 1. Begrippen . . . • . . . 27

4.2. Het algoritme voar het vinden van sterke componenten 29

4.3. Matching en decompositie van het tableau. Tails. . . 32

5. Essentiele variabelen 34

5.1. Inleiding . . 34

5.2.1. Het Minimal Essential Set Algoritme 35

5.2.2. De werking van het MES algoritme 36

5.3. Het plaatsen van een vergelijking in de set essentiele

(5)

inhoud (vervolg)

5.4. Vergelijking van de algoritmen

6. Het opstellen van de vergelijkingen 6.1. Inleiding . .

6.2. Het genereren van de formules in standaardvorm 6.3. Het expliciet schrijven van een variabele . . 7. Het in suffix-vorrn schrijven van de vergelijkingen

8. Het oplossen van een sterke component

9.

8.1. Inleiding .

8.2. Het bepalen van de afgeleide van een formule 8.3.1. De Newton-Raphson methode • •

8.3.2. De vorm van de vergelijkingen

8.3.3. Begrenzen van de diode-karakteristiek 8.3.4. Stapgrootte beperking De plotprogramma's 9.1. Inleiding 9.2. PLOT 1 9.3. PLOT 2 9.4. PLOT 3 10. Voorbeeld 11. Ui tbreiding 12. Conclusies Appendix A

A.I. Structuur van het programma A.2. De files . . .

A.3. Overlay structuur

A.4. De routines en hun functies A.5. De werking van DDS

A.5. Input en Output

A.6.l. Circuit elementen

A.6.2. Format structuurbeschrijving A.6.3. Format ontwerpeis

A.6.4. Output format . .

. . .

pagina

.

39 40 40 40 43 46 48 48 49 51 52 54 54 56 56 56 57 57 58 68 69 A 1 A 1 A 3 A 4 A 4 A 6 A 9 A 9 Al0 A12 A13

(6)

inhoud (vervolg)

Appendix B

B.l. Structuur van het programma BEREK

Literatuur - - - -

.

.. ..

.

..

pagina B 1 B 1 L 1

(7)

In this paper an attempt is made to combine a couple of well-known concepts into a new approach to solve the biasing problem in electronic nonlinear circuits design. Assume that for a particular circuit various large- and small-signal DC requirements are specified. At the same time let there be a set of designable parameters. We describe a way to obtain diagnostic information about the feasibility of the design problem as well as a procedure to compute the values of the parameters if such a scheme exists. The concept is incorporated into an interactive system for circuits design in order to support the designer in designing electronic circuits.

Theeuwen, J.F.M. en J.A.G. Jess

EEN INTERACTIEF FUNCTIONEEL-oNTWERPSYSTEEM VOOR ELEKTRONISCHE SCHAKELINGEN.

Department of Electrical Engineering, Eindhoven University of Technology. 1980.

TH-Report 80-E-113

Address of the authors:

ir. J.F.M. Theeuwen and Professor Dr.-Ing. J.A.G. Jess, Group Design Automation of Systems,

Department of Electrical Engineering, Eindhoven University of Technology, P.O. Box 513,

5600 ME EINDHOVEN,

(8)

SAMENVATTING

Het ontwerpen van een elektronische schakeling is een iteratief proces waarin geprobeerd wordt om structuur en parameters van een schakeling in

overeenstemming te brengen met een gewenste werking. Dikwijls verloopt

dit proces zodanig dat eerst een structuur wordt voorgesteld. Daarna wordt

geprobeerd de parameters optimaal af te stellen. Wordt er een optimum

gevonden dan wordt beoordeeld of het resultaat acceptabel is. Voldoet het

niet, dan wordt de structuur gewijzigd en de nieuwe verzameling parameters

wordt geoptimaliseerd.

In de laatste jaren is veel onderzoek gedaan aan het automatisch

opti~aliseren van de parameters van een gegeven structuur. Hierbij treden

twee problemen op:

1. het verschaffen van een beginschatting voer de parameterwaarden "in de buurt" van de oplossing;

2. het veiligstellen van een snelle convergentie van een iteratieve methode voor de optimale bepaling van de parameters.

Bij het boven beschreven proces kunnen in het algemeen twee "iteratie niveau I S"

worden aangegeven. Een iteratie proces is nodig om de responsie in termen van stromen en spanningen van de schake ling te berekenen bij een bepaalde schatting van de parameterwaarden. Dit iteratie proces is genest in een tweede iteratie proces, dat probeert om een steeds betere schatting van de parameters te verkrijgen.

In dit rapport wordt een nieuwe methode voor het bepalen van de parameters

van een schake ling met bekende, vaste structuur beschreven. Het

ontwerp-probleem wordt op een uniforme wijze op een verzameling van vergelijkingen

afgebeeld. Responsie en parameters worden simultaan als onbekende beschouwd. Hierdoor vervalt het iteratie proces dat voor een betere schatting van de parameterwaarden moet zorgen. Deze worden namelijk in een slag berekend. Het voorkomen van onbekenden in vergelijkingen kan worden weergegeven door een bipartite graaf. Uitgaande van deze graaf kan worden getest of er uberhaupt een oplossing kan bestaan. Als er geen oplossing kan bestaan, kunnen de vergelijkingen en variabelen worden aangewezen die voor de in-compatibiliteit verantwoordelijk mOe ten worden beschouwd. In het andere

geval kan de bipartite graaf worden gebruikt om een partieel geordend

rekenschema op te stellen voor het vinden van een oplossing. De partiele ordening is zo gedefinieerd dat de Jacobiaan van het vergelijkingstelsel zo veel mogelijk een driehoeksvorm benadert.

(9)

Op basis van dit concept is een programmasysteem ontwikkeld. Het

programmasysteem laat een interactieve definitie van het ontwerpprobleem

toe. Het resultaat bestaat uit een volledige verzameling instructies op

het niveau van een hogere programmeertaal voar het berekenen van een

oplossing. Het systeem kan de instruties oak uitvoeren. Voor de beoordeling van de eenduidigheid van de oplossing en voar het vinden van een

begin-schatting van de oplossing kunnen grafische projecties op een plotter

of een beeldscherm worden uitgetekend.

(10)

1. ALGEMEEN DOEL EN WERKING VAN HET PROGRAMMASYSTEEM

1.1. Doel van het programmasysteem

Het proces van het ontwerpen van een schake ling kan in een aantal fases worden opgedeeld. Uitgaande van een principiele omschrijving van de gewenste werking van het circuit zal de ontwerper allereerst een aantal eisen opstellen. De eisen kunnen worden beschreven in termen van

ver-sterkingsfactoren, parameterwaarden en gevoeligheden. Vervolgens zal hij een structuur definieren. De structuur zal hij definieren op grand van zijn ervaring. Oak bij de formulering van eisen zal zijn ervaring een rol spelen. Vervolgens kan de ontwerper de waarden van de onbekenden schatten en al

solderend en metend proberen te komen tot de gewenste werking. In plaats van

solderen en meten kan hij de schakeling oak simuleren op een rekenmachine,

zo achter het gedrag van de schakeling komen en dit eventueel bijstellen tot de gewenste werking is bereikt. De vraag hierbij is echter of het wei

mogelijk is am met de opgegeven structuur de gestelde eisen te

verwezen-lijken. Het kan namelijk zijn dat de gestelde eisen niet compatibel zijn met de opgegeven structuur, zodat de schakeling nooit aan de gestelde eisen

kan voldoen.

Dit rapport beschrijft een systeem dat op een andere manier dan

"geitereerde analyse" nagaat of een gegeven structuur de gestelde eisen kan verwezenlijken. Als dit kan dan geeft het een Manier aan, volgens welke

de schake ling "snel" doorgerekend kan worden. Met "snel" wordt bedoeld

IImet zo weinig mogelijk iteratieslagen in zo klein mogelijke stelsels vergelijkingen" .

1.2. Taken van het programmasysteem

Het programmasysteem begint met na te gaan of een opgegeven structuur

de gestelde eisen kan verwezenlijken. Als dit niet kan dan geeft het de

oorzaken van het gevonden gebrek. Als dit wei kan dan zoekt het systeem uit of het probleem in deelproblemen ontbonden kan worden. Verder geeft het systeem de vergelijkingen met welke men de nog onbekende variabelen en

parameters in het systeem op een efficiente wijze kan berekenen. De vergelijkingen kunnen dan rechtstreeks, of door middel van een gemodifi-ceerde Newton-Raphson methode, worden opgelost. Indien er meerdere oplos-singen mogelijk zijn, kunnen tekeningen van functies worden gemaakt waaruit

(11)

een startwaarde om tot een goede oplossing te kamen, kan worden gevonden. De ontwerpeisen die het programmasysteem aankan zijn waarden voar para-meters, gelijkstroom eisen, kleinsignaal eisen en eisen ten aanzien van gevoeligheden.

!.3. Werking van het programmasysteem

Als een structuur van een schake ling door de ontwerper bepaald is, dan kan aan de hand van deze structuur een aantal vergelijkingen worden op-gesteld die het gedrag van de schake ling in principe weergeven. Als

onbekenden definieren wij de spanningen over en de stromen door de elementen, de knooppuntspanningen en de elementwaarden. De verzameling vergelijkingen bestaat uit een verzameling lineair onafhankelijke Kirchhoff spannings-vergelijkingen, een verzameling linear onafhankelijke Kirchhoff stroom-vergelijkingen en de takrelaties. Het zo ontstane vergelijkingsstelsel is niet vierkant. Er zijn meer onbekenden dan vergelijkingen. Het vergelijkings-stelsel moet worden aangevuld met een aantal vergelijkingen die de ontwerp-eisen bevatten.Het verkregen vergelijkingsstelsel kan worden afgebeeld op een incidentie matrix, equivalent met een bipartite graaf.

De incidentie matrix wordt als volgt gedefinieerd. De vergelijkingen zijn weergegeven in rijen en de variabelen en parameters zijn weergegeven in de kolommen. Als nu een variabele of een parameter voorkomt in een vergelijking dan wordt er een "1'1 geplaatst op de kruising van de

betreffende rij en kolom. Allereerst wordt er nu geprobeerd om de rijen en kolommen zodanig te rangschikken dat elke variabele gekoppeld is aan een vergelijking. Dit komt overeen met het vinden van diagonaal met entries in de incidentie matrix. fig.!.!. 1 2 3 2 3 N N~ ____________________ ~

(12)

Als het mogelijk is om een dergelijke structuur te vinden, dan betekent dit,

dat het stelsel vergelijkingen in principe oplosbaar is [3], of met andere

woorden, de term "rank" is n [3]. Indien er echter geen diagonaal gevonden

wordt, betekent dit dat het stelsel vergelijkingen niet oplosbaar is en

hierdoor de eisen, die aan de structuur gesteld worden, in het algemeen niet vervuld kunnen worden. De incidentie matrix kan dan in de varm van

fig.!.2 gebracht worden:

I I I 1 1 I I 1

I

I

]I

1 1 I I II I 1 I

rTf

1 1 I I I

0

11

I

-I

I

11

-

I 1

fig. ! .2. Incidentie matrix zander volledige diagonaal.

Gebied I, de verticale staart (vertical tail), is de afbeelding van een

stelsel vergelijkingen met meer vergelijkingen dan onbekenden. Het stelsel

vergelijkingen dat met gebied II (de horizon tale staart (horizontal tail

[3]»

overeenkomt, bezit meer onbekenden dan vergelijkingen. Deze twee

stelsels vergelijkingen staan het oplossen van het hele stelsel

verge-lijkingen in de weg. Een dergelijke structuur ontstaat, zoals al eerder

is aangegeven, door de incompatibiliteit tussen de eisen aan en de structuur

van de schake ling . Een eenvoudig voorbeeld hiervan is het volgende:

Stel in een schake ling komt een weerstand voor. Indien zowel aan I, V en R

een bepaalde vaste waarde toegewezen wordt, dan is deze eis "hijna noait"

realiseerbaar. Het is dan ook niet mogelijk om een diagonaal in de matrix

te vinden (Zie fig.!.3 voor een voorbeeld).

In grotere circuits komen dergelijke gevallen vaker voar zander dat men direct de oorzaken hiervan kan zien. Aan de hand van de variabelen en de vergelijkingen in de verticale en horizontale staart, kan men deze oor-zaken proberen op te sporen.

(13)

:I. .i. -::. J .. :5

'"'

"

:I.

EiL ", ".) :I. :I. :I.

I: 3()

J

1<1.) 3 1 I

j-

2BJ

J\L .":. ,,: .. :I. '" j

26]

i\l)

.,

~~. 1 :I. :I.

r.:

20J

FiC

:?

:I. :I. I

r

2::.~ ::I

[;1; ,.~

:l

r

24J

",.

Le

..

-.- :I. ).

r

:I. 6::1

CC: :I. :I.

[

:l.BJ

1\ \-' :I.

:I. :I.

r

:I.

2J

BC

.I.

J

:I.

r

:I.

4 J

DC

:":';

:I.

[:

OJ

fi<J.-1.3.c.

Incidentiematrix van het

vergelijkingsstelsel met geen

volledige diagonaal.

EI

I~+

~R:=r:._-,2

+ +

0 " - - - '

fig.1.3.a.

Structuur van de

schake ling

DCO:l.(I02)=~J02=tO.OOl

DC02(R02)=tR02=t:l.OO

UC03(V02)=tV02=t3

fig.i.3.b.

Ontwerpeisen veor

de schakeling.

Er moet hier worden opgemerkt dat de compatibiliteitstest een zuiver

combinatorisch karakter heeft, dus geen be trekking heeft op numerieke

waarden. Zo zal het programmasysteem met de compatibiliteitstest

bij-voorbeeld niet detecteren dat een emittervolger geen versterkingsfactor 2

kan halen.

Ais er weI een volledig bezette diagonaal bestaat, dan is het in principe

mogelijk om het vergelijkingsstelsel op te lossen.

Het oplossen moet

echter gebeuren met zo weinig mogelijk iteraties. Het stelsel

vergelij-kingen is het snelst oplosbaar als er een equivalent vergelijkingsstelsel

met een incidentie matrix volgens de structuur van fig.i.4 bestaat.

fig.l.4.

I I I I

o

I

Incidentie matrix van een stelsel vergelijkingen

dat zonder iteratie oplosbaar is.

De oplossing gebeurt door middel van terugsubstitutie. Indien het systeem

uit uitsluitend lineaire vergelijkingen bestaat, is het altijd mogelijk

om het stelsel vergelijkingen door Gauss-eliminatie naar een dergelijke

vorm terug te brengen. Daar er in

~ns

probleem niet lineaire vergelijkingen

(14)

voorkomen (bijvoorbeeld V

=

I x R) is dit niet altijd mogelijk. De

incidentie matrix kan echter door het verwisselen van rijen en kolommen

altijd teruggebracht worden naar de vorm van fig.l.S.

1

1--+-1I

fig. 1.5.

Incidentie matrix met 2

I

IIsterke componenten" met dimensie >1.

De gebieden I, II en III (fig.1.S) worden "sterke componenten" genoemd. In

deze submatrices kunnen zich averal entries voordoen. Een sterke component

komt overeen met een stelsel vergelijkingen met de volgende eigenschap:

Het is niet mogelijk door herrangschikken van rijen en kolommen van het

substelsel de bijbehorende component in kleinere componenten op te delen.

Aantal en afmetingen van de sterke componenten zijn afhankelijk van de

formulering van de ontwerpeisen. Het is uiteraard aantrekkelijk om de

ontwerpeisen zodanig te formuleren dat er een zo groat mogelijk aantal sterke componenten van zo klein mogelijke dimensie ontstaat. Een aanwijzing voar het formuleren van de ontwerpeisen om zo klein mogelijke sterke

componenten te verkrijgen, wordt gevonden in de essentiele variabelen

van een sterke component.

Opmerking: een sterke component kan ook de afmetingen 1 x 1 hebben.

III (fig.l.S) zijn dus ook sterke componenten. Het is mogelijk om de

sterke component in de vorm van fig.l.6 te transformeren.

~-~--;=-=-

,

I

...

essentiele variabelen

I 11

I I

1 I

o

fig.1.6.

De Bordered Triangular Form (BTF) of

(15)

De essen tie Ie variabelen komen Qvereen met de variabelen verbonden aan de kolommen aan de rechte rand van de incidentie matrix in fig.l.6.

Als de essentiele variabelen bekend zijn, dan is de hele sterke component door middel van terugsubstitutie op te lossen. De essentiele variabelen geven dus een indica tie welke variabelen zo mogelijk door ontwerpeisen vastgelegd moeten worden om het hele systeem door terugsubstitutie oplos-baar te maken.

Als het nu niet mogelijk is om de aanwezige sterke componenten in een incidentie matrix te verkleinen (doordat men de essentiele variabelen ais onbekenden wil handhaven, of doordat bij het elimineren van de ene

sterke component weer een andere ontstaat) dan geven de essen tie Ie variabelen

een indica tie over de oplosmethode voor de sterke component. Beschouw

hier-voor een sterke component met een essentiele variabele. I

o

Fn~I ______________ L~1

fig.!.? Incidentie matrix van een sterke component met

een essentiele variabele.

Neem de essentiele variabele xn als onbekende en druk xl uit als functie van x .

n Dit kan met behulp van de vergelijking f n -(xl. Druk nu vervolgens

x

2 uit als f

n_1 (~l en lijking is

functie van x . Dit kan met behulp van de vergelijkingen n

f (x). Ga 20 door tot de variabele x . De 20 ontstane

verge-n - n

een vergelijking in de essentiele variabele x . Als deze

ver-- n

gelijking opgelost wordt, dan is xn bekend, en kunnen de variabelen x n_1 tot Xl ook berekend worden. Indien het aantal essentiele variabelen in een sterke component groter dan een is, resteert er meer dan een verge-lijking. Ret aantal vergelijkingen dat moet worden opgelost is gelijk aan het aantal essentiele variabelen dat in de sterke component aanwezig is.

Deze vergelijkingen worden opgelost door middel van een gemodificeerde Newton-Raphson iteratie. Om de iteratie uit te kunnen voeren, moe ten er afgeleiden van formules bepaald worden. Tevens moet er een routine zijn

(16)

die formules kan berekenen. Om dit makkelijker te kunnen laten verlopen

moe ten de vergelijkingen worden omgeschreven in een suffix notatie.

De beginschatting van de essen tie Ie variabelen moet door de gebruiker worden gegeven. Aangezien de gevonden oplossing vaak afhankelijk is van

de begins chatting voor de essentiele variabelen is de mogelijkheid

gescha-pen om grafieken te laten tekenen van de vergelijkingen waarin geitereerd moet worden.

Al de hierboven aangegeven bewerkingen kunnen worden uitgevoerd door

de programma's DDS (Design and Diagnostic System), BEREK, PLOT 1, PLOT 2 en PLOT 3.

(17)

2. HET TABLEAU

2.1. Bipartite graaf met incidentie relaties

Beschouwen we een elektronische schakeling met b takken en n knooppunten. Deze schake ling wordt volledig beschreven door een verzameling van b

Kirchhoff spanningswetten (KVL) , n-l Kirchhoff stroomwetten (KCL) en b takrelaties (BC). De bij deze vergelijkingen horende verzameling grootheden bestaat uit b takspanningen (V), b takstromen (I) en n-l

knooppunt-potentialen (N) en b parameters.

Ci)

R

CV

+

E, R3 0 fig. 2.1. a.

Structuur van een schake ling

N, NZ V, Vz V3 I, I Z 13 KV, 1 I _I

,

KVZ 1 -II -I I

K\3

1 ' -" I t

-=0

K C, I

I-I

-I

+

KCZ

,

I

I -I

- - t - - - -,- - - -E BC, , 1 , BCZ , I

,

-flZ BC3

:

L:

-R3

fig.2.1.b. Tableau van de schake ling

van fig.2.1.a.

Deze vergelijkingen en grootheden kunnen in een zogenaamd tableau worden genoteerd zoals is aangegeven in fig.2.1. In dit tableau staan de

coefficienten van de vergelijkingen. V~~r zover het parameters van het circuit betreft kan voor de coefficient_en in het tableau een eigen kolom worden gereserveerd. Noteren we verder aIleen maar het feit dat een groot-heid in een vergelijking voorkomt, dan gaat het tableau van fig.2.1.b over in de incidentie matrix van fig.2.2. We hebben nu weI minder verge-lijkingen dan grootheden.

N V p I 1 KVL

I I

I

I

1

I I

KCL

I I

I

I

Be

I

I

I

1

I

I

(18)

Door ontwerpeisen in de vorm van vergelijkingen te formuleren wordt het

aantai vergeiijkingen uitgebreid totdat het vergeiijkingssteisei vierkant is. De betreffende vergelijking verschilt in principe niet van andere

netwerkvergelijkingen. Zij doet een uitspraak over een enkele grootheid of brengt meerdere grootheden met elkaar in relatie. De incidentie matrix

behorende bij het uitgebreide vergelijkingsstelsel bestaat daarom gewoon uit een concatenatie van de incidentie matrix van het tableau en de

incidentie matrix van de ontwerpeisen.

N

v

P

KCL

BC

ONTWERPEISEN

fig.2.3. Structuur van een incidentie matrix.

We hebhen nu twee verzamelingen: 1. grootheden verzameling ~, E

2. vergeiijkingen

aile N, aile V, aile I, aile p

p = parameter;

aile KVL, aile KCL, aile BC, aile ontwerpeisen

Een bipartite graaf is een graaf gedefinieerd op twee disjuncte verzame-lingen van knooppunten. De graaf bevat relaties tussen de eiementen uit

de twee verzamelingen. De vergelijkingen zijn afgebeeld op de ene verzame-ling knooppunten en de grootheden op de andere verzameverzame-ling knooppunten. Ais er een grootheid voorkomt in een vergeIijking, dan en aIleen dan be staat er een tak tussen de twee betreffende knooppunten.Beide verzame-Iingen knooppunten zijn even groat. Om informatie uit zoln bipartite graaf te halen, staan enkele efficiente algoritmen ter beschikking, welke besproken zuIIen worden in hoofdstuk 3 en 4.

(19)

2.2. Ontwerpeisen en ontwerpgrootheden

Zoals al eerder is gezien, worden aan het tableau ontwerpeisen toegevoegd. Deze ontwerpeisen beperken zich niet altijd tot uitspraken over elementen van ~ of

£

maar kunnen oak nieuwe grootheden, ontwerpgrootheden, genereren. Stel er wordt een uitspraak gedaan over een versterkingsfactor of over een gevoeligheid van een grootheid voor variatie van een andere grootheid. Vanwege de structuur van het tableau hebben we nu behoefte aan een kolom welke expliciet aan de nieuwe grootheid (versterking, gevoeligheid) kan worden toegewezen. De vorm waarin de genoemde grootheid voorkomt is altijd:

/',x.

~

I>y. J

Nu staan er twee wegen open. De eerste weg beschouwt ~y. als een variatie J

van een exiterende grootheid. Hierbij kan een respons-vector van de systeem-grootheden worden bepaald. Dit leidt tot uitbreiding van het tableau met

een zogenaamd kleinsignaal systeem. De tweede weg wordt bewandeld als ~x.

~

tot outputvariabele wordt verklaard. Dit leidt tot uitbreiding van het systeem met een zogenaamd getransponeerd kleinsignaal systeem.

De responsie van een van beide toegevoegde systemen is nodig om de ver-sterking of gevoeligheid te kunnen definieren.

2.3. Kleinsignaal specificaties

2.3.1. Inleiding

Beschouwen we het systeem van aIle KVL'S, KeLls en Be's:

o

£:

aile parameters

x: knooppuntpotentialen, takspanning en takstromen

En de Taylor ontwikkeling daarvan rond een instelpunt (~.Eo).

aH

I

alii

+ ~ /',p +

-ap

-

ab

- ~·pO - ~·Ro

/',b

o

(2.3-1)

Hierin is ~b een bronterm waarvan de betekenis in het navolgende duidelijk zal worden.

(20)

Klcinsignaal specificaties hebben steeds de vorm van een responsie qerclatcerd aan cen exitatic. Elke component van ~ of

E

kan dienen als exiterende grootheid. Slechts componenten van ~ kunnen dienen als

responderende grootheid. Wij laten knooppuntpotentialen. als exiterende grootheid achterwege. Er bestaan nu drie mogelijkheden:

De exiterende grootheid is: a. spanning, b. stroam, c. parameter.

2.3.2. Exiterende spanning

Stel V. is de exiterende grootheid. Wij interpreteren dit als in

J fig.2.4. !"

. i

p

+~I---1+

O.f---

q

J

OJ

fig.2.4. Structuur van een exiterende spanning V ..

J

In serie met het element van tak j wordt een spanningsbron e, gedacht.

J

Deze stelt de gewenste exitatie voar. Kirchhoff stroomwetten veranderen hierdoor niet. Eveneens blijft de takrelatie onveranderd omdat er niets aan het takelement is veranderd. De bron komt echter voor in de Kirchhoff spanningswet:

KV. (2.3-2)

J

Nu stellen we e. gelijk aan de je component van de bronvector ~b die voor

J

de rest gelijk is aan de 0 vector.

Dus: (exiterende grootheid is spanning)

maar in dat geval is ~E = 0 omdat geen van de parameters het systeem exiteert.

Nu gaat (2.3-1) over in:

aHI

~ ,;x

ax

--

~'Eo

(21)

Het is duidelijk dat in de tweede term van (2.3-3) aileen de partiele a£geleide van KV. naar e. iets oplevert.

J J

2.3.3. Exiterende stroam

Stel I. is de exiterende grootheid. Wij interpreteren dit als in fig.2.5. J

~

J

q p

fig.2.5. Structuur van een exiterende stroam I ..

J

Parallel met het element van tak j wordt een stroombron jj gedacht. Deze stelt de gewenste exitatie voar. De Kirchhoff spanningswetten veranderen hier niet door. De takrelatie blijft oak overanderd omdat het takelement niet verandert. De bran komt voar in de Kirchhoff stroomwetten:

KC P KC q

L

I +j. = 0 p

P

J

L

I + j . q q J

o

Nu stellen we j j gelijk aan de je component van de bronvector Ab die verder gelijk is aan de 0 vector.

Dus: (exiterende grootheid

=

stroom) (6~

F

Q)

weer is 61'.

=

Q

Ook hier gaat (2.3-1) over in (2.3-3). Stroam j. is incident met KC

J P en KC q zodat de partiele afgeleiden

van deze vergelijkingen naar jj iets opleveren.

2.3.4. Exiterende parameter

Stel dat p., de parameter

J van tak j de exiterende grootheid is.

(2.3-4)

(2.3 -5)

Nu stellen we 6p. gelijk aan

J de je component van 61'., die verder gelijk is

aan de 0 vector. Dan is 61'.

F

0 en 6b =

Q,

zodat (2.3-1) overgaat in:

dHI

+ ~ 6p

3p

--

~'l'.o

(22)

Parameter p. is incident met takrelatie Be. zodat de partie Ie afgeleide

J J

van deze relatie naar p. iets oplevert. Bovendien genereert een niet

J

lineaire takrelatie nog andere elementen, bij voorbeeld

d (v-I*R)

dR

I (impedantie) incidentie in kolom I

-x

b (gestuurde bron) incidentie in koloID Xb

d (I-I

O

(exp(~~)

- 1))

aT

2.4. Het kleinsignaal systeem

= I

..2:!-

*exp (QV)

o

KT2 KT

(diode) incidenties in kolommen V en T

Beschouw de gevoeligheid x, vear variaties van y ..

~ J

s

=

(2.4-1)

We de

vatten 8x. op als een responsie

~

drie gevallen voar van hoofdstuk

en 8y, als een exitatie. Hier dcen zich

J

2.3.2, 2.3.3 en 2.3.4. Het gewenste

resultaat is de ie component van

~x

gedeeld door

~y

.. De tweede term

J dH

I

of

db

lie.

-

~'£o

levert de exiterende bronvector op.

Aan het bestaande systeem ~(~'E)

=

0 wordt nu het kleinsignaal systeem

toegevoegd. V~~r de gevoeligheid wordt een aparte kolom gereserveerd.

Tevens wordt er een vergelijking gegenereerd van de vorm "gevoeligheid" Hiervoor wordt een aparte rij gereserveerd. Is er een parameter verant-woordelijk voar de ex ita tie dan worden in de regio A termen gegenereerd volgens de regels van 2.3.4 (zie fig.2.8).

2.5. Het getransponeerd kleinsignaal systeem

De tweede weg die openstaat om kleinsignaal-eisen in het tableau te introduceren is het getransponeerde kleinsignaal systeem. De grootheid:

s =

~x .•

(23)

komt in het tableau door een getransponeerd kleinsignaal systeem toe te

voegen. Dit systeem wordt volledig bepaald door ~x. tot outputvariabele

~

te verklaren.

2.5.1. Parameter in de noerner

Geheel volgens het betoogde in (2.3.4) gaan we uit van (2.3-6):

3HI

+ ~ ~p

3p

--~·Eo

°

Er wordt vervolgens een formele vector

w

gedefinieerd:

zodat t w t w def t ~i ~x. ~ of ~ w

( 3Hjl

3~ ~.Eo-

met 8. t -~ (0,0, I (2.5-1)

.1,,0.0)

i

Dit systeem van vergelijkingen wordt systeem I genoemd. Links vermenig-t

vUldigen van (2.5-1) met w levert op:

t /l,x. +

w

~ of

(

~I

/I,£)t

~

=

-lIxi

~'Eo

omdat slechts ~p. ongelijk

°

is komt er:

J

systeem II

Er zijn nu twee systemen gedefinieerd: I en II.

I

. (3HI

)t

De matrlX d~

~·Eo

(24)

entries die door alle partie Ie afgeleiden in het tableau worden gegenereerd.

(

ali

)t

a~. ~'Ro

= Beschouw

ah1i

ax n ~'l2o

Er zijn twee gevallen: a. hk is een topologische verge l i j king,

b. hk is een takrelatie. ah

k

1 als hk de variabele bevat,

a. aX l

=

xl

0 als hk de variabele xl niet bevat.

b. De uitkomst is afhankelijk van het type tak en van het type van xl zoals te zien is in de tabel.

h ah k ahk aV l OIl V

-

Il*Rl

=

1 0 (impedantie) 1 -R 1 v l

-

el

=

0 (onafh. bron) 1

-11

-

jl

=

0 QV (onafh. bron) 1 1 QV1

11 - 10 (exp ( - ) KT

-

1 )

=

0 (diode) -I

o

"~exp(--)

KT KT 1

a~ a~

ax

u

ax

v X

-

a X

=

0 (gestuurde bron) 1 -a u u v u tabel 2.1 Samenvattend: (2.5-2)

(25)

van

als xl voorkomt in hko Bovendien verschijnen in deze rij termen volgens het schema van tabel. 2.1. Nu kan de incidentie matrix worden uitgebreid:

x

£

w

f .!!.(~,£) = 0

ali t

f tabel 2.1

ax

w

-fig.2.6. Structuur van de incidentie

matrix met een getransponeerd kleinsignaal.

Het is eenvoudig in te zien aan de hand van (2.5-2) dat onder de w vector de getransponeerde verschijnt van de incidentie matrix onder de x vector.

I I : Het tweede systeem

0 t ali 0 1 j w ap

-

~'l2.o 0 0

wordt als volgt opgenomen:

ah )

a

p :

w

n

Normeer ~p. tot 1 (~p. is bron en staat buiten het tableau). Maak een

J J grootheid s = ~x i ~p. J ~x . :L (2.5-3) ah k

Evalueer de partie Ie afgeleiden

-a--.

Hiervoor kan weer een tabel gernaakt

p.

(26)

V l V l Il V l Nu wordt h h w s Ik dh k

aP

l

-

Il *Rl = 0 -I 1

-

e l = 0 -1

-

j l = 0 -1 QV l QVl QVl

-

I *(exp(-)-1) -I - k -* exp (--)

o

KT

o

KT KT Tabel 2.2 de rijvector ah 1 ah2 ap.

,

aP j J x p w s fig. 2. 7.

aan het tableau toegevoegd.

Structuur van een tableau met een getransponeerd klein-signaal systeem met de daar-bij behorende ontwerpgrootheid.

In tabel 2.2 zien we waar de rijvector een entry heeft. Voorts welke

systeemgrooheden x of p er verder in deze rij van het tableau voorkomen.

e

v

Hiermee is systeem II tevens toegevoegd.

2.5.2. Spanning of stroam in de noemer

Volgens hoofdstuk 2.3.2 en 2.3.3 gaan we uit van vergelijking 2.3-3.

+

;!I

"'!?

= 0

-

~'£o sys'teem I I is nu anders.

De brontermen komen aIleen voor in de topologische vergelijkingen KVL j

(vergl. 2.3-2) of KCL en KCL (vergl. 2.3-4 en 2.3-5).

P

q

De topologische vergelijkingen zijn lineair zodat de partiele afgeleiden van deze vergelijkingen geen termen genereren. Dit betekent dat deze afgeleide(n) in rij s (zie fig.2.7) slechts entries introduceren in die kolommen van w die geassocieerd zijn met de betreffende KVL

j of KeLp en KCL . Met 2.5-3:

(27)

j ( "hi db. ' J

ah )

db~

== (0,0 .. 1, .. 0) of w n met h. = J KVj p q = (0,0 .• 1, .. 1,0.0) wI

De hele uitdrukking is gelijk aan

I1x. 1 I1Y j - I1x. 1 -s met I KC

P

P

I KC q q

w

2 w n

zodat met het tevens plaatsen van een entry in koloID s het komplete systeem is opgenomen (zie fig.2.7).

2.6. Tableau met ontwerpeisen

De mogelijkheid om een (getransponeerd) kleinsignaal systeem in het tableau op te nemen stelt de ontwerper in staat om behalve gelijkspannings-grootheden en parameters oak kleinsignaal gelijkspannings-grootheden in zijn ontwerpeisen te specificeren. AIle gespecificeerde grootheden hebben op deze manier een eigen kolom in het tableau. De ontwerpeisen worden dan eenvoudigweg in het tableau opgenomen door een rij te reserveren en daarin de incidentie met de gespecificeerde grootheden aan te geven. Als er vOldoende ontwerpeisen geintroduceerd zijn kan het tableau er als voIgt uitzien:

!

P

AX

'1

w 5

h fig.2.B. Voorbeeld van de structuur

(28)

Het toevoegen van een (getransponeerd) kleinsignaal systeem in een systeem

van n vergelijkingen houdt in dat er n+k rijen worden toegevoegd, waarbij k het aantal gevoeligheden is die met het toegevoegde systeem kunnen worden gemaakt. Vanwege het overzicht, dat snel verloren gaat, is het zinloos om

het tableau onbeperkt uit te breiden. Door het opnemen van (getransponeerde)

kleinsignaal systemen neemt de omvang van het tableau zeer snel toe. In de

praktijk zal het aantal toegevoegde systemen wel zeer beperkt moe ten blijven (een of twee) .

V~~r de beschrijving van de werking van het circuit is het onverschillig

of een kleinsignaal grootheid via een kleinsignaal systeem of via een getransponeerd kleinsignaal systeem wordt ingevoerd. Door de structuur van

de verschillende tableau's van het betreffende probleem te bekijken, kan onderzocht worden of beide structuren zich in bepaalde gevallen gunstig

(29)

3. MATCHING IN EEN BIPARTITE GRAAF

3.1. Begrippen

In hoofdstuk 2 is reeds opgemerkt dat het tableau een bipartite graaf is. De beide verzameiingen van knooppunten zijn even groot. In fig.3.1 is dit weergegeven. XI x2 x3 x4 Xs hi I I I h2 I I h3 I I I h4 I I hS I I

Fig.3.1.a. Bipartite graaf behorend

bij de incidentie matrix

fig.3.I.b. Incidentie matrix

behorende bij de

bi-van fig.3.1.b. partite graaf van

fig.3.1.a.

De incidentie raiaties uit matrix 3.I.b worden als takken afgebeeid in de graaf van 3.I.a, terwijl de rijen en kolommen zijn afgebeeid ais knooppunten. Dit is het aanschouwelijke beeld van een graaf dat in dit hoofdstuk zal

worden gebruikt.

Het is niet de bedoeiing om in deze tekst de gebruikte algoritmen uit [6J in extenso te beschrijven. Er wordt beoogd inzicht te verschaffen in de werking ervan. Enige definities zijn hierbij onmisbaar.

Graaf G: G(K,T)

Tak {v,w}

Matching M:

K

T {alle takkenL

tak tussen knooppunt v en w. v en w zijn incident met de tak.

(M ~ T) A (er is geen knooppunt incident met meer dan een

tak uit M) .

Elk knooppunt dat niet incident is met enige tak uit de matching M is een

vrij knooppunt (als M

=

¢

zijn aile knooppunten vrij).

Een sequentie van takken afwisselend in M en T-M gelegen en zonder repetitie van enig knooppunt heet een pad P. Een opbouwpad is een pad dat begint in een vrij knooppunt en dat eindigt in een ander vrij knooppunt.

(30)

Paden zijn disjunct als zij geen knooppunt gemeen hebben.

Het aantal takken in een P, of de lengte van een pad P wordt genoteerd als Ip I.

Takken die in M liggen zullen in plaatjes vet worden aangegeven. Het aantal takken in Mis IMI.

Elke bipartite graaf heeft een matching M. waarvoor geldt dat

~

1M. I 1M I waarbij M een matching is die het grootst mogelijk

~ max max

aantal takken bevat.

V~~r een matching M, met 1M. I < 1M I geldt dat er in de graaf een of

... 1. max

meer disjuncte opbouwpaden bestaan. (Wij constateren hier stellingen zander de daarbij behorende bewijzen te geven. Voor deze bewijzen wordt verwezen

naar

[6J

en

[lJ.)

Met elk opbouwpad kan Mi worden uitgebreid volgens het

mechanisme dat in fig.3.2 is weergegeven.

vrij knooppunt fig.3.2. ~M. ~ eM . i P. l , M. 1 - M. Ell P. 1. + 1. 1.

Uitbreiding van de matching.

vrij knooppunt

Omdat een opbouwpad twee vrije uiteinden heeft is de lengte oneven. De takken in dit pad die in de matching zitten, gaan uit de matching en de andere komen erin. De actie is:

(M. uP . ) \ (M . nP . ) (3.1-1)

1. 1. 1. 1.

Het gevolg is: IM·

11:=IM.I+1

l+ ~

De matching breidt dus uit.

We introduceren nag een nieuw begrip: kortste opbouwpad.

Een kortste opbouwpad bij M. is een opbouwpad dat via het boven beschreven

l

mechanisme M. kan uitbreiden, maar tevens de kleinst mogelijke lengte heeft

~

(bij gegeven M.). Er is een stelling

[6J

die het volgende zegt:

l

Gegeven een matching Mi en hierbij een kortste een matching). Verder gegeven een opbouwpad P

j

opbouwpad p.

l

bij Mi Ell Pi'

(dus M. Ell p. l l Dan geldt: is (3.1-2) Als Pi en P

(31)

De stelling kan als voIgt geinterpreteerd worden: De verzarneling van aIle disjuncte opbouwpaden bij teken in de stelling geldt, is een verzameling van

M., WaarVQor het

~

disjuncte paden

gelijk-van gelijke lengte, die elk in staat zijn via(3.1-1)de matching met een element uit te breiden. Bovendien geldt, dat als M. wordt uitgebreid met behulp van

~

aile paden in deze verzameling,elk opbouwpad dat gevonden kan worden bij de nieuwe M. een lengte heeft die groter is dan die van de voorafgaande

~

paden.

3.2. Het algoritme voar de construe tie van een IImax imum matching II

De ongelijkheid(3.1-2)is de grondslag voor het algoritme. Fig.3.3 bevat een flowdiagram van het algoritme. We starten met een lege matching.

Vervolgens wordt een maximale verzameling disjuncte kortste opbouwpaden bepaald (deze hebben in dit stadium allen lengte 1). Als de graaf niet

1eeg is, passeren we de conditie via 'nee'. Dan kan M net zo vaak uitgebreid

worden als er paden in de verzameling zijn. De volgende stap is het bepalen van een nieuwe verzameling paden. Dit herhaalt zich tot via de conditie de uitgang wordt bereikt.

breld M k m"i'l Ult bepaal

{Pi} Lk

fig. 3.3. Flowdiagram van het algoritme

van de constructie van een maximum matching.

Interessant is hoe de verzameling van paden wordt bepaald. Dit wordt behandeld in hoofdstuk 3.3. Er kan een bovengrens gesteld worden aan het aantal keren dat de ius in fig.3.3 wordt doorlopen. Dit komt aan bod in

3.4. Als bovendien een schatting gemaakt wordt van de hoeveelheid werk gemoeid met het vinden van een complete verzameling disjuncte kortste opbouwpaden, dan kan een berekening worden gemaakt van de tijdcomplexiteit van het algoritme.

(32)

3.3. Verzameling kortste opbouwpaden

Tot nu toe is het bipartite karakter van de graaf niet van belang geweest. Vanaf dit moment houden we rekening met het feit dat de takken van de graaf verbindingen leggen tussen elementen uit twee verzamelingen

(fig.3.1.a) .

We construeren nu een zoekgraaf met niveau's als in fig.3.4.

x h x

~

:=;::

fig.3.4. Zoekgraaf voor het vinden

van een maximum matching.

---

. .~

niveau niveau niveau niveau

1 2 3 4

Het eerste niveau bevat aIle vrije his. Het tweede niveau bevat aIle die in relatie staan met de his van het vorige niveau. Tevens worden

x,

L

deze takken aan de zoekgraaf teogevoegd. Als in het tweede niveau geen vrije x voorkomt, vinden we via de matching M bij elke x een h (derde niveau).

Vanuit deze his worden in het vierde niveau aIle x. geplaatst die ermee in

L

relatie zijn, etc. Bovendien geldt de regel dat de x niveau's

onder ling

geen doorsnede hebben. Dus een x, die in een lager niveau vQorkomt, wordt

L

verderop niet herhaald maar gewoon weggelaten (dit betekent dat de zoekgraaf acyclisch is). Het laatste niveau van de zoekgraaf is het eerste niveau dat een of meer vrije x, bevat. De zoekgraaf is dan gereed en de zoekactie

L

kan starten. Een pad is een sequentie van takken van een vrije x naar een vrije h. De gevonden paden moe ten onderling disjunct zijn. De lengte van alle gevonden paden is gelijk aan de hoogste niveau-index min 1.

Een pad wordt gevonden door in de zoekgraaf vanuit een vrije x via aanwezige takken telkens naar een lager niveau te gaan. Steeds wordt er vastgesteld of het knooppunt al in een pad opgenomen is. Zoja, dan wordt er een stap terug gedaan. ZO nee, dan wordt er verder gegaan. Als we niet verder kunnen, gaan we weer een stap terug etc. Knooppunten van waaruit een stap terug gedaan is, worden niet meer onderzocht. Dit onderzoekproces wordt Depth First Search genoemd [7J. Het padzoek-proces kan op twee manieren eindigen:

1. Er wordt een vrije h bereikt; er is een opbouwpad gevonden.

(33)

In beide gevallen wordt nu de volgende vrije x uit het laatste niveau genomen en wordt het padzoek-proces herhaald. Is er geen vrije x meer dan is de maximale verzameling van disjuncte, kortste opbouwpaden gevonden. Er zijn dan twee mogelijkheden:

1. De verzameling is 1eeg. M is niet uitbreidbaar. IMI = 1M I STOP.

max

2. De verzameling is niet leeg. M kan worden uitgebreid.

In het eerste geval stopt het aigoritme. In het tweede geval wordt M uitgebreid en vervolgens een nieuwe zoekgraaf gebouwd.

Het algoritme kan op twee manieren stoppen:

I. M blijkt niet uitbreidbaar; er is vergeefs een zoekgraaf gemaakt.

2. Er zijn geen vrije h's meer. Er wordt geen nieuwe zoekgraaf gemaakt.

Uit de laatste aiinea van 3.1 voigt dat de opeenvoigende zoekgrafen een

toenemende lengte (of diepte) hebben.

3.4. Tijdcompiexiteit van het algoritme

Er is een theorema [6] dat zegt dat er ten hoogste verschillende zoekgraaf-lengten kunnen voorkomen.

2(v'IM I') + 2

max

Het padzoeken in de zoekgraaf verioopt via een Depth First Search. Uit de beschrijving hoe de paden gezocht worden in de zoekgraaf biijkt

dat van een tak siechts een maai onderzocht wordt of hij in een pad voorkomt of niet. De hiermee gemoeide hoeveelheid werk is dus evenredig met het aantal

takken van de graaf. Stellen we dit evenredig met 2

n ({hI ,h

2,·· hn} x{xI ,x 2 '·· xn}) en voorts IMma) = n dan is de hoeveelheid werk die moet gebeuren evenredig met

(34)

4. STERKE COMPONENTEN IN EEN GERICHTE GRAAF

4. I. Begrippen

Door het bepalen van een matching in de graaf is de graaf gericht volgens

fig.4.1. De takken in de matching zijn gericht van

x

naar h. De andere

takken van h naar x.

~M EM

h '~-+-~,x x - - + - - h

fig.4.1. Richting van de takken in de bipartite graaf.

Beschouw nu weer het model van de graaf dat in fig.3.I.a is weergegeven. We constateren dat een element van de matching een rij aan een kolom koppelt. Rijen en kolommen die niet incident zijn met de matching (de matching hoeft niet het hele systeem te bevatten) blijven nu buiten beschouwing.

Definieer een gericht pad als voIgt: Een gericht pad is een aaneenge-slaten sequentie van takken waarvan de 'pijlen in voorwaartse richting wijzen'. Repetitie van knooppunten is toegestaan zodat het gerichte pad een Ius kan zijn.

In fig.4.2 is een voorbeeld gegeven van een graaf waarin de matching omcirkeld is. Twee gerichte paden illustreren de definitie.

Xl

x2 x3 x4 hI

'1

h2

1-<-0

h3

1-+-0 .) 1

h4

cb

--

"'"

> ius pad I • ) I ) pad 2

fig.4.2. Incidentie matrix met twee voorbeelden van een pad.

Definieer een sterke (sub)graaf als voigt:

Een (sub)graaf is sterk als elk paar knooppunten elkaar wederzijds via een gericht pad kan bereiken.

Door deze twee definities zijn we in staat een sterke component in een graaf als voIgt te definieren:

(35)

Een element van de matching dat niet in een lus voorkomt, bepaalt oak

een sterke component [16J. Bet is gemakkelijk in te zien dat een sterke component vierkant is. Dat wil zeggen dat hij evenveel rij-knooppunten (hi) als kolom-knooppunten (x.) bevat. Fig.4.3 illustreert dit.

1 1 1 1- - - --1- +--1 I I : 1 1 I 1

: [Q

:

1 :lITJ

:

@---!

~-.,.-; h7 1 1 h8 1 1

o

fig.4.3. Incidentie matrix met sterke componenten.

De sterke componenten zijn genummerd de sterke componenten gelegen gebied

(C.). Essentieel is dat in het onder

~

(gemerkt met 0) geen entries meer

staan. Veronderstel dat aan dit laatste niet voldaan is en dat

*

als een

entry fungeert, dan bestaat er in dit geval het volgende gerichte pad:

_k---~

.... ) ) ) ):>'.

x 7 h2 x3 h6 x 7

Dit gerichte pad is een Ius. We zien dat er een gericht pad is van x3 naar x

7 en omgekeerd. Dit betekent dus dat x3 en x7 in dezelfde sterke component

moe ten liggen. De veronderstelling is echter anders dus kan

*

geen entry

zijn. Algemeen:

Stel dat we in fig.4.4 van C, via een gericht pad naar C, kunnen gaan.

~ J

Er zijn twee mogelijkheden. Subgraaf B .. is leeg of niet leeg.

! J1

b

r---rzl

:j~

I : I I I I I I I

h

I I

L:J~~~I~~J

(36)

Indien 1eeg: er is geen gericht pad van C. naar C., dus beide componenten

J 1

liggen niet samen in een grate component. Als B .. niet 1eeg is, dan is er

J1

een gericht pad van C. naar

J C. en is er een gericht pad: C. - C. - C. : ius. ~ ~ J 1

Dit impliceert dat C. en C.

1 J samen in een sterke component liggen. Als de

sterke componenten geordend worden als in fig.4.3 dan is in de onderdriehoeks-ruimte bij elke combinatie C. en C. de bijbehorende subgraaf B .. leeg.

1 J J1

Hieruit voigt dat de hele onderdriehoek leeg is. Veronderstel twee sterke componenten C

i en Cj in fig.4.4. De subgraaf Bji

is 1eeg. Er kunnen nu twee situaties bestaan: 1. Er bestaat geen pad van C

i naar Cj en daarmee geen ordeningsrelatie

tussen C, en C .•

1 J

2. Er is een pad van C, naar C" daarom moet, omdat we de onderdriehoek

1 J

leeg willen houden. de volgorde van de componenten zijn: C

J' - C i (zoals in fig.4.4).

Interpreteer een sequentie van knooppunten zoals in fig.4.3 als voigt: h

7,hB-->x1,x2

h6-tx3

hS

Of wei: voordat het vergelijkingsstelsel C. kan worden opgelost, moeten eerst

1

(ten minste) bekend zijn.

de variabelen die gekoppeld zijn aan de sterke component C,

J

Deze worden bepaald door het oplossen van het stelsel verge-lijkingen gekoppeld

sterke componenten.

aan C .. Er zit dus een volgorde-relatie tussen de

J

Deze relatie be staat niet als er geen pad loopt van C. naar C. (disjunctie van sterke componenten).

1 J

4.2. Het algoritme voor het vinden van sterke componenten

Het algoritme dat de sterke componenten bepaalt, onderzoekt via

Depth First Search (DFS) [7J aile takken van de graaf slechts

een

maal.

Het is dus een lineair met de dimensie van de graaf werkend algoritme. Een DFS bepaalt een boomstructuur als in fig.4.S. Vanuit een startknooppunt h gaan we takken toevoegen die als kenmerk hebben dat ze een nieuw

start

knooppunt toevoegen. Een mogelijke DFS volgorde is in fig.4.5 door nummering aangegeven.

(37)

I .,-/ \ 5 \ h I 4 I , \ 3 \ h \2 subboom IX ----t 1 ...

,

/--"

)( \ Ix x\ \

,

\

,

Fig.4.5. I 11 , \ h ' I 10 , \ \ 9' , 15 6 \ ,3 \ 8

t--

subboom \ 7 , J ~/

Boom voar een DFS

Bij het bouwen van de boom gebeurt het volgende:

Vanuit een knooppunt xi wordt altijd het matching element xi----h i toegevoegd.

MA (x. )

~

Vanuit een knooppunt a. Er is nag een tak

h. zijn er in het algemeen diverse mogelijkheden:

~

h;----xk met x

k nieuw in de boom. b. Er is geen tak hi----X

k meer; stap terug in de boom.

c. V~~r de nog niet opgenomen tak hr----xk geldt dat x

k ligt in het

pad hs.'t~a~r~t--- ... ~k (dus h;----xk wijst achterwaarts). d. Voor de nog

van h. naar

1.

niet opgenomen tak hr----xk geldt dat x

k ligt in een pad

een blad van de boom (dus hi'---'~ wijst voorwaarts in de

subboom waarin h. ligt).

1.

e. V~~r de nog niet opgenomen tak h;----~ geldt dat ~ in een andere

subboom ligt dan h. (cross link).

1.

Deze mogelijkheden a tim e worden geillustreerd in fig.4.6. De volgorde

waarin de takken geexploreerd zijn is met cijfers aangegeven.

(b) (b) 7 (a) 6 11 2 (e)/ / ' 9 / /10 ) / / / ' h start 12 \

I

r

I (d)

1

13

Fig.4.6. Mogelijke gevallen die bij

de DFS voor kunnen komen.

Tijdens de DFS worden de knooppunten die in de boom komen genummerd. Er worden twee nummers toegekend: (number) en [name].

(38)

Een nieuw knooppunt (geval a) krijgt zijn nummers als voigt:

i

=

i + 1

(number) i

[name]

=

i (i geeft in feite de vind-volgorde van de knooppunten) .

In geval b hoeven geen nummers te worden toegekend. We zien nu dat in geval c geldt: number (x

k) < In fig.4.6 is te zien dat er

number (h.).

1

een Ius gevormd is. Nu gaat er iets gebeuren met [name]. Dit getal gaat straks fungeren als naam voor een sterke

component. AIle knooppunten van een sterke component moeten na afloop van het algoritme dezelfde [name] hebben. Bovendien moet van elke sterke component de [name] uniek zijn.

In fig.4.7 is de betreffende Ius apart weergegeven.

x

2(k+3l [k+3l: [kl

fig.4.7. Een sterke component in

een DFS boom.

Nu krijgt x

2 de [name] van hI (knooppunt waar het c type tak x20 , Oh1

naartoe wijst). Er is dus nu een knooppunt met [name] < (number). Dit

houdt in dat het betreffende knooppunt in een ius voorkomt. Bij terug-stappen in de boom (er wordt met DFS gewerkt dus wordt de weg ooit terug gelopen) worden steeds elementen van de ius gepasseerd totdat we bij het

knooppunt arriveren waarvoor geldt [name]

=

(number). Onderweg is dan

steeds de [name] van het op dat moment bereikte knooppunt aangepast. Het

resultaat is dat aile knooppunten uit de ius [name]

=

k hebben.

De takken van het type d worden genegeerd. Zij zorgen voar een extra bereikbaarheid van knooppunten die hoger in dezelfde subboom liggen.

Interpreteer: als in fig.4.4 een gericht pad in de bovendriehoek is gevonden van C, naar C., dan is C, bereikbaar en wordt

1 J J

gerichte paden, eventueel in de bovendriehoek

C. gevonden. De

J

gelegen, hebben

andere dan voor het vinden van componenten geen functie meer. Als bij het teruglopen in de boom een knooppunt wordt bereikt met (number)

=

[name] dan is dat een wortel van een sterke component. Er is dan een sterke component met naam is [name] bepaald door aile knooppunten met diezelfde [name]. In een nieuwe subboom gekomen, kunnen takken van het type e (cross link) optreden. Zo'n tak wijst

(39)

van een nieuwe subboom naar een eerder gevonden subboom. Het 'van'

knooppunt heeft dus een hoger (number) dan het 'naar' knooppunt. Bij de

tak e kunnen we een 'van' sterke component en een 'naar' sterke component bedenken zodat fig.4.8 ontstaat. De 'naar' sterke component is eerder gevonden dan de 'van' sterke component, dus deze volgorde-relatie is correct verdisconteerd.

type e Fig.4.B. Illustratie van een cross link.

Als de hele boom weer is afgebroken omdat alle gelokaliseerde componenten

zijn afgevoerd, zijn er twee mogelijkheden:

1. De totale graaf is uitgeput.

2.

Er zijn nog knooppunten die niet in een sterke component zitten.

In het eerste geval zijn we klaar. Het algoritme stopt.

In het tweede geval kiest het algoritme een nieuw startknooppunt uit de nog beschikbare verzameling. Uiteindelijk valt te constateren dat de

graaf is uitgeput.

4.3. Matching en decompositie van het tableau. Tails.

Het matching algoritme produceert een maximale matching in het tableau. Als deze matching alle rijen (en dus ook alle kolommen) van het tableau

omvat, zeggen we dat de matching compleet is.

Als de matching niet compleet is, worden de rijen en kolommen die niet in

de matching zijn opgenomen, niet in het decompositie-proces opgenomen. Na decompositie ontstaat dan het beeld van fig.4.9.

v-tai 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

C

1 1 1 1

I

1

~

C 2 1 3 1 H-tail

Fig.4.9. Incidentie matrix met een

(40)

De doors ned en van de rijen en kolommen die niet door de matching 'bedekt' worden, met de gevonden sterke componenten bepalen samen met de betref-fende sterke componenten een horizontale en een verticale 'tail', zoals fig.4.9 illustreert. Dit betekent dat een tail een subgraaf is waarin het aantal vergelijkingen niet gelijk is aan het aantal onbekenden. Het bestaan van tails staat de oplosbaarheid van het antwerp in de weg. Tails verschaffen informatie over welke clusters van vergelijkingen en grootheden gezamenlijk de onoplosbaarheid veroorzaken. De aanwezigheid van tails kan worden bestreden door herformulering van de ontwerpeisen of verandering van de schakeling. Zodra een complete matching kan worden gevonden, bestaan er geen tails meer en is het totale systeem oplosbaar.

(41)

5. ESSENTIELE VARIABELEN

5.1. Inleiding

Een set essentiele variabelen van een sterke component is een verzameling van variabelen die voldoet aan de volgende voorwaarde:

In eike Ius in de sterke component komt minstens

een

knooppunt voar dat gekoppeld is aan een essentiele variabele (zie hoofdstuk 4.1).

De essentiele variabelen zijn de variabelen x . . . x + in fig.S.l.

n m n

Bet zoe ken naar een 20 klein mogelijke set essentiele variabelen komt

overeen met het transformeren van een sterke component naar de vorm van fig.5.1 met m zo klein mogelijk.

Voor het transformeren van een sterke component, naar de vorm van

fig.5.1, wordt gebruik gemaakt van een algoritme dat beschreven is in [IOJ. Enkele belangrijke eigenschappen van dit algoritme zijn:

I. Er wordt niet vastgehouden aan de eerder gevonden matching. Het is zelfs toegestaan dat er in de subrnatrix AI2 (fig.5.1) 0 elementen op de diagonaalplaatsen staan.

2. Binnen een bepaalde verzameling vergelijkingen kunnen eliminaties van variabelen uitgevoerd worden.

3. Er wordt niet gegarandeerd dat er een minimum set essentiele variabelen wordt gevonden (er wordt gebruik gemaakt van een heurisme). De set essentiele variabelen die wordt gevonden, is wel minimaal.

Xl

"n

xn.m fm+n~--~---~~,---1' I Al2 Fig. 5.1. I, I T -I A21 A22 ~

Structuur van een sterke component na het zoeken naar een minimale set essentiele variabelen.

Dat het is toegestaan dat er op de diagonaal van de submatrix A12 nul elementen staan, blijkt uit de oplosmethode die voor de vergelijkingen die gekoppeld zijn aan de sterke component, gebruikt wordt. Deze is als VOigt:

Referenties

GERELATEERDE DOCUMENTEN

Als alleen neuron 1 of alleen neuron 2 wordt geprikkeld, wordt de drempelwaarde in neuron b en neuron c niet bereikt en ontstaan daar geen impulsen. Er zijn namelijk te weinig

college betaalt voor een dienst moet het ten minste mogelijk maken dat een aanbieder kan voldoen aan de door de gemeenteraad gestelde eisen aan de kwaliteit en deskundigheid

De uitwerkingen van de opgaven dienen duidelijk geformuleerd en overzichtelijk opgeschreven te worden.. Het gebruik van een niet-programmeerbare rekenmachine

We berekenen de determinanten door de matrices op rijtrapvorm te brengen en de elementen op de diagonaal te vermenigvuldigen. Geef, als mogelijk, een basistransformatie naar een

(iv) Stel, een boodschap van 1000 0en en 1000 1en gaat niet slechts ´e´en keer, maar drie keer over de verbinding voordat de ontvanger hem leest (dus A → B → A → B)?. Zal de

To make a synchronous &#34;down&#34; counter, we need to build the circuit to recognize the appropriate bit patterns predicting each toggle state while counting down.

De oplossingsverzameling van een stelsel lineaire

Een verzameling van twee vectoren { v 1 , v 2 } is lineair afhankelijk dan en slechts dan als tenminste ´ e´ en vector een veelvoud is van de andere.. De verzameling is