Clase 3: Basic Concepts of Search. Problems: SAT, TSP. Tarea 1 Computación Evolutiva Gabriela Ochoa

Slides:



Advertisements
Similar presentations
Complexity Classes: P and NP
Advertisements

NP and NP Complete. Definitions A problem is in the class P if there is a polynomial time solution to the problem A problem is in the class NP if there.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Clase 2, Parte 1: Conceptos Básicos de Búsqueda. Algoritmo de Ascenso de Colina. Enunciado Tarea 1 Diseño de Algoritmos (Heurísticas Modernas) Gabriela.
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Algorithms in Exponential Time. Outline Backtracking Local Search Randomization: Reducing to a Polynomial-Time Case Randomization: Permuting the Evaluation.
Computability and Complexity 16-1 Computability and Complexity Andrei Bulatov NP-Completeness.
MAE 552 – Heuristic Optimization Lecture 3 January 28, 2002.
The Theory of NP-Completeness
NP-Complete Problems Problems in Computer Science are classified into
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
MAE 552 – Heuristic Optimization Lecture 4 January 30, 2002.
EAs for Combinatorial Optimization Problems BLG 602E.
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
MAE 552 – Heuristic Optimization Lecture 5 February 1, 2002.
1 NP-Complete Problems (Fun part) Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph,
Ant Colony Optimization: an introduction
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
Complexity Classes Kang Yu 1. NP NP : nondeterministic polynomial time NP-complete : 1.In NP (can be verified in polynomial time) 2.Every problem in NP.
Computer Implementation of Genetic Algorithm
CSCE350 Algorithms and Data Structure
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
The Complexity of Optimization Problems. Summary -Complexity of algorithms and problems -Complexity classes: P and NP -Reducibility -Karp reducibility.
Modular Arithmetic Shirley Moore CS4390/5390 Fall September 3, 2013.
Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every.
TECH Computer Science NP-Complete Problems Problems  Abstract Problems  Decision Problem, Optimal value, Optimal solution  Encodings  //Data Structure.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Unit 9: Coping with NP-Completeness
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Hard Problems Sanghyun Park Fall 2002 CSE, POSTECH.
NP-Completeness (Nondeterministic Polynomial Completeness) Sushanth Sivaram Vallath & Z. Joseph.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Solving the Logic Satisfiability problem Solving the Logic Satisfiability problem Jesus De Loera.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
CSC 413/513: Intro to Algorithms
1 Ch 10 - NP-completeness Tractable and intractable problems Decision/Optimization problems Deterministic/NonDeterministic algorithms Classes P and NP.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
School of Computer Science & Engineering
Hard Problems Some problems are hard to solve.
SAT problem SAT – Boolean satisfiability problem
EMIS 8373: Integer Programming
Richard Anderson Lecture 26 NP-Completeness
Hard Problems Introduction to NP
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Lecture 24 NP-Complete Problems
Richard Anderson Lecture 25 NP-Completeness
Richard Anderson Lecture 28 NP-Completeness
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
3. Brute Force Selection sort Brute-Force string matching
Prabhas Chongstitvatana
Lecture 24 Classical NP-hard Problems
Presentation transcript:

Clase 3: Basic Concepts of Search. Problems: SAT, TSP. Tarea 1 Computación Evolutiva Gabriela Ochoa

Basic Concepts Representation: Encodes alternative candidate solutions for manipulation Objective: describes the purpose to be fulfilled Evaluation Function: returns a specific value that indicates the quality of any particular solution given the representation

Search Problem Definition: Given a search space S and its feasible part F in S, find x Є F such that  eval(x) ≤ eval(y), for all y Є F (minimization) The point x that satisfies the above condition is called global solution The terms “search problem” and “optimization problem” are considered synonymous. The search for the best solution is the optimization problem

Boolean satisfiability problem (SAT ) An instance of the problem: is defined by a Boolean expression written using only AND, OR, NOT, variables, and parentheses. The question is: given the expression, is there some assignment of TRUE and FALSE values to the variables that will make the entire expression true? SAT is of central importance in various areas of computer science, including theoretical computer science, algorithmics, artificial intelligence, hardware design and verification. computer sciencetheoretical computer sciencealgorithmicsartificial intelligence

Computational Complexity of SAT SAT is NP-complete. In fact, it was the first known NP-complete problem, as proved by Stephen Cook in 1971NP-completeStephen Cook The problem remains NP-complete even if all expressions are written in conjunctive normal form with 3 variables per clause (3-CNF)conjunctive normal form  (x11 OR x12 OR x13) AND  (x21 OR x22 OR x23) AND  (x31 OR x32 OR x33) AND... where each x is a variable, with or without a NOT in front of it, and each variable can appear multiple times in the expression.

Problem Formulation (SAT) Let us consider a problem of size 30 (i.e. 30 variables) Representation  1 True, 0 False, Binary String of length 30 Search Space  2 choices for each variable, taken over 30 variables, generates 2 30 possibilities Objective  To find the vector of bits such that the compound Boolean statement is satisfied (made true) Evaluation Function?  Not enough information to take the objective

Travelling salesman problem (TSP) Given a number of cities and the costs of travelling from one to the other, what is the cheapest roundtrip route that visits each city and then returns to the starting city? An equivalent formulation in terms of graph theory is: Find the Hamiltonian cycle with the least weight in a weighted graph. graph theoryHamiltonian cycle weighted graph

Problem Formulation (TSP) Let us consider a problem of size 30 (i.e. 30 cities) Representation: Permutation of natural numbers 1,…,30 where each number corresponds to a city to be visited in sequence Search Space: Permutations of all cities. Symmetric TSP, circuit the same regardless the starting city: (n-1)!/2 Objective: Minimize the total distance traversed, visiting each city once, and returning to the starting city. Min Sum(dist(x,y)) Evaluation Function: Map each tour to its corresponding total distance

Neighbourhoods and local Optima Region of the search space that is “near” to some particular point in that space S. x N(x) A search space S, a potential solution x, and its neighbourhood N(x)

Defining Neighbourhoods 1 Define a distance function dist on the search space S  Dist: S x S → R  N(x) = {y Є S: dist(x,y) ≤ ε } Examples:  Euclidean distance, for search spaces defined over continuous variables  Hamming distance, for search spaces definced over binary strings (e.g. SAT)

Use a mapping m, that defines a neighbourhood for any point x Є S 2-swap mapping: generates a new set of potential solutions from a given solution x Solutions are generated by swapping two cities from a given tour Every solution has n(n-1)/2 neighbours Example: → , Defining Neighbourhoods, TSP

1-flip mapping: generates a new set of potential solutions from a given solution x Solutions are generated by flipping a single bit in the given bit string Every solution has n neighbours Example: → ( 1 st bit) Defining Neighbourhoods, SAT

Gaussian Distribution: for each variable defines a neighbourhood Mean: the current point, Std. dev.: 1/6 of the range of the variable x = (x 1, …, x n ), where l i ≤ x i ≤ u i x’ = x i + N(0,σ i ), where σ i = (u i - l i )/6 N(0,σ i ) is an independent random Gaussian number with mean zero and std. dev. σ i Defining Neighbourhoods, Real Numbers

Local Optimum A potential solution x Є S is a local optimum with respect to the neighbourhood N, if and only if  eval(x) ≤ eval(y), for all y Є N(x)