CS453 INTRODUCTION TO DATAFLOW ANALYSIS
|
|
- Nathan Hicks
- 5 years ago
- Views:
Transcription
1 CS453 INTRODUCTION TO DATAFLOW ANALYSIS CS453 Leture Register llotion using liveness nlysis 1 Introdution to Dt-flow nlysis Lst Time Register llotion for expression trees nd lol nd prm vrs Tody Register llotion in GCC nd LLVM Control flow grphs 3-ddress ode Register llotion using liveness nlysis Reding for this week Ch 8 in online book These slides dpted from Clvin Lin nd E. Christopher Lewis. CS453 Leture Register llotion using liveness nlysis 2
2 Introdution to Dt-flow nlysis Previous leture: Register llotion for expression trees minimizing the register use. r1 r1 r2 r1 r2 r2 r3 r1 r2 r3 r4 To generte better ode (e.g. use fewer registers) we need to nlyze our progrms better 3-ddress ode Control flow nlysis nd ontrol flow grphs to determine dynmi hrteristis of the progrm Register llotion using liveness (live: still needed) nlysis CS453 Leture Register llotion using liveness nlysis 3 A Low-Level IR: 3-ddress ode We wnt to do nlysis on n Intermedite Representtion: 3-ddress ode Liner representtion: ssignments, lbels, (onditionl) jumps Typilly lnguge-independent nd nerly orresponds to mhine instrutions, differene: no stk ode, but (temporry) vribles There re nmed vribles (prmeters, vribles) nd temporries (expressions). We n nme the temporries ssuming unbounded number of (symboli) registers. Exmple opertions (Indexed) opy x = y[i], y[i] = x, x = z, t1 = t2 Unry / binry op x = op z, x = v op z, t1 = t2 op t3 Address of p = & v Dereferene x = *p, *p = x Pss prm prm t0 Cll t1 = ll f, 1 (onditinl) Brnh goto L1, if t1 goto L1 CS453 Leture Intermedite Representtions 4
3 Register Allotion in GCC nd LLVM Comprison between GCC nd LLVM Both used in ompiler reserh. GCC sine 1987, LLVM sine LLVM hs BSD-like liense nd GCC hs GPL liense. Both hve 3-ddress ode bsed IR (LLVM hs LLVM, GCC hs GIMPLE). Both rete stti single ssignment representtion for their 3-ddress ode intermedite representtion. GCC Register Allotion Lower GIMPLE into RTL (Register trnsfer lnguge) Regionl register llotor bsed on Chitin-Briggs (oloring pproh to register llotion tht is bsed on onept of live rnges) LLVM Register Allotion Fst (inside single bsi blok), Bsi, Greedy, PBQP All but Fst bsed on live rnges Show nd CS453 Leture Register llotion using liveness nlysis 5 Dt-flow Anlysis Ide Dt-flow nlysis derives informtion bout the dynmi behvior of progrm by only exmining the stti ode Exmple How mny registers do we need for the progrm on the right? Esy bound: the number of vribles used + expr temp (4) Better nswer is found by onsidering the dynmi requirements of the progrm 1 := 0 2 L1: b := := + b 4 := b * 2 5 if < 9 goto L1 6 return CS453 Leture Register llotion using liveness nlysis 6
4 Liveness Anlysis Definition A vrible is live t prtiulr point in the progrm if its vlue t tht point will be used in the future (ded, otherwise). To ompute liveness t given point, we need to look into the future Motivtion: Register Allotion A progrm ontins n unbounded number of vribles Must exeute on mhine with bounded number of registers Two vribles n use the sme register if they re never in use t the sme time (i.e, never simultneously live). Register llotion uses liveness informtion CS453 Leture Register llotion using liveness nlysis 7 Control Flow Grphs (CFGs) Definition A CFG is grph whose nodes represent progrm sttements nd whose direted edges represent ontrol flow Exmple 1 = 0 1 := 0 2 L1: b := := + b 4 := b * 2 5 if < 9 goto L1 6 return 6 return No b = + 1 = + b 4 = b * 2 <9 Yes CS453 Leture Register llotion using liveness nlysis 8
5 Terminology Flow Grph Terms A CFG node hs out-edges tht led to suessor nodes nd in-edges tht ome from predeessor nodes pred[n] is the set of ll predeessors of node n 1 su[n] is the set of ll suessors of node n = 0 Exmples Out-edges of node 5: su[5] = {2,6} pred[5] = {4} pred[2] = {1,5} (5 6) nd (5 2) b = + 1 = + b 4 = b * 2 <9 6 return No Yes CS453 Leture Register llotion using liveness nlysis 9 Liveness by Exmple Wht is the live rnge of b? Vrible b is red in sttement 4, so b is live on the (3 4) edge Sine sttement 3 does not ssign into b, b is lso live on the (2 3) edge Sttement 2 ssigns b, so ny vlue of b on the (1 2) nd (5 2) edges re not needed, so b is ded long these edges b s live rnge is (2 3 4) 6 return = 0 b = = b * 2 5 No = + b <9 Yes CS453 Leture Register llotion using liveness nlysis 10
6 Liveness by Exmple (ont) Live rnge of is live from (1 2) nd gin from (4 5 2) is ded from (2 3 4) 1 2 = 0 b = + 1 Live rnge of b b is live from (2 3 4) Live rnge of is live from (entry , 5 6) 6 return 3 4 = b * 2 5 No = + b <9 Vribles nd b re never simultneously live, so they n shre register Yes CS453 Leture Register llotion using liveness nlysis 11 Uses nd Defs Def (or definition) An ssignment of vlue to vrible def_node[v] = set of CFG nodes tht define vrible v def[n] = set of vribles tht re defined t node n = 0 Use A red of vrible s vlue use_node[v] = set of CFG nodes tht use vrible v use[n] = set of vribles tht re used t node n < 9? v live def_node[v] More preise definition of liveness A vrible v is live on CFG edge if use_node[v] (1) direted pth from tht edge to use of v (node in use_node[v]), nd (2) tht pth does not go through ny def of v (no nodes in def_node[v]) CS453 Leture Register llotion using liveness nlysis 12
7 The Flow of Liveness Dt-flow Liveness of vribles is property tht flows through the edges of the CFG Diretion of Flow Liveness flows bkwrds through the CFG, beuse the behvior t future nodes determines liveness t given node Consider Consider b Other properties flow forwrd 1 := b := + 1 := + b := b * 2 No 6 return < 9? Yes CS453 Leture Register llotion using liveness nlysis 13 Liveness t Nodes We hve liveness on edges How do we tlk bout liveness t nodes? = 0 edges progrm points just before omputtion just fter omputtion Two More Definitions A vrible is live-out t node if it is live on ny of tht node s out-edges n live-out out-edges A vrible is live-in t node if it is live on ny of tht node s in-edges n live-in in-edges CS453 Leture Register llotion using liveness nlysis 14
8 Computing Liveness Rules for omputing liveness (1) Generte liveness: If vrible is in use[n], it is live-in t node n Dt-flow equtions n live-in use (2) Push liveness ross edges: If vrible is live-in t node n then it is live-out t ll nodes in pred[n] live-out (3) Push liveness ross nodes: If vrible is live-out t node n nd not in def[n] then the vrible is lso live-in t n live-out n live-in n live-out live-in live-out pred[n] (1) in[n] = use[n] (out[n] def[n]) (3) out[n] = in[s] s su[n] (2) CS453 Leture Register llotion using liveness nlysis 15 Solving the Dt-flow Equtions Algorithm for eh node n in CFG in[n] = ; out[n] = repet for eh node n in CFG in [n] = in[n] out [n] = out[n] in[n] = use[n] (out[n] def[n]) out[n] = in[s] s su[n] until in [n]=in[n] nd out [n]=out[n] for ll n initilize solutions sve urrent results solve dt-flow equtions test for onvergene This is itertive dt-flow nlysis (for liveness nlysis) CS453 Leture Register llotion using liveness nlysis 16
9 Exmple node # 1 2 b 3 b 5 1st 2nd 3rd 4th 5th 6th 7th use def in out in out in out in out in out in out in out 4 b 6 b b b b b b b b b b b b b b b b b b b b b b b b b b 1 := 0 2 b := := + b 4 := b * 2 Dt-flow Equtions for Liveness in[n] = use[n] (out[n] def[n]) out[n] = in[s] s su[n] No 6 return 5 < 9? Yes CS453 Leture Register llotion using liveness nlysis 17 Liveness Anlysis in the MeggyJv ompiler Currently Prse into AST Allote spe on stk for lols nd prmeters nd spe in hep for member vribles Use stk for expression evlution Generte AVR ode from AST To perform dt-flow nlysis Need intermedite representtion like 3-ddress ode Use temporries/symboli registers for expression results Indite uses nd defs of temporries nd lols nd prmeters in eh 3- ddress ode instrution Crete ontrol-flow grph with eh 3-ddress ode instrution s node CS453 Leture Register llotion using liveness nlysis 18
10 A Low-Level IR: 3-ddress ode 3-ddress ode Liner representtion Typilly lnguge-independent nd nerly orresponds to mhine instrutions Eh vr is ssumed to hve bse + offset Assumes infinite temps (t#), or symboli registers, re vilble Exmple opertions Copy x = z, t1 = t2 Indexed opy x = y[i], y[i] = x, t1 = y[i] Unry op x = op z Binry op x = v op z, t1 = t2 op t3 Address of p = & v Lod x = *p Store *p = x, Pss prm prm t0 Cll t1 = ll f, 1 Brnh goto L1 Cbrnh if (x==y) goto L1 CS453 Leture Intermedite Representtions 19 Expression Exmple CS453 Leture Register llotion using liveness nlysis 20
11 Another MeggyJv Exmple int ; int b; int ; int d; int e; int [] v; int [] z; Foo r; = b + + (d+e); v[i] = z[i] * 3 + v.length; r.br(42); CS453 Leture Register llotion using liveness nlysis 21 MeggyJv Loop Exmple int ; int b; = 1; b = 0; while (<7) { = + 1; b = b + 3; } Meggy.setPixel((byte), (byte) b, Meggy.BLUE); CS453 Leture Register llotion using liveness nlysis 22
12 Register Allotion Problem Assign n unbounded number of symboli registers, or temporries, to fixed number of rhiteturl registers Simultneously live dt must be ssigned to different rhiteturl registers Gol Minimize overhed of essing dt Memory opertions (lods & stores) Register moves CS453 Leture Register llotion using liveness nlysis 23 Sope of Register Allotion Expression Lol Loop Globl Interproedurl CS453 Leture Register llotion using liveness nlysis 24
13 Grnulrity of Allotion Wht is lloted to registers? Vribles Live rnges/webs (i.e., du-hins with ommon uses) Vlues (i.e., definitions; sme s vribles with SSA) s 1 : x := 5 b 2 s 2 : y := x b 3 s 3 : x := y+1 b 4 b 1 s 6 :... x... s 4 :... x... s 5 : x := 3 Vribles: 2 (x & y) Live Rnges/Web: 3 (s 1 s 2,s 4 ; s 2 s 3 ; s 3,s 5 s 6 ) Vlues: 4 (s 1, s 2, s 3, s 5, φ (s 3,s 5 )) CS453 Leture Register llotion using liveness nlysis 25 Globl Register Allotion by Grph Coloring Ide [Coke 71], First llotor [Chitin 81] 1. Construt interferene grph G=(N,E) Represents notion of simultneously live Nodes re units of llotion (e.g., vribles, live rnges, vlues) edge (n 1,n 2 ) E if n 1 nd n 2 re simultneously live Symmetri (not reflexive nor trnsitive) 2. Find k-oloring of G (for k registers) Adjent nodes n t hve sme olor 3. Allote the sme register to ll llotion units of the sme olor Adjent nodes must be lloted to distint registers t2 t1 t3 CS453 Leture Register llotion using liveness nlysis 26
14 Interferene Grph Exmple (Vribles) :=... b :=... := d :=... := :=... e b e := e b... :=... d CS453 Leture Register llotion using liveness nlysis 27 Computing the Interferene Grph Use results of live vrible nlysis for eh symboli-register/temporry/vr t i do for eh symboli-register/temporry/vr t j (j < i) do for eh def {definitions of t i } do if (t j is live out t def) then E E (t i,t j ) Options tret ll instrutions the sme tret MOVE instrutions speil whih is better? CS453 Leture Register llotion using liveness nlysis 28
15 Alloting Registers Using the Interferene Grph K-oloring Color grph nodes using up to k olors Adjent nodes must hve different olors Alloting to k registers finding k-oloring of the interferene grph Adjent nodes must be lloted to distint registers But... Optiml grph oloring is NP-omplete Optiml register llotion is NP-omplete, too (must pproximte) Wht if we n t k-olor grph? (must spill) CS453 Leture Register llotion using liveness nlysis 29 Register Allotion: Spilling If we n t find k-oloring of the interferene grph Spill vribles (nodes) until the grph is olorble Choosing vribles to spill Choose rbitrrily or Choose lest frequently essed vribles Brek ties by hoosing nodes with the most onflits in the interferene grph Yes, these re heuristis! CS453 Leture Register llotion using liveness nlysis 30
16 Spilling (Originl CFG nd Interferene Grph) :=... b :=... := d :=... f := f :=... e b e := f e b... :=... f d CS453 Leture Register llotion using liveness nlysis 31 Spilling (After spilling b ) f :=... :=... b :=... *(Y+4) := b := d := f :=... e b e := f e... b = *(Y+4)... b... :=... f d CS453 Leture Register llotion using liveness nlysis 32
17 Simple Greedy Algorithm for Register Allotion for eh n N do { selet n in deresing order of weight } if n n be olored then do it { reserve register for n } else Remove n (nd its edges) from grph { llote n to stk (spill) } :=... r24 :=... *(Y+4):= r24 := d :=... (After spilling b ) e := f e... r24 = *(Y+4)... r24... CS453 Leture Register llotion using liveness nlysis 33 e f d Exmple Attempt to 3-olor this grph (,, ) e f b d Weighted order: b d f e Wht if you use different order? CS453 Leture Register llotion using liveness nlysis 34
18 Exmple Attempt to 2-olor this grph (, ) Weighted order: b b CS453 Leture Register llotion using liveness nlysis 35 Conepts Liveness Used in register llotion Generting liveness Flow nd diretion Dt-flow equtions nd nlysis 3-ddress ode nd Control flow grphs Register llotion sope of llotion grnulrity: wht is being lloted to register order tht llotion units re visited in mtters in ll heuristi lgorithms Globl pproh: greedy oloring CS453 Leture Register llotion using liveness nlysis 36
19 Liveness in the MiniJv ompiler CS453 Leture Register llotion using liveness nlysis 37
CS553 Lecture Introduction to Data-flow Analysis 1
! Ide Introdution to Dt-flow nlysis!lst Time! Implementing Mrk nd Sweep GC!Tody! Control flow grphs! Liveness nlysis! Register llotion CS553 Leture Introdution to Dt-flow Anlysis 1 Dt-flow Anlysis! Dt-flow
More informationControl-Flow Analysis and Loop Detection
! Control-Flow Anlysis nd Loop Detection!Lst time! PRE!Tody! Control-flow nlysis! Loops! Identifying loops using domintors! Reducibility! Using loop identifiction to identify induction vribles CS553 Lecture
More informationPlan for Today. Concepts. Next Time. Some slides are from Calvin Lin s grad compiler slides. CS553 Lecture 2 Optimizations and LLVM 1
Plan for Today Quiz 2 How to automate the process of performance optimization LLVM: Intro to Intermediate Representation Loops as iteration spaces Data-flow Analysis Intro Control-flow graph terminology
More informationMidterm 2 Sample solution
Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the
More informationDistributed Systems Principles and Paradigms
Distriuted Systems Priniples nd Prdigms Christoph Dorn Distriuted Systems Group, Vienn University of Tehnology.dorn@infosys.tuwien..t http://www.infosys.tuwien..t/stff/dorn Slides dpted from Mrten vn Steen,
More informationCMPUT101 Introduction to Computing - Summer 2002
CMPUT Introdution to Computing - Summer 22 %XLOGLQJ&RPSXWHU&LUFXLWV Chpter 4.4 3XUSRVH We hve looked t so fr how to uild logi gtes from trnsistors. Next we will look t how to uild iruits from logi gtes,
More informationParadigm 5. Data Structure. Suffix trees. What is a suffix tree? Suffix tree. Simple applications. Simple applications. Algorithms
Prdigm. Dt Struture Known exmples: link tble, hep, Our leture: suffix tree Will involve mortize method tht will be stressed shortly in this ourse Suffix trees Wht is suffix tree? Simple pplitions History
More informationUNIT 11. Query Optimization
UNIT Query Optimiztion Contents Introduction to Query Optimiztion 2 The Optimiztion Process: An Overview 3 Optimiztion in System R 4 Optimiztion in INGRES 5 Implementing the Join Opertors Wei-Png Yng,
More informationLesson 4.4. Euler Circuits and Paths. Explore This
Lesson 4.4 Euler Ciruits nd Pths Now tht you re fmilir with some of the onepts of grphs nd the wy grphs onvey onnetions nd reltionships, it s time to egin exploring how they n e used to model mny different
More informationType Checking. Roadmap (Where are we?) Last lecture Context-sensitive analysis. This lecture Type checking. Symbol tables
Type Cheking Rodmp (Where re we?) Lst leture Contet-sensitie nlysis Motition Attriute grmmrs Ad ho Synt-direted trnsltion This leture Type heking Type systems Using synt direted trnsltion Symol tles Leil
More informationDistributed Systems Principles and Paradigms. Chapter 11: Distributed File Systems
Distriuted Systems Priniples nd Prdigms Mrten vn Steen VU Amsterdm, Dept. Computer Siene steen@s.vu.nl Chpter 11: Distriuted File Systems Version: Deemer 10, 2012 2 / 14 Distriuted File Systems Distriuted
More informationCS 241 Week 4 Tutorial Solutions
CS 4 Week 4 Tutoril Solutions Writing n Assemler, Prt & Regulr Lnguges Prt Winter 8 Assemling instrutions utomtilly. slt $d, $s, $t. Solution: $d, $s, nd $t ll fit in -it signed integers sine they re 5-it
More informationCorrecting the Dynamic Call Graph Using Control Flow Constraints
Correting the Dynmi Cll Grph Using Control Flow Constrints Byeongheol Lee Kevin Resnik Mihel Bond Kthryn MKinley 1 Appered in CC2007 Motivtion Complexity of lrge objet oriented progrms Deompose the progrm
More informationCS 551 Computer Graphics. Hidden Surface Elimination. Z-Buffering. Basic idea: Hidden Surface Removal
CS 55 Computer Grphis Hidden Surfe Removl Hidden Surfe Elimintion Ojet preision lgorithms: determine whih ojets re in front of others Uses the Pinter s lgorithm drw visile surfes from k (frthest) to front
More informationLanguages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) *
Pln for Tody nd Beginning Next week Interpreter nd Compiler Structure, or Softwre Architecture Overview of Progrmming Assignments The MeggyJv compiler we will e uilding. Regulr Expressions Finite Stte
More informationMinimal Memory Abstractions
Miniml Memory Astrtions (As implemented for BioWre Corp ) Nthn Sturtevnt University of Alert GAMES Group Ferury, 7 Tlk Overview Prt I: Building Astrtions Minimizing memory requirements Performnes mesures
More informationTo access your mailbox from inside your organization. For assistance, call:
2001 Ative Voie, In. All rights reserved. First edition 2001. Proteted y one or more of the following United Sttes ptents:,070,2;,3,90;,88,0;,33,102;,8,0;,81,0;,2,7;,1,0;,90,88;,01,11. Additionl U.S. nd
More informationbox Boxes and Arrows 3 true 7.59 'X' An object is drawn as a box that contains its data members, for example:
Boxes nd Arrows There re two kinds of vriles in Jv: those tht store primitive vlues nd those tht store references. Primitive vlues re vlues of type long, int, short, chr, yte, oolen, doule, nd flot. References
More informationUnit #9 : Definite Integral Properties, Fundamental Theorem of Calculus
Unit #9 : Definite Integrl Properties, Fundmentl Theorem of Clculus Gols: Identify properties of definite integrls Define odd nd even functions, nd reltionship to integrl vlues Introduce the Fundmentl
More informationCompilation Lecture 11a. Register Allocation Noam Rinetzky. Text book: Modern compiler implementation in C Andrew A.
Compilation 0368-3133 Leture 11a Text book: Modern ompiler implementation in C Andrew A. Appel Register Alloation Noam Rinetzky 1 Registers Dediated memory loations that an be aessed quikly, an have omputations
More informationSystems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits
Systems I Logic Design I Topics Digitl logic Logic gtes Simple comintionl logic circuits Simple C sttement.. C = + ; Wht pieces of hrdwre do you think you might need? Storge - for vlues,, C Computtion
More informationHomework. Context Free Languages III. Languages. Plan for today. Context Free Languages. CFLs and Regular Languages. Homework #5 (due 10/22)
Homework Context Free Lnguges III Prse Trees nd Homework #5 (due 10/22) From textbook 6.4,b 6.5b 6.9b,c 6.13 6.22 Pln for tody Context Free Lnguges Next clss of lnguges in our quest! Lnguges Recll. Wht
More informationCS201 Discussion 10 DRAWTREE + TRIES
CS201 Discussion 10 DRAWTREE + TRIES DrwTree First instinct: recursion As very generic structure, we could tckle this problem s follows: drw(): Find the root drw(root) drw(root): Write the line for the
More informationShared Memory Architectures. Programming and Synchronization. Today s Outline. Page 1. Message passing review Cosmic Cube discussion
Tody s Outline Arhitetures Progrmming nd Synhroniztion Disuss pper on Cosmi Cube (messge pssing) Messge pssing review Cosmi Cube disussion > Messge pssing mhine Shred memory model > Communition > Synhroniztion
More informationLecture 13: Graphs I: Breadth First Search
Leture 13 Grphs I: BFS 6.006 Fll 2011 Leture 13: Grphs I: Bredth First Serh Leture Overview Applitions of Grph Serh Grph Representtions Bredth-First Serh Rell: Grph G = (V, E) V = set of verties (ritrry
More informationSome Thoughts on Grad School. Undergraduate Compilers Review and Intro to MJC. Structure of a Typical Compiler. Lexing and Parsing
Undergrdute Compilers Review nd Intro to MJC Announcements Miling list is in full swing Tody Some thoughts on grd school Finish prsing Semntic nlysis Visitor pttern for bstrct syntx trees Some Thoughts
More informationINTEGRATED WORKFLOW ART DIRECTOR
ART DIRECTOR Progrm Resoures INTEGRATED WORKFLOW PROGRAM PLANNING PHASE In this workflow phse proess, you ollorte with the Progrm Mnger, the Projet Mnger, nd the Art Speilist/ Imge Led to updte the resoures
More informationCSCI 446: Artificial Intelligence
CSCI 446: Artificil Intelligence Serch Instructor: Michele Vn Dyne [These slides were creted by Dn Klein nd Pieter Abbeel for CS188 Intro to AI t UC Berkeley. All CS188 mterils re vilble t http://i.berkeley.edu.]
More informationDuality in linear interval equations
Aville online t http://ijim.sriu..ir Int. J. Industril Mthemtis Vol. 1, No. 1 (2009) 41-45 Dulity in liner intervl equtions M. Movhedin, S. Slhshour, S. Hji Ghsemi, S. Khezerloo, M. Khezerloo, S. M. Khorsny
More informationV = set of vertices (vertex / node) E = set of edges (v, w) (v, w in V)
Definitions G = (V, E) V = set of verties (vertex / noe) E = set of eges (v, w) (v, w in V) (v, w) orere => irete grph (igrph) (v, w) non-orere => unirete grph igrph: w is jent to v if there is n ege from
More informationStained Glass Design. Teaching Goals:
Stined Glss Design Time required 45-90 minutes Teching Gols: 1. Students pply grphic methods to design vrious shpes on the plne.. Students pply geometric trnsformtions of grphs of functions in order to
More informationRegister Allocation III. Interference Graph Allocators. Coalescing. Granularity of Allocation (Renumber step in Briggs) Chaitin
Register Alloation III Last time Register alloation aross funtion alls Toay Register alloation options Interferene Graph Alloators Chaitin Briggs CS553 Leture Register Alloation III 1 CS553 Leture Register
More informationToday. Search Problems. Uninformed Search Methods. Depth-First Search Breadth-First Search Uniform-Cost Search
Uninformed Serch [These slides were creted by Dn Klein nd Pieter Abbeel for CS188 Intro to AI t UC Berkeley. All CS188 mterils re vilble t http://i.berkeley.edu.] Tody Serch Problems Uninformed Serch Methods
More informationExam #1 for Computer Simulation Spring 2005
Exm # for Computer Simultion Spring 005 >>> SOLUTION
More information10.2 Graph Terminology and Special Types of Graphs
10.2 Grph Terminology n Speil Types of Grphs Definition 1. Two verties u n v in n unirete grph G re lle jent (or neighors) in G iff u n v re enpoints of n ege e of G. Suh n ege e is lle inient with the
More information6.045J/18.400J: Automata, Computability and Complexity. Quiz 2: Solutions. Please write your name in the upper corner of each page.
6045J/18400J: Automt, Computbility nd Complexity Mrh 30, 2005 Quiz 2: Solutions Prof Nny Lynh Vinod Vikuntnthn Plese write your nme in the upper orner of eh pge Problem Sore 1 2 3 4 5 6 Totl Q2-1 Problem
More informationDynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012
Dynmic Progrmming Andres Klppenecker [prtilly bsed on slides by Prof. Welch] 1 Dynmic Progrmming Optiml substructure An optiml solution to the problem contins within it optiml solutions to subproblems.
More informationFrom Dependencies to Evaluation Strategies
From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute
More informationInternet Routing. IP Packet Format. IP Fragmentation & Reassembly. Principles of Internet Routing. Computer Networks 9/29/2014.
omputer Networks 9/29/2014 IP Pket Formt Internet Routing Ki Shen IP protool version numer heder length (words) for qulity of servie mx numer remining hops (deremented t eh router) upper lyer protool to
More informationCMSC 331 First Midterm Exam
0 00/ 1 20/ 2 05/ 3 15/ 4 15/ 5 15/ 6 20/ 7 30/ 8 30/ 150/ 331 First Midterm Exm 7 October 2003 CMC 331 First Midterm Exm Nme: mple Answers tudent ID#: You will hve seventy-five (75) minutes to complete
More informationCompilers. Topic 4. The Symbol Table and Block Structure PART II. Mick O Donnell: Alfonso Ortega:
Compilers Topi 4 The ol Tle nd Blok Struture PART II Mik O Donnell: mihel.odonnell@um.es Alfonso Orteg: lfonso.orteg@um.es Topi 2: Blok Struture 2 1 ol tles with lok strutures Blok Struture Progrmming
More informationData sharing in OpenMP
Dt shring in OpenMP Polo Burgio polo.burgio@unimore.it Outline Expressing prllelism Understnding prllel threds Memory Dt mngement Dt cluses Synchroniztion Brriers, locks, criticl sections Work prtitioning
More informationRegister Allocation III. Interference Graph Allocators. Computing the Interference Graph (in MiniJava compiler)
Register Alloation III Announements Reommen have interferene graph onstrution working by Monay Last leture Register alloation aross funtion alls Toay Register alloation options Interferene Graph Alloators
More informationECE 468/573 Midterm 1 September 28, 2012
ECE 468/573 Midterm 1 September 28, 2012 Nme:! Purdue emil:! Plese sign the following: I ffirm tht the nswers given on this test re mine nd mine lone. I did not receive help from ny person or mteril (other
More informationFall 2018 Midterm 2 November 15, 2018
Nme: 15-112 Fll 2018 Midterm 2 November 15, 2018 Andrew ID: Recittion Section: ˆ You my not use ny books, notes, extr pper, or electronic devices during this exm. There should be nothing on your desk or
More informationIntroduction to Algebra
INTRODUCTORY ALGEBRA Mini-Leture 1.1 Introdution to Alger Evlute lgeri expressions y sustitution. Trnslte phrses to lgeri expressions. 1. Evlute the expressions when =, =, nd = 6. ) d) 5 10. Trnslte eh
More information10/9/2012. Operator is an operation performed over data at runtime. Arithmetic, Logical, Comparison, Assignment, Etc. Operators have precedence
/9/22 P f Performing i Si Simple l Clcultions C l l ti with ith C#. Opertors in C# nd Opertor Precedence 2. Arithmetic Opertors 3. Logicl Opertors 4. Bitwise Opertors 5. Comprison Opertors 6. Assignment
More informationUnit 5 Vocabulary. A function is a special relationship where each input has a single output.
MODULE 3 Terms Definition Picture/Exmple/Nottion 1 Function Nottion Function nottion is n efficient nd effective wy to write functions of ll types. This nottion llows you to identify the input vlue with
More informationLecture 8: Graph-theoretic problems (again)
COMP36111: Advned Algorithms I Leture 8: Grph-theoreti prolems (gin) In Prtt-Hrtmnn Room KB2.38: emil: iprtt@s.mn..uk 2017 18 Reding for this leture: Sipser: Chpter 7. A grph is pir G = (V, E), where V
More informationCS 340, Fall 2016 Sep 29th Exam 1 Note: in all questions, the special symbol ɛ (epsilon) is used to indicate the empty string.
CS 340, Fll 2016 Sep 29th Exm 1 Nme: Note: in ll questions, the speil symol ɛ (epsilon) is used to indite the empty string. Question 1. [10 points] Speify regulr expression tht genertes the lnguge over
More informationbinary trees, expression trees
COMP 250 Lecture 21 binry trees, expression trees Oct. 27, 2017 1 Binry tree: ech node hs t most two children. 2 Mximum number of nodes in binry tree? Height h (e.g. 3) 3 Mximum number of nodes in binry
More informationLINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION
Overview LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION 4.4.1.0 Due to the omplex nture of this updte, plese fmilirize yourself with these instrutions nd then ontt RGB Spetrum Tehnil
More information9 Graph Cutting Procedures
9 Grph Cutting Procedures Lst clss we begn looking t how to embed rbitrry metrics into distributions of trees, nd proved the following theorem due to Brtl (1996): Theorem 9.1 (Brtl (1996)) Given metric
More informationMath 464 Fall 2012 Notes on Marginal and Conditional Densities October 18, 2012
Mth 464 Fll 2012 Notes on Mrginl nd Conditionl Densities klin@mth.rizon.edu October 18, 2012 Mrginl densities. Suppose you hve 3 continuous rndom vribles X, Y, nd Z, with joint density f(x,y,z. The mrginl
More informationCPSC 213. Polymorphism. Introduction to Computer Systems. Readings for Next Two Lectures. Back to Procedure Calls
Redings for Next Two Lectures Text CPSC 213 Switch Sttements, Understnding Pointers - 2nd ed: 3.6.7, 3.10-1st ed: 3.6.6, 3.11 Introduction to Computer Systems Unit 1f Dynmic Control Flow Polymorphism nd
More informationAgilent G3314AA BioConfirm Software
Agilent G3314AA BioConfirm Softwre Quik Strt Guide Use this guide to instll nd get strted with the BioConfirm softwre. Wht is BioConfirm Softwre? Agilent G3314AA BioConfirm Softwre lets you onfirm the
More informationHow to Design REST API? Written Date : March 23, 2015
Visul Prdigm How Design REST API? Turil How Design REST API? Written Dte : Mrch 23, 2015 REpresenttionl Stte Trnsfer, n rchitecturl style tht cn be used in building networked pplictions, is becoming incresingly
More informationIntroduction To Files In Pascal
Why other With Files? Introduction To Files In Pscl Too much informtion to input ll t once The informtion must be persistent (RAM is voltile) Etc. In this section of notes you will lern how to red from
More informationPattern Matching. Pattern Matching. Pattern Matching. Review of Regular Expressions
Pttern Mthing Pttern Mthing Some of these leture slides hve een dpted from: lgorithms in C, Roert Sedgewik. Gol. Generlize string serhing to inompletely speified ptterns. pplitions. Test if string or its
More informationError Numbers of the Standard Function Block
A.2.2 Numers of the Stndrd Funtion Blok evlution The result of the logi opertion RLO is set if n error ours while the stndrd funtion lok is eing proessed. This llows you to rnh to your own error evlution
More informationUTMC APPLICATION NOTE UT1553B BCRT TO INTERFACE PSEUDO-DUAL-PORT RAM ARCHITECTURE INTRODUCTION ARBITRATION DETAILS DESIGN SELECTIONS
UTMC APPLICATION NOTE UT1553B BCRT TO 80186 INTERFACE INTRODUCTION The UTMC UT1553B BCRT is monolithi CMOS integrte iruit tht provies omprehensive Bus Controller n Remote Terminl funtions for MIL-STD-
More informationUnion-Find Problem. Using Arrays And Chains. A Set As A Tree. Result Of A Find Operation
Union-Find Problem Given set {,,, n} of n elements. Initilly ech element is in different set. ƒ {}, {},, {n} An intermixed sequence of union nd find opertions is performed. A union opertion combines two
More information4452 Mathematical Modeling Lecture 4: Lagrange Multipliers
Mth Modeling Lecture 4: Lgrnge Multipliers Pge 4452 Mthemticl Modeling Lecture 4: Lgrnge Multipliers Lgrnge multipliers re high powered mthemticl technique to find the mximum nd minimum of multidimensionl
More information2 Computing all Intersections of a Set of Segments Line Segment Intersection
15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design
More informationCSEP 573 Artificial Intelligence Winter 2016
CSEP 573 Artificil Intelligence Winter 2016 Luke Zettlemoyer Problem Spces nd Serch slides from Dn Klein, Sturt Russell, Andrew Moore, Dn Weld, Pieter Abbeel, Ali Frhdi Outline Agents tht Pln Ahed Serch
More informationCS 241. Fall 2017 Midterm Review Solutions. October 24, Bits and Bytes 1. 3 MIPS Assembler 6. 4 Regular Languages 7.
CS 241 Fll 2017 Midterm Review Solutions Octoer 24, 2017 Contents 1 Bits nd Bytes 1 2 MIPS Assemly Lnguge Progrmming 2 3 MIPS Assemler 6 4 Regulr Lnguges 7 5 Scnning 9 1 Bits nd Bytes 1. Give two s complement
More informationOutline CS 412/413. Function calls. Stack layout. Tiling a call. Two translations
CS 412/413 Introduction to Compilers nd Trnsltors Cornell University Andrew Myers Outline Implementing function clls Implementing functions Optimizing wy the pointer Dynmiclly-llocted structures strings
More informationDr. D.M. Akbar Hussain
Dr. D.M. Akr Hussin Lexicl Anlysis. Bsic Ide: Red the source code nd generte tokens, it is similr wht humns will do to red in; just tking on the input nd reking it down in pieces. Ech token is sequence
More informationMath 227 Problem Set V Solutions. f ds =
Mth 7 Problem Set V Solutions If is urve with prmetriztion r(t), t b, then we define the line integrl f ds b f ( r(t) ) dr dt (t) dt. Evlute the line integrl f(x,y,z)ds for () f(x,y,z) xosz, the urve with
More informationSolving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Winter 2016
Solving Prolems y Serching CS 486/686: Introduction to Artificil Intelligence Winter 2016 1 Introduction Serch ws one of the first topics studied in AI - Newell nd Simon (1961) Generl Prolem Solver Centrl
More informationCOSC 6374 Parallel Computation. Dense Matrix Operations
COSC 6374 Prllel Computtion Dense Mtrix Opertions Edgr Griel Fll Edgr Griel Prllel Computtion Edgr Griel erminology Dense Mtrix: ll elements of the mtrix ontin relevnt vlues ypilly stored s 2-D rry, (e.g.
More informationCS321 Languages and Compiler Design I. Winter 2012 Lecture 5
CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,
More information9.1 apply the distance and midpoint formulas
9.1 pply the distnce nd midpoint formuls DISTANCE FORMULA MIDPOINT FORMULA To find the midpoint between two points x, y nd x y 1 1,, we Exmple 1: Find the distnce between the two points. Then, find the
More informationCOMMON HALF YEARLY EXAMINATION DECEMBER 2018
li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net.pds.pds COMMON HALF YEARLY EXAMINATION DECEMBER 2018 STD : XI SUBJECT: COMPUTER SCIENCE
More informationMITSUBISHI ELECTRIC RESEARCH LABORATORIES Cambridge, Massachusetts. Introduction to Matroids and Applications. Srikumar Ramalingam
Cmrige, Msshusetts Introution to Mtrois n Applitions Srikumr Rmlingm MERL mm//yy Liner Alger (,0,0) (0,,0) Liner inepenene in vetors: v, v2,..., For ll non-trivil we hve s v s v n s, s2,..., s n 2v2...
More informationDigital Design. Chapter 1: Introduction. Digital Design. Copyright 2006 Frank Vahid
Chpter : Introduction Copyright 6 Why Study?. Look under the hood of computers Solid understnding --> confidence, insight, even better progrmmer when wre of hrdwre resource issues Electronic devices becoming
More informationLING/C SC/PSYC 438/538. Lecture 21 Sandiway Fong
LING/C SC/PSYC 438/538 Lecture 21 Sndiwy Fong Tody's Topics Homework 8 Review Optionl Homework 9 (mke up on Homework 7) Homework 8 Review Question1: write Prolog regulr grmmr for the following lnguge:
More informationCSc 453 Compilers and Systems Software. 6 : Top-Down Parsing I
C 45 Compilers n ystems oftwre 6 : op-down Prsing I Christin Collberg Deprtment of Computer iene University of rizon ollberg@gmil.om Copyright 2009 Christin Collberg eptember 14, 2009 1 Overview 2 Compiler
More informationSample Midterm Solutions COMS W4115 Programming Languages and Translators Monday, October 12, 2009
Deprtment of Computer cience Columbi University mple Midterm olutions COM W4115 Progrmming Lnguges nd Trnsltors Mondy, October 12, 2009 Closed book, no ids. ch question is worth 20 points. Question 5(c)
More informationHonors Thesis: Investigating the Algebraic Properties of Cayley Digraphs
Honors Thesis: Investigting the Algebri Properties of Cyley Digrphs Alexis Byers, Wittenberg University Mthemtis Deprtment April 30, 2014 This pper utilizes Grph Theory to gin insight into the lgebri struture
More informationECEN 468 Advanced Logic Design Lecture 36: RTL Optimization
ECEN 468 Advnced Logic Design Lecture 36: RTL Optimiztion ECEN 468 Lecture 36 RTL Design Optimiztions nd Trdeoffs 6.5 While creting dtpth during RTL design, there re severl optimiztions nd trdeoffs, involving
More informationcisc1110 fall 2010 lecture VI.2 call by value function parameters another call by value example:
cisc1110 fll 2010 lecture VI.2 cll y vlue function prmeters more on functions more on cll y vlue nd cll y reference pssing strings to functions returning strings from functions vrile scope glol vriles
More informationVery sad code. Abstraction, List, & Cons. CS61A Lecture 7. Happier Code. Goals. Constructors. Constructors 6/29/2011. Selectors.
6/9/ Abstrction, List, & Cons CS6A Lecture 7-6-9 Colleen Lewis Very sd code (define (totl hnd) (if (empty? hnd) (+ (butlst (lst hnd)) (totl (butlst hnd))))) STk> (totl (h c d)) 7 STk> (totl (h ks d)) ;;;EEEK!
More informationAgilent Mass Hunter Software
Agilent Mss Hunter Softwre Quick Strt Guide Use this guide to get strted with the Mss Hunter softwre. Wht is Mss Hunter Softwre? Mss Hunter is n integrl prt of Agilent TOF softwre (version A.02.00). Mss
More informationpdfapilot Server 2 Manual
pdfpilot Server 2 Mnul 2011 by clls softwre gmbh Schönhuser Allee 6/7 D 10119 Berlin Germny info@cllssoftwre.com www.cllssoftwre.com Mnul clls pdfpilot Server 2 Pge 2 clls pdfpilot Server 2 Mnul Lst modified:
More informationConstrained Optimization. February 29
Constrined Optimiztion Februry 9 Generl Problem min f( ) ( NLP) s.. t g ( ) i E i g ( ) i I i Modeling nd Constrints Adding constrints let s us model fr more richer set of problems. For our purpose we
More informationRepresentation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation
Representtion of Numbers Number Representtion Computer represent ll numbers, other thn integers nd some frctions with imprecision. Numbers re stored in some pproximtion which cn be represented by fixed
More informationLecture Overview. Knowledge-based systems in Bioinformatics, 1MB602. Procedural abstraction. The sum procedure. Integration as a procedure
Lecture Overview Knowledge-bsed systems in Bioinformtics, MB6 Scheme lecture Procedurl bstrction Higher order procedures Procedures s rguments Procedures s returned vlues Locl vribles Dt bstrction Compound
More informationMATH 25 CLASS 5 NOTES, SEP
MATH 25 CLASS 5 NOTES, SEP 30 2011 Contents 1. A brief diversion: reltively prime numbers 1 2. Lest common multiples 3 3. Finding ll solutions to x + by = c 4 Quick links to definitions/theorems Euclid
More informationComplete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li
2nd Interntionl Conference on Electronic & Mechnicl Engineering nd Informtion Technology (EMEIT-212) Complete Coverge Pth Plnning of Mobile Robot Bsed on Dynmic Progrmming Algorithm Peng Zhou, Zhong-min
More informationSpring 2018 Midterm Exam 1 March 1, You may not use any books, notes, or electronic devices during this exam.
15-112 Spring 2018 Midterm Exm 1 Mrch 1, 2018 Nme: Andrew ID: Recittion Section: You my not use ny books, notes, or electronic devices during this exm. You my not sk questions bout the exm except for lnguge
More informationAnnouncements. CS 188: Artificial Intelligence Fall Recap: Search. Today. General Tree Search. Uniform Cost. Lecture 3: A* Search 9/4/2007
CS 88: Artificil Intelligence Fll 2007 Lecture : A* Serch 9/4/2007 Dn Klein UC Berkeley Mny slides over the course dpted from either Sturt Russell or Andrew Moore Announcements Sections: New section 06:
More informationMIPS I/O and Interrupt
MIPS I/O nd Interrupt Review Floting point instructions re crried out on seprte chip clled coprocessor 1 You hve to move dt to/from coprocessor 1 to do most common opertions such s printing, clling functions,
More informationStack. A list whose end points are pointed by top and bottom
4. Stck Stck A list whose end points re pointed by top nd bottom Insertion nd deletion tke plce t the top (cf: Wht is the difference between Stck nd Arry?) Bottom is constnt, but top grows nd shrinks!
More informationGENG2140 Modelling and Computer Analysis for Engineers
GENG4 Moelling n Computer Anlysis or Engineers Letures 9 & : Gussin qurture Crete y Grn Romn Joles, PhD Shool o Mehnil Engineering, UWA GENG4 Content Deinition o Gussin qurture Computtion o weights n points
More informationData Flow Analysis. Suman Jana. Adopted From U Penn CIS 570: Modern Programming Language Implementa=on (Autumn 2006)
Data Flow Analysis Suman Jana Adopted From U Penn CIS 570: Modern Programming Language Implementa=on (Autumn 2006) Data flow analysis Derives informa=on about the dynamic behavior of a program by only
More informationChapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.
Chpter 9 Greey Tehnique Copyright 2007 Person Aison-Wesley. All rights reserve. Greey Tehnique Construts solution to n optimiztion prolem piee y piee through sequene of hoies tht re: fesile lolly optiml
More information12/9/14. CS151 Fall 20124Lecture (almost there) 12/6. Graphs. Seven Bridges of Königsberg. Leonard Euler
CS5 Fll 04Leture (lmost there) /6 Seven Bridges of Königserg Grphs Prof. Tny Berger-Wolf Leonrd Euler 707-783 Is it possile to wlk with route tht rosses eh ridge e Seven Bridges of Königserg Forget unimportnt
More informationCSCI1950 Z Computa4onal Methods for Biology Lecture 2. Ben Raphael January 26, hhp://cs.brown.edu/courses/csci1950 z/ Outline
CSCI1950 Z Comput4onl Methods for Biology Lecture 2 Ben Rphel Jnury 26, 2009 hhp://cs.brown.edu/courses/csci1950 z/ Outline Review of trees. Coun4ng fetures. Chrcter bsed phylogeny Mximum prsimony Mximum
More informationCompression Outline :Algorithms in the Real World. Lempel-Ziv Algorithms. LZ77: Sliding Window Lempel-Ziv
Compression Outline 15-853:Algorithms in the Rel World Dt Compression III Introduction: Lossy vs. Lossless, Benchmrks, Informtion Theory: Entropy, etc. Proility Coding: Huffmn + Arithmetic Coding Applictions
More information