Class Scheduling Using Constraint Satisfaction Victoria Donelson Garrett Grimsley.

Slides:



Advertisements
Similar presentations
Algorithm Design Techniques
Advertisements

Crew Pairing Optimization with Genetic Algorithms
Local Search Algorithms
Biologically Inspired Computing: Operators for Evolutionary Algorithms
Genetic Algorithm Example based on Koza, J Genetic Programming. Cambridge MA: Basic Books.
CS6800 Advanced Theory of Computation
Exact and heuristics algorithms
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
CSC344: AI for Games Lecture 5 Advanced heuristic search Patrick Olivier
Algorithms in Exponential Time. Outline Backtracking Local Search Randomization: Reducing to a Polynomial-Time Case Randomization: Permuting the Evaluation.
Population New Population Selection Crossover and Mutation Insert When the new population is full repeat Generational Algorithm.
1 Genetic Algorithms. CS The Traditional Approach Ask an expert Adapt existing designs Trial and error.
Chapter 10: Algorithm Design Techniques
Trading optimality for speed…
Genetic Algorithm for Variable Selection
Local Search and Stochastic Algorithms
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Christoph F. Eick: Applying EC to TSP(n) Example: Applying EC to the TSP Problem  Given: n cities including the cost of getting from on city to the other.
Genetic Programming.
Evolutionary algorithms
Genetic Algorithm.
Genetic Algorithms and Ant Colony Optimisation
1 Local search and optimization Local search= use single current state and move to neighboring states. Advantages: –Use very little memory –Find often.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Genetic Algorithms by using MapReduce
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
Dr.Abeer Mahmoud ARTIFICIAL INTELLIGENCE (CS 461D) Dr. Abeer Mahmoud Computer science Department Princess Nora University Faculty of Computer & Information.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
GENETIC ALGORITHMS FOR THE UNSUPERVISED CLASSIFICATION OF SATELLITE IMAGES Ankush Khandelwal( ) Vaibhav Kedia( )
Computational Complexity Jang, HaYoung BioIntelligence Lab.
1 Machine Learning: Lecture 12 Genetic Algorithms (Based on Chapter 9 of Mitchell, T., Machine Learning, 1997)
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
Genetic Algorithms. Evolutionary Methods Methods inspired by the process of biological evolution. Main ideas: Population of solutions Assign a score or.
Artificial Intelligence for Games Online and local search
1 Genetic Algorithms and Ant Colony Optimisation.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Edge Assembly Crossover
Genetic Algorithms Genetic algorithms provide an approach to learning that is based loosely on simulated evolution. Hypotheses are often described by bit.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Speeding Up Warehouse Physical Design Using A Randomized Algorithm Minsoo Lee Joachim Hammer Dept. of Computer & Information Science & Engineering University.
Biologically inspired algorithms BY: Andy Garrett YE Ziyu.
Backtracking & Brute Force Optimization Intro2CS – weeks
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Local Search. Systematic versus local search u Systematic search  Breadth-first, depth-first, IDDFS, A*, IDA*, etc  Keep one or more paths in memory.
Chapter 5. Advanced Search Fall 2011 Comp3710 Artificial Intelligence Computing Science Thompson Rivers University.
N- Queens Solution with Genetic Algorithm By Mohammad A. Ismael.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Genetic Algorithms. Overview “A genetic algorithm (or GA) is a variant of stochastic beam search in which successor states are generated by combining.
Overview Last two weeks we looked at evolutionary algorithms.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
Constraints Satisfaction Edmondo Trentin, DIISM. Constraint Satisfaction Problems: Local Search In many optimization problems, the path to the goal is.
Local search algorithms In many optimization problems, the path to the goal is irrelevant; the goal state itself is the solution State space = set of "complete"
Using GA’s to Solve Problems
Evolutionary Algorithms Jim Whitehead
Example: Applying EC to the TSP Problem
Bin Packing Optimization
An evolutionary approach to solving complex problems
Artificial Intelligence (CS 370D)
Example: Applying EC to the TSP Problem
The N-queens problem Team: 404 brain not found
Artificial Intelligence CIS 342
Alex Bolsoy, Jonathan Suggs, Casey Wenner
GA.
Presentation transcript:

Class Scheduling Using Constraint Satisfaction Victoria Donelson Garrett Grimsley

Informal Definition  Find all possible schedules based on degree audit that satisfy given constraints  Constraints  Day of week  Time of day  Preferred courses  Course counts toward degree completion  Prerequisites satisfied  Timeslot – No overlapping courses

Formal Definition Simplified

Formal Definition Simplified Continued

Data Representation [[False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, True, True, True, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, True, True, True, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False], [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]]

Data Representation  Or…  {'M': [(datetime.time(13, 30), datetime.time(15, 10))],  'W': [(datetime.time(13, 30), datetime.time(15, 10))]}

Exhaustive Search 1. Generate a possible schedule 1. Check schedule for conflicts 2. If no conflicts: 1. Sort schedule 2. If sorted schedule not in valid schedules list: 1. Add sorted schedule to valid schedules list 2. Repeat until search space exhausted

Genetic Algorithm 1. Randomly generate starting population of schedules 2. Parent selection possibilities  Roulette 3. Recombination possibilities  Mutation  Crossover 4. Determine fitness of schedule  Has a time conflict

Backtracking  Drastically reduces reduces the number of schedules generated.

Algorithmic Complexity Comparison AlgorithmTime Complexity (O) Exhaustive SearchnLnL Backtrackingn! GeneticL2L2 n = Size of course list L = Length of schedule

Algorithm Comparison

Question 1  Q: Why was the bit string representation worse than a time object data structure?

Question 1  Q: Why was the bit string representation worse than a time object data structure?  A: The bit strings were much larger than the time object representation. This caused additional cache misses, which lead to increased fetching from memory. Memory access can take over 200 CPU cycles, during which time additional relevant computations cannot be executed.

Question 2  Q: At what point does backtracking begin to outperform the brute-force approach?

Question 2  Q: At what point does backtracking begin to outperform the brute-force approach?  A: Once the search space grows to around 25,000 possible combinations the backtracking algorithm begins to outperform the brute-force algorithm.

Question 3  Q: Which algorithm generally performed best for larger search spaces and why?

Question 3  Q: Which algorithm generally performed best for larger search spaces and why?  A: In a large search space backtracking performed the best because while exhaustive search must exhaustively generate and test all possible solutions the backtracking approach does not have to explore all configuration choices.

Questions?