Attack Synthesis for Strings using Meta-heuristics
|
|
- Tamsyn Mitchell
- 5 years ago
- Views:
Transcription
1 Attack Synthesis for Strings using Meta-heuristics JPF Workshop 2018 Seemanta Saha*, Ismet Burak Kadron*, William Eiers*, Lucas Bang+, Tevfik Bultan* * University of California Santa Barbara + Harvey Mudd College
2 Software Side-Channel Attack 2
3 Software Side-Channel Attack input program Output 3
4 Software Side-Channel Attack Public input Secret input program Output 4
5 Software Side-Channel Attack Public input Secret input program Output observations 5
6 Software Side-Channel Attack Public input Secret input program Output (main-channel) observations (side-channel) 6
7 Timing Side-Channel Attack Public input Secret input program Output (main-channel) Distinguishable execution times (timing side-channel) 7
8 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) { Public input (l) for (int i = 0; i < h.length(); i++) { Secret input (h) if (h[i]!= l[i]) return false false/true } return true } distinguishable execution time 8
9 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) { Public input (l) for (int i = 0; i < h.length(); i++) { Secret input (h) if (h[i]!= l[i]) return false false/true } return true } distinguishable execution time Let s consider one loop iteration takes 1 millisecond 9
10 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = XXXXXXXXXX h = PATHFINDER { false } return true } Execution time = 5 milliseconds 10
11 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = MATHFINDER h = PATHFINDER { false } return true } Execution time = 5 milliseconds 11
12 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PXXXXXXXXX h = PATHFINDER { false } return true } Execution time = 6 milliseconds 12
13 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PAXXXXXXXX h = PATHFINDER { false } return true } Execution time = 7 milliseconds 13
14 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PATXXXXXXX h = PATHFINDER { false } return true } Execution time = 8 milliseconds 14
15 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PATHXXXXXX h = PATHFINDER { false } return true } Execution time = 9 milliseconds 15
16 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PATHFINDER h = PATHFINDER { true } return true } Execution time = 15 milliseconds 16
17 Timing Side-channel in Password Checking Function known as segment attack vulnerability: attacker reveals the secret input segment (character) by segment (character) 17
18 Timing Side-channel in Password Checking Function known as segment attack vulnerability: attacker reveals the secret input segment (character) by segment (character) this vulnerability was present in Google KeyCzar library 18
19 Timing Side-channel in Password Checking Function known as segment attack vulnerability attacker reveals the secret input segment (character) by segment (character) this vulnerability was present in Google KeyCzar library, OpenID, etc. 19
20 Attack Synthesis Overview Static Analysis Phase Attack Synthesis Phase 20
21 Attack Synthesis Overview String Function F(h, l) Static Analysis Phase Attack Synthesis Phase 21
22 Attack Synthesis Overview String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Attack Synthesis Phase 22
23 Attack Synthesis Overview String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Attack Synthesis Phase Sequence of Attack inputs 23
24 Attack Synthesis Overview Model Counting String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Attack Synthesis Phase Sequence of Attack inputs 24
25 Attack Synthesis Overview Model Counting String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Entropy Function Attack Synthesis Phase Sequence of Attack inputs 25
26 Attack Synthesis Overview Model Counting String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Entropy Function Attack Synthesis Phase Sequence of Attack inputs Meta-heuristics 26
27 Static Analysis Phase String Function F(h,l) 27
28 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) 28
29 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) Symbolic Execution (SPF) 29
30 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) Symbolic Execution (SPF) Cost Function: number of instructions executed in byte 30
31 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) Symbolic Execution (SPF) Path constraints and Cost Cost Function : number of instructions executed in byte 31
32 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) Symbolic Execution (SPF) Path constraints and Cost Merge path constraints based on indistinguishable cost Cost Function : number of instructions executed in byte 32
33 Path Constraints for Password Checking Function Length of public input (l) = 4 Length of secret input (h) = 4 33
34 Goal: Attack Synthesis 34
35 Generate Sequence of inputs revealing information about the secret value 35
36 Attack Synthesis 36
37 Attack Synthesis Unknown Secret: PATH 37
38 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model 38
39 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation 39
40 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Inferred constraint: h[0]!= l[0] Infer constraint based on observation 40
41 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Inferred constraint: h[0]!= l[0] Infer constraint based on observation Updated constraint on h: h[0]!= A 41
42 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF 42
43 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation 43
44 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation Updated constraint on h: h[0]!= A && h[0] == P && h[1]!= D Solve attack input: PAGD 44
45 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation Updated constraint on h: h[0]!= A && h[0] == P && h[1]!= D Solve attack input: PAGD Update constraints on h 45
46 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation Get next attack input attack input: PAGD Update constraints on h Updated constraint on h: h[0]!= A && h[0] == P && h[1]!= D Solve 46
47 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Sequence of attack inputs Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation Get next attack input attack input: PAGD Update constraints on h Updated constraint on h: h[0]!= A && h[0] == P && h[1]!= D Solve 47
48 Attack Synthesis Phase Input sequence revealing partial or full secret input value Initial Path Constraints Constraint Solver (ABC) Get a model Use as Attack Input Observation Update path constraints 48
49 Attack Synthesis Phase Input sequence revealing partial or full secret input value Initial Path Constraints Constraint Solver (ABC) Get a model Use as Attack Input Observation Update path constraints 49
50 Attack Synthesis Phase Input sequence revealing partial or full secret input value Initial Path Constraints Constraint Solver (ABC) Get a model Use as Attack Input Observation Update path constraints 50
51 We can automatically generate an attack using Program path constraints Observation from program execution Generating constraints from observation Updating constraints on secret value Solving constraints to get attack input We call this Model-Based Attack Synthesis (M) 51
52 We can synthesize attacks using Model-Based (M) Attack Synthesis Why do we need meta-heuristics? 52
53 String inequality Function public String inequality(string i) { if(s <= i) do something simple; // 2 seconds else do something complex; // 5 seconds return 0; } 53
54 String inequality Function public String inequality(string i) { if(s <= i) do something simple; // 2 seconds else do something complex; // 5 seconds observations return 0; } O = 1 s <= i O = 2 s > i 54
55 O = 1 s <= i S AAAA AAAB O = 2 s > i ZZZY ZZZZ 55
56 O = 1 s <= i S AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY ZZZZ Attacker s input and observation partitions domain of S 56
57 O = 1 s <= i S AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY i = MNON O = 1 AAAA AAAB ZZZZ i = ZZZZ O = 2 ZZZY ZZZZ Attacker s input and observation sequences partitions domain of S 57
58 How input and observation affects partitioning? 58
59 O = 1 s <= i AAAA AAAB O = 2 s > i MNOO MNOP ZZZY ZZZZ 59
60 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY ZZZZ 60
61 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY i = UVWA O = 2 O = 1 AAAA AAAB ZZZZ UVWB ZZZX 61
62 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY i = UVWA O = 2 O = 1 AAAA AAAB i = TAOM AAAB UVWB ZZZX O = 2 O = 1 AAAA ZZZZ TAON UVWA 62
63 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = MMMM O = 1 s <= MMMM AAAA AAAB O = 2 s > MMMM ZZZY ZZZZ 63
64 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = MMMM O = 1 s <= MMMM AAAA AAAB O = 2 s > MMMM i = FFFF O = 1 AAAA ZZZY ZZZZ i = TTTT O = 2 AAAB O = 1 O = 2 ZZZY ZZZZ 64
65 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = MMMM O = 1 s <= MMMM AAAA AAAB O = 2 s > MMMM i = FFFF O = 2 AAAB i = CCCC AAAA i = JJJJ ZZZZ i = TTTT O = 1 AAAA ZZZY O = 1 O = 2 i = QQQQ ZZZY ZZZZ i = WWWW. ZZZZ 65
66 Imbalanced partitions Worst case : number of inputs = domain size = 264 = [number of alphabets = 26, length =4] 66
67 Balanced partitions Worst case : number of inputs = log2(456976) = 18.8 [number of alphabets = 26, length =4] 67
68 Objective Function Balanced partitions Maximizes information gain 68
69 Objective Function O = 1 s <= i O = 2 s > i Maximize information gain Binary Search 69
70 Objective Function O = 1 s <= i O = 2 s > i Maximize information gain Binary Search Programs in general Maximize information gain Optimal Search 70
71 Objective Function information gain Shannon Entropy Formula 71
72 Shannon Entropy Formula What is Pj? How to calculate Pj? 72
73 73
74 O1 O2 74
75 75
76 76
77 p1 p2 p3 p4 77
78 s P(s ) 78
79 s P(s ) = 79
80 Number of secret inputs belong to this partition Domain size 80
81 Number of secret inputs consistent with partition s path constraint Domain size 81
82 Count number of models for this constraint Domain size Model Counting Problem 82
83 Automata Based Model Counting (ABC) 83
84 Automata Based Model Counting (ABC) Count the number of strings consistent with PC 84
85 Automata Based Model Counting (ABC) Count the number of strings consistent with PC ABC constructs an automaton recognizing solution to PC 85
86 Automata Based Model Counting (ABC) Count the number of strings consistent with PC ABC constructs an automaton recognizing solution to PC x in [A-Z]+ ^ charat(x,0)='a' 86
87 Automata Based Model Counting (ABC) Count the number of strings consistent with PC ABC constructs an automaton recognizing solution to PC x in [A-Z]* ^ charat(x,0)='a' Model count ( PC ) is the number of accepting paths in automaton 87
88 Constraint-based Model Generation Constraints ABC Model 88
89 Constraint-based Model Generation Constraints ABC Constraints Model ABC Mutated Model 89
90 Constraint-based Model Generation ABC Constraints Constraints Input Model ABC Mutation Mutated Model Candidate input generation 90
91 Constraint-based Model Generation ABC Constraints Model Constraints Input ABC Mutation Mutated Model Candidate input generation non-restricted (NR) String mutation 91
92 Constraint-based Model Generation ABC Constraints Model Constraints Input ABC Mutation Mutated Model Candidate input generation restricted (R) Mutated Model 92
93 Maximize information gain Optimal Search 93
94 Meta-heuristics Techniques Random Search Simulated Annealing Genetic Algorithm 94
95 Meta-heuristics Techniques Random Search Simulated Annealing Genetic Algorithm We implement and experiment these popular meta-heuristics techniques as black box optimization procedures that make repeated calls to ABC to evaluate the information gain objective function 95
96 Random Search information gain Calculate information gain for random candidate inputs input 96
97 Random Search Calculate information gain for random candidate inputs information gain Select candidate input with maximum information gain input 97
98 Random Search Calculate information gain for random candidate inputs Select candidate input with maximum information gain information gain Use the candidate as next attack input attack input input 98
99 Simulated Annealing information gain information gain for first candidate input input 99
100 Simulated Annealing information gain for new candidate input information gain information gain for first candidate input input 100
101 Simulated Annealing information gain for new candidate input better information gain select as attack input information gain information gain for first candidate input input 101
102 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability information gain information gain for first candidate input input 102
103 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability information gain information gain for first candidate input input 103
104 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability reduce acceptance probability as temperature cools down information gain information gain for first candidate input input 104
105 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability Reduce acceptance probability as temperature cools down information gain information gain for first candidate input input 105
106 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability Reduce acceptance probability as temperature cools down information gain information gain for first candidate input attack input input 106
107 Population of candidate inputs information gain Genetic Algorithm input 107
108 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input 108
109 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input Select top candidates 109
110 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input Select top candidates Mutate and crossover 110
111 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input Mutate and crossover Update population information gain Select top candidates input 111
112 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input Mutate and crossover Update population Select top candidate from population as attack input (l*) information gain Select top candidates attack input input 112
113 Experimental Results 113
114 Experimental Benchmark 114
115 Experimental Benchmark 115
116 Experimental Benchmark 116
117 Experimental Benchmark Number of path constraints Number of merged path constraints 117
118 Experimental Benchmark Number of path constraints Number of merged path constraints 118
119 Experimental Benchmark Number of path constraints Number of merged path constraints 119
120 Experimental Results Initial uncertainty of secret input (in bits) Number of alphabets = 26 Length of secret = 4 Domain size of h = 264 = Initial uncertainty = log2(456976) =
121 Experimental Results Metrics: Time (in seconds) Number of attack steps Remaining Uncertainty Remaining Uncertainty = Initial uncertainty - information gain 121
122 Experimental Results Techniques: Model Based Random search Simulated Annealing Genetic Algorithm 122
123 Experimental Results Model Based: Shorter execution time per attack step More attack steps 123
124 Experimental Results Simulated Annealing: Longer execution time per attack step Less attack steps 124
125 Experimental Results Password Check Insecure: 1 hour timeout 5 observationally distinguishable path Better information leakage 125
126 Experimental Results Password Check Secure: 1 hour timeout 1 observationally distinguishable path Hardly leaks information Attack becomes exhaustive 126
127 Experimental Results String Char Inequality: 1 hour timeout 80 path constraints 2 observationally distinguishable path Information leakage rate is slower 127
128 Experimental Results String Edit Distance: 1 hour timeout 2170 path constraints 22 observationally distinguishable path Information leakage rate is slower 128
129 Experimental Results Faster execution time per attack step than Simulated Annealing Need more attack steps than Simulated annealing Reason: Random search leads to less optimal input 129
130 Experimental Results Faster than Simulated Annealing but Need more attack steps than Simulated annealing Reason: Mutation and crossover leads to non-restricted model 130
131 Experimental Results Meta-heuristics does not perform better than model based when Every input in a particular attack step leaks same amount of information For example: Password Check Insecure 131
132 Experimental Results Model based attack: simpler and faster execution of attack step needs more attack step Meta-heuristics technique: slower need less attack step Simulated annealing: performs better to leak information per attack step 132
133 Attack Synthesis for Strings using Meta-heuristics String Functions F(h,l) Symbolic Execution Objective Function Entropy: Information Gain Meta-heuristics Path constraints ϕ Merged Path constraints Ψ Probability Distribution of Paths Model Counter Attack input Sequences 133
134 Thank You 134
PLDI 2016 Tutorial Automata-Based String Analysis
PLDI 2016 Tutorial Automata-Based String Analysis Tevfik Bultan, Abdulbaki Aydin, Lucas Bang Verification Laboratory http://vlab.cs.ucsb.edu Department of Computer Science Common Usages of Strings } Input
More informationAutomata-based Model Counting for String Constraints. Abdulbaki Aydin, Lucas Bang, Tevfik Bultan
Automata-based Model Counting for String Constraints Abdulbaki Aydin, Lucas Bang, Tevfik Bultan https://vlab.cs.ucsb.edu Model Counting for String Constraints Automata-Based model Counter (ABC) 2 Can you
More informationSymbolic String Verification: Combining String Analysis and Size Analysis
Symbolic String Verification: Combining String Analysis and Size Analysis Fang Yu Tevfik Bultan Oscar H. Ibarra Deptartment of Computer Science University of California Santa Barbara, USA {yuf, bultan,
More informationMidterm Examination CS 540-2: Introduction to Artificial Intelligence
Midterm Examination CS 54-2: Introduction to Artificial Intelligence March 9, 217 LAST NAME: FIRST NAME: Problem Score Max Score 1 15 2 17 3 12 4 6 5 12 6 14 7 15 8 9 Total 1 1 of 1 Question 1. [15] State
More informationMidterm Examination CS540-2: Introduction to Artificial Intelligence
Midterm Examination CS540-2: Introduction to Artificial Intelligence March 15, 2018 LAST NAME: FIRST NAME: Problem Score Max Score 1 12 2 13 3 9 4 11 5 8 6 13 7 9 8 16 9 9 Total 100 Question 1. [12] Search
More informationAction Language Verifier, Extended
Action Language Verifier, Extended Tuba Yavuz-Kahveci 1, Constantinos Bartzis 2, and Tevfik Bultan 3 1 University of Florida 2 Carnegie Mellon University 3 UC, Santa Barbara 1 Introduction Action Language
More informationDecomposition Instead of Self- Composition for Proving the Absence of Timing Channels
Decomposition Instead of Self- Composition for Proving the Absence of Timing Channels PLDI June 20th, 2017 Timos Antonopoulos, Yale Paul Gazzillo, Yale Michael Hicks, UMD Eric Koskinen, Yale Tachio Terauchi,
More informationVS 3 : SMT Solvers for Program Verification
VS 3 : SMT Solvers for Program Verification Saurabh Srivastava 1,, Sumit Gulwani 2, and Jeffrey S. Foster 1 1 University of Maryland, College Park, {saurabhs,jfoster}@cs.umd.edu 2 Microsoft Research, Redmond,
More informationMarch 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms
Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland March 19, 2014
More informationCSE 565 Computer Security Fall 2018
CSE 565 Computer Security Fall 2018 Lecture 16: Building Secure Software Department of Computer Science and Engineering University at Buffalo 1 Review A large number of software vulnerabilities various
More informationApplying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems
V Brazilian Symposium on Computing Systems Engineering Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems Alessandro Trindade, Hussama Ismail, and Lucas Cordeiro Foz
More informationExploring Complexity In Science and Technology. Logistics
Exploring Complexity In Science and Technology Nov. 8, 2010 Jeff Fletcher Logistics Due HW6 and Lab5 due Monday Nov. 15 Ideas for final papers Proposals (one paragraph) due today Questions? Elementary
More informationSecure Development After Security Bugs
Secure Development After Security Bugs Jeremy Epstein Program Manager Presentation to 1 st IEEE Cybersecurity Development Conference (SecDev) 11/03/16 Distribution Statement A. Approved for public release:
More informationGenetic improvement of software: a case study
Genetic improvement of software: a case study Justyna Petke Centre for Research on Evolution, Search and Testing Department of Computer Science, UCL, London Genetic Improvement Programming Automatically
More informationIndexing and Searching
Indexing and Searching Introduction How to retrieval information? A simple alternative is to search the whole text sequentially Another option is to build data structures over the text (called indices)
More informationData Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University
Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University Search & Optimization Search and Optimization method deals with
More informationHardware-Software Codesign
Hardware-Software Codesign 4. System Partitioning Lothar Thiele 4-1 System Design specification system synthesis estimation SW-compilation intellectual prop. code instruction set HW-synthesis intellectual
More informationChapter 14 Global Search Algorithms
Chapter 14 Global Search Algorithms An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Introduction We discuss various search methods that attempts to search throughout the entire feasible set.
More informationGenetic Algorithm for Circuit Partitioning
Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationInternational Journal of Information Technology and Knowledge Management (ISSN: ) July-December 2012, Volume 5, No. 2, pp.
Empirical Evaluation of Metaheuristic Approaches for Symbolic Execution based Automated Test Generation Surender Singh [1], Parvin Kumar [2] [1] CMJ University, Shillong, Meghalya, (INDIA) [2] Meerut Institute
More informationABC basics (compilation from different articles)
1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node
More informationSatisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY
Satisfiability Michail G. Lagoudakis Department of Computer Science Duke University Durham, NC 27708 COMPSCI 271 - Spring 2001 DUKE UNIVERSITY Page 1 Why SAT? Historical Reasons The first NP-COMPLETE problem
More informationCommunication and Wall clock time
Communication and Wall clock time Each processor spends CPU time on a job. There is also time spent in communication between processors. Wall clock time is the temporal duration of a job, which is determined
More informationOptCE: A Counterexample-Guided Inductive Optimization Solver
Federal University of Amazonas (UFAM) Postgraduate Program in Electrical Engineering (PPGEE) OptCE: A Counterexample-Guided Inductive Optimization Solver Higo Albuquerque, Rodrigo Araújo, Iury Bessa, Lucas
More informationTesting, Fuzzing, & Symbolic Execution
Testing, Fuzzing, & Symbolic Execution Software Testing The most common way of measuring & ensuring correctness Input 2 Software Testing The most common way of measuring & ensuring correctness Input Observed
More informationResearch Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003
Research Incubator: Combinatorial Optimization Dr. Lixin Tao December 9, 23 Content General Nature of Research on Combinatorial Optimization Problem Identification and Abstraction Problem Properties and
More informationInformed search algorithms. Chapter 4
Informed search algorithms Chapter 4 Outline Best-first search Greedy best-first search A * search Heuristics Memory Bounded A* Search Best-first search Idea: use an evaluation function f(n) for each node
More informationIntroduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 4: Beyond Classical Search
Introduction to Artificial Intelligence 2 nd semester 2016/2017 Chapter 4: Beyond Classical Search Mohamed B. Abubaker Palestine Technical College Deir El-Balah 1 Outlines local search algorithms and optimization
More informationAlgorithm Design (4) Metaheuristics
Algorithm Design (4) Metaheuristics Takashi Chikayama School of Engineering The University of Tokyo Formalization of Constraint Optimization Minimize (or maximize) the objective function f(x 0,, x n )
More informationSymbolic Execution with Interval Constraint Solving and Meta-Heuristic Search
Symbolic Execution with Interval Constraint Solving and Meta-Heuristic Search Mateus Borges, Marcelo d'amorim (Fed. U. Pernambuco, Brazil) Saswat Anand (Georgia Inst. of Technology) David Bushnell, Corina
More informationNon-deterministic Search techniques. Emma Hart
Non-deterministic Search techniques Emma Hart Why do local search? Many real problems are too hard to solve with exact (deterministic) techniques Modern, non-deterministic techniques offer ways of getting
More informationDesign Space Exploration
Design Space Exploration SS 2012 Jun.-Prof. Dr. Christian Plessl Custom Computing University of Paderborn Version 1.1.0 2012-06-15 Overview motivation for design space exploration design space exploration
More informationLocal Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 Outline Local search techniques and optimization Hill-climbing
More informationCAD Algorithms. Placement and Floorplanning
CAD Algorithms Placement Mohammad Tehranipoor ECE Department 4 November 2008 1 Placement and Floorplanning Layout maps the structural representation of circuit into a physical representation Physical representation:
More informationOPTIMISING ASSOCIATION RULE ALGORITHMS USING ITEMSET ORDERING
OPTIMISING ASSOCIATION RULE ALGORITHMS USING ITEMSET ORDERING ES200 Peterhouse College, Cambridge Frans Coenen, Paul Leng and Graham Goulbourne The Department of Computer Science The University of Liverpool
More informationGenetic algorithm for optimal imperceptibility in image communication through noisy channel
Genetic algorithm for optimal imperceptibility in image communication through noisy channel SantiP.Maity 1, Malay K. Kundu 2 andprasantak.nandi 3 1 Bengal Engineering College (DU), P.O.-Botanic Garden,
More informationAdministrative. Local Search!
Administrative Local Search! CS311 David Kauchak Spring 2013 Assignment 2 due Tuesday before class Written problems 2 posted Class participation http://www.youtube.com/watch? v=irhfvdphfzq&list=uucdoqrpqlqkvctckzqa
More informationSliced Path Prefixes: An Effective Method to Enable Refinement Selection
FORTE '15 Sliced Path Prefixes: An Effective Method to Enable Refinement Selection Dirk Beyer, Stefan Löwe, Philipp Wendler SoSy-Lab Software Systems We want Refinement Selection!!! Because straight-forward
More informationLocal Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 2 Outline Local search techniques and optimization Hill-climbing
More informationLocal Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 2 Outline Local search techniques and optimization Hill-climbing
More informationMODULE 6 Different Approaches to Feature Selection LESSON 10
MODULE 6 Different Approaches to Feature Selection LESSON 10 Sequential Feature Selection Keywords: Forward, Backward, Sequential, Floating 1 Sequential Methods In these methods, features are either sequentially
More informationAutomated SQL Ownage Techniques. OWASP October 30 th, The OWASP Foundation
Automated SQL Ownage Techniques October 30 th, 2009 Sebastian Cufre Developer Core Security Technologies sebastian.cufre@coresecurity.com Copyright The Foundation Permission is granted to copy, distribute
More informationLearning Path Queries on Graph Databases
Learning Path Queries on Graph Databases Radu Ciucanu joint work with Angela Bonifati and Aurélien Lemay University of Lille, France INRIA Lille Nord Europe Links Project EDBT 15 March 24, 2015 Radu Ciucanu
More informationReverse Engineering. Class 6. Fuzzing. Reverse Engineering Class 6 Martin Balao martin.uy/reverse v1.0 EN CC BY-SA
Reverse Engineering Class 6 Fuzzing 1 Fuzzing Grey box testing May be guided by reverse engineering Send, in an automatized way, valid and invalid inputs to an application with the goal of triggering bad
More informationCHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION
131 CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION 6.1 INTRODUCTION The Orthogonal arrays are helpful in guiding the heuristic algorithms to obtain a good solution when applied to NP-hard problems. This
More informationPractical SAT Solving
Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 23, 2016 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz
More informationOutlines. Fuzzy Membership Function Design Using Information Theory Measures and Genetic Algorithms. Outlines
Fuzzy Membership Function Design Using Information Theory Measures and Genetic Algorithms Outlines Introduction Problem Statement Proposed Approach Results Conclusion 2 Outlines Introduction Problem Statement
More informationCompiler Construction LECTURE # 3
Compiler Construction LECTURE # 3 The Course Course Code: CS-4141 Course Title: Compiler Construction Instructor: JAWAD AHMAD Email Address: jawadahmad@uoslahore.edu.pk Web Address: http://csandituoslahore.weebly.com/cc.html
More informationSynthesis-Aided Compiler for Low-Power Spatial Architectures
Synthesis-Aided Compiler for Low-Power Spatial Architectures Phitchaya Mangpo Phothilimthana, Tikhon Jelvis, Rohin Shah, Nishant Totla, Sarah Chasins, and Ras Bodik 2 unusual ISA small memory narrow bitwidth
More informationType Assisted Synthesis of Programs with Algebraic Data Types
Type Assisted Synthesis of Programs with Algebraic Data Types Jeevana Priya Inala MIT Collaborators: Xiaokang Qiu (MIT), Ben Lerner (Brown), Armando Solar-Lezama (MIT) Example - Desugaring a simple language
More informationApplication of Genetic Algorithms to CFD. Cameron McCartney
Application of Genetic Algorithms to CFD Cameron McCartney Introduction define and describe genetic algorithms (GAs) and genetic programming (GP) propose possible applications of GA/GP to CFD Application
More informationInformed search algorithms. Chapter 4
Informed search algorithms Chapter 4 Material Chapter 4 Section 1 - Exclude memory-bounded heuristic search 3 Outline Best-first search Greedy best-first search A * search Heuristics Local search algorithms
More informationEfficient Signature Matching with Multiple Alphabet Compression Tables
Efficient Signature Matching with Multiple Alphabet Compression Tables Shijin Kong Randy Smith Cristian Estan Presented at SecureComm, Istanbul, Turkey Signature Matching Signature Matching a core component
More informationQuantitative Verification and Synthesis of Systems
Quantitative Verification and Synthesis of Systems Sanjit A. Seshia Assistant Professor EECS, UC Berkeley Software-at-Scale Workshop August 2010 Quantitative Analysis / Verification Does the brake-by-wire
More informationPerformance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances
Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances Minzhong Liu, Xiufen Zou, Yu Chen, Zhijian Wu Abstract In this paper, the DMOEA-DD, which is an improvement of DMOEA[1,
More informationOptimization Techniques for Design Space Exploration
0-0-7 Optimization Techniques for Design Space Exploration Zebo Peng Embedded Systems Laboratory (ESLAB) Linköping University Outline Optimization problems in ERT system design Heuristic techniques Simulated
More informationSolving Traveling Salesman Problem Using Parallel Genetic. Algorithm and Simulated Annealing
Solving Traveling Salesman Problem Using Parallel Genetic Algorithm and Simulated Annealing Fan Yang May 18, 2010 Abstract The traveling salesman problem (TSP) is to find a tour of a given number of cities
More informationArtificial Intelligence
Artificial Intelligence CS482, CS682, MW 1 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis, sushil@cse.unr.edu, http://www.cse.unr.edu/~sushil Informed Search Best First Search A*
More informationMetaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini
Metaheuristic Development Methodology Fall 2009 Instructor: Dr. Masoud Yaghini Phases and Steps Phases and Steps Phase 1: Understanding Problem Step 1: State the Problem Step 2: Review of Existing Solution
More informationOptimal tour along pubs in the UK
1 From Facebook Optimal tour along 24727 pubs in the UK Road distance (by google maps) see also http://www.math.uwaterloo.ca/tsp/pubs/index.html (part of TSP homepage http://www.math.uwaterloo.ca/tsp/
More informationPractical SAT Solving
Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 22, 2018 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz
More informationCHAPTER 8 DISCUSSIONS
153 CHAPTER 8 DISCUSSIONS This chapter discusses the developed models, methodologies to solve the developed models, performance of the developed methodologies and their inferences. 8.1 MULTI-PERIOD FIXED
More informationModel-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner
Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at 1.
More informationCS 267: Automated Verification. Lecture 13: Bounded Model Checking. Instructor: Tevfik Bultan
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan Remember Symbolic Model Checking Represent sets of states and the transition relation as Boolean logic formulas
More informationA Multithreaded Genetic Algorithm for Floorplanning
A Multithreaded Genetic Algorithm for Floorplanning Jake Adriaens ECE 556 Fall 2004 Introduction I have chosen to implement the algorithm described in the paper, Distributed Genetic Algorithms for the
More informationEvolutionary Methods for State-based Testing
Evolutionary Methods for State-based Testing PhD Student Raluca Lefticaru Supervised by Florentin Ipate University of Piteşti, Romania Department of Computer Science Outline Motivation Search-based software
More informationAE52/AC52/AT52 C & Data Structures JUNE 2014
Q.2 a. Write a program to add two numbers using a temporary variable. #include #include int main () int num1, num2; clrscr (); printf( \n Enter the first number : ); scanf ( %d, &num1);
More informationGenetic Algorithm for FPGA Placement
Genetic Algorithm for FPGA Placement Zoltan Baruch, Octavian Creţ, and Horia Giurgiu Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationSanta Fe Trail Problem Solution Using Grammatical Evolution
2012 International Conference on Industrial and Intelligent Information (ICIII 2012) IPCSIT vol.31 (2012) (2012) IACSIT Press, Singapore Santa Fe Trail Problem Solution Using Grammatical Evolution Hideyuki
More informationEfficient Search for Inputs Causing High Floating-point Errors
Efficient Search for Inputs Causing High Floating-point Errors Wei-Fan Chiang, Ganesh Gopalakrishnan, Zvonimir Rakamarić, and Alexey Solovyev School of Computing, University of Utah, Salt Lake City, UT
More informationExternal Encodings Do not Prevent Transient Fault Analysis
External Encodings Do not Prevent Transient Fault Analysis Christophe Clavier Gemalto, Security Labs CHES 2007 Vienna - September 12, 2007 Christophe Clavier CHES 2007 Vienna September 12, 2007 1 / 20
More informationEfficient Synthesis of Production Schedules by Optimization of Timed Automata
Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student
More informationHow to (not) Share a Password:
How to (not) Share a Password: Privacy preserving protocols for finding heavy hitters with adversarial behavior Moni Naor Benny Pinkas Eyal Ronen Passwords First modern use in MIT's CTSS (1961) Passwords
More informationDr. D.M. Akbar Hussain
1 2 Compiler Construction F6S Lecture - 2 1 3 4 Compiler Construction F6S Lecture - 2 2 5 #include.. #include main() { char in; in = getch ( ); if ( isalpha (in) ) in = getch ( ); else error (); while
More informationDepartment of Computer Science Admission Test for PhD Program. Part I Time : 30 min Max Marks: 15
Department of Computer Science Admission Test for PhD Program Part I Time : 30 min Max Marks: 15 Each Q carries 1 marks. ¼ mark will be deducted for every wrong answer. Part II of only those candidates
More informationBounded Model Checking with Parametric Data Structures
Bounded Model Checking with Marc Herbstritt (joint work with Erika Ábrahám, Bernd Becker, Martin Steffen) www.avacs.org August 15 2006 4th International Workshop on Bounded Model Checking Context Automated
More informationImprovement of Web Search Results using Genetic Algorithm on Word Sense Disambiguation
Volume 3, No.5, May 24 International Journal of Advances in Computer Science and Technology Pooja Bassin et al., International Journal of Advances in Computer Science and Technology, 3(5), May 24, 33-336
More informationESc101 : Fundamental of Computing
ESc101 : Fundamental of Computing I Semester 2008-09 Lecture 37 Analyzing the efficiency of algorithms. Algorithms compared Sequential Search and Binary search GCD fast and GCD slow Merge Sort and Selection
More informationTesting & Symbolic Execution
Testing & Symbolic Execution Software Testing The most common way of measuring & ensuring correctness Input 2 Software Testing The most common way of measuring & ensuring correctness Input Observed Behavior
More informationR10 SET a) Construct a DFA that accepts an identifier of a C programming language. b) Differentiate between NFA and DFA?
R1 SET - 1 1. a) Construct a DFA that accepts an identifier of a C programming language. b) Differentiate between NFA and DFA? 2. a) Design a DFA that accepts the language over = {, 1} of all strings that
More informationBackground: disk access vs. main memory access (1/2)
4.4 B-trees Disk access vs. main memory access: background B-tree concept Node structure Structural properties Insertion operation Deletion operation Running time 66 Background: disk access vs. main memory
More informationExploration vs. Exploitation in Differential Evolution
Exploration vs. Exploitation in Differential Evolution Ângela A. R. Sá 1, Adriano O. Andrade 1, Alcimar B. Soares 1 and Slawomir J. Nasuto 2 Abstract. Differential Evolution (DE) is a tool for efficient
More informationECE 122. Engineering Problem Solving Using Java
ECE 122 Engineering Problem Solving Using Java Lecture 27 Linear and Binary Search Overview Problem: How can I efficiently locate data within a data structure Searching for data is a fundamental function
More informationAutomated Program Repair
#1 Automated Program Repair Motivation Software maintenance is expensive Up to 90% of the cost of software [Seacord] Up to $70 Billion per year in US [Jorgensen, Sutherland] Bug repair is the majority
More information3/12/2018. Structures. Programming in C++ Sequential Branching Repeating. Loops (Repetition)
Structures Programming in C++ Sequential Branching Repeating Loops (Repetition) 2 1 Loops Repetition is referred to the ability of repeating a statement or a set of statements as many times this is necessary.
More informationFast Searches for Effective Optimization Phase Sequences
Fast Searches for Effective Optimization Phase Sequences Prasad Kulkarni, Stephen Hines, Jason Hiser David Whalley, Jack Davidson, Douglas Jones Computer Science Department, Florida State University, Tallahassee,
More informationScheduling on Parallel Systems. - Sathish Vadhiyar
Scheduling on Parallel Systems - Sathish Vadhiyar Parallel Scheduling Categories Job Scheduling [this class] A set of jobs arriving at a parallel system Choosing an order of jobs for execution to minimize
More informationA Hybrid Approach for Misbehavior Detection in Wireless Ad-Hoc Networks
A Hybrid Approach for Misbehavior Detection in Wireless Ad-Hoc Networks S. Balachandran, D. Dasgupta, L. Wang Intelligent Security Systems Research Lab Department of Computer Science The University of
More information5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing
1. Introduction 2. Cutting and Packing Problems 3. Optimisation Techniques 4. Automated Packing Techniques 5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing 6.
More informationHeuristic Optimization Introduction and Simple Heuristics
Heuristic Optimization Introduction and Simple Heuristics José M PEÑA (jmpena@fi.upm.es) (Universidad Politécnica de Madrid) 1 Outline 1. What are optimization problems? 2. Exhaustive vs. Heuristic approaches
More informationHardware/Software Partitioning of Digital Systems
Hardware/Software Partitioning of Digital Systems F. Dufour Advisor: M. Radetzki Department of Technical Computer Science University of Stuttgart Seminar Embedded Systems Outline 1 Partitioning and digital
More informationN-Queens problem. Administrative. Local Search
Local Search CS151 David Kauchak Fall 2010 http://www.youtube.com/watch?v=4pcl6-mjrnk Some material borrowed from: Sara Owsley Sood and others Administrative N-Queens problem Assign 1 grading Assign 2
More informationOutline for Today CSE 142. CSE142 Wi03 G-1. withdraw Method for BankAccount. Class Invariants
CSE 142 Outline for Today Conditional statements if Boolean expressions Comparisons (=,!=, ==) Boolean operators (and, or, not - &&,,!) Class invariants Conditional Statements & Boolean Expressions
More informationCPE 112 Spring 2015 Exam II (100 pts) March 4, Definition Matching (8 Points)
Name Definition Matching (8 Points) 1. (8 pts) Match the words with their definitions. Choose the best definition for each word. Relational Expression Iteration Counter Count-controlled loop Loop Flow
More informationIntroduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.
Chapter 7: Derivative-Free Optimization Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.5) Jyh-Shing Roger Jang et al.,
More informationB-Trees. Based on materials by D. Frey and T. Anastasio
B-Trees Based on materials by D. Frey and T. Anastasio 1 Large Trees n Tailored toward applications where tree doesn t fit in memory q operations much faster than disk accesses q want to limit levels of
More informationStatic Analysis and Bugfinding
Static Analysis and Bugfinding Alex Kantchelian 09/12/2011 Last week we talked about runtime checking methods: tools for detecting vulnerabilities being exploited in deployment. So far, these tools have
More informationArtificial Intelligence
Artificial Intelligence Local Search Vibhav Gogate The University of Texas at Dallas Some material courtesy of Luke Zettlemoyer, Dan Klein, Dan Weld, Alex Ihler, Stuart Russell, Mausam Systematic Search:
More informationSorting. Task Description. Selection Sort. Should we worry about speed?
Sorting Should we worry about speed? Task Description We have an array of n values in any order We need to have the array sorted in ascending or descending order of values 2 Selection Sort Select the smallest
More informationA Late Acceptance Hill-Climbing algorithm the winner of the International Optimisation Competition
The University of Nottingham, Nottingham, United Kingdom A Late Acceptance Hill-Climbing algorithm the winner of the International Optimisation Competition Yuri Bykov 16 February 2012 ASAP group research
More information