Introduction CSCE 235 Introduction to Discrete Structures Spring 2010 Instructor: Berthe Y. Choueiry (Shu-we-ri) GTA: Nobel Khandaker

Slides:



Advertisements
Similar presentations
Algorithm Design Methods Spring 2007 CSE, POSTECH.
Advertisements

Greedy Algorithms.
The Greedy Method1. 2 Outline and Reading The Greedy Method Technique (§5.1) Fractional Knapsack Problem (§5.1.1) Task Scheduling (§5.1.2) Minimum Spanning.
Chapter 5 Fundamental Algorithm Design Techniques.
Introduction CSCE 235 Introduction to Discrete Structures Spring 2011 UTAsMary D. Burke, Nicholas Jewell, Geoffrey Priester GTAs Robert Woodward, Shant.
Greedy Algorithms Be greedy! always make the choice that looks best at the moment. Local optimization. Not always yielding a globally optimal solution.
Introduction CSCE 235 Introduction to Discrete Structures
Merge Sort 4/15/2017 6:09 PM The Greedy Method The Greedy Method.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
5/19/2015CS 2011 CS 201 – Data Structures and Discrete Mathematics I Syllabus Spring 2014.
Math 308 Discrete Mathematics Discrete Mathematics deals with “Separated” or discrete sets of objects (rather than continuous sets) Processes with a sequence.
1 CS233601: Discrete Mathematics Department of Computer Science National Tsing Hua University.
About the Course Lecture 0: Sep 2 AB C. Plan  Course Information and Arrangement  Course Requirement  Topics and objectives of this course.
Math443/543 Mathematical Modeling and Optimization
Algorithms: An Introduction
Administrivia- Introduction CSE 373 Data Structures.
CSE 421 Algorithms Richard Anderson Lecture 6 Greedy Algorithms.
Chapter 11: Limitations of Algorithmic Power
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
Discrete Structures for Computer Science Ruoming Jin MW 5:30 – 6:45pm Fall 2009 rm MSB115.
Algorithms: An Introduction Section 3.1 of Rosen Spring 2011 CSCE 235 Introduction to Discrete Structures Course web-page: cse.unl.edu/~cse235 Questions:
CSE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Dimosthenes Anthomelidis
CSCE 3110 Data Structures and Algorithm Analysis.
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Course overview Course title: Discrete mathematics for Computer Science Instructors: Dr. Abdelouahid Derhab Credit.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Sets.
Discrete mathematics Kwon, Taekyoung Courtesy of Dr. Michael P. Frank University of Florida.
Relationships Between Structures “→” ≝ “Can be defined in terms of” Programs Groups Proofs Trees Complex numbers Operators Propositions Graphs Real.
Discrete Structures for Computing
Design and Analysis of Algorithms 4 th Semester Computer Engineering Spring 2015 Conf.dr.ing. Ioana Sora
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Introduction CSCE 235 Introduction to Discrete Structures Fall 2010 Instructor: Berthe Y. Choueiry (Shu-we-ri) GTA: Robert Woodward
1 BIM304: Algorithm Design Time: Friday 9-12am Location: B4 Instructor: Cuneyt Akinlar Grading –2 Midterms – 20% and 30% respectively –Final – 30% –Projects.
INTRO TO COMPUTING. Looking Inside Computer 2Computing 2 | Lecture-1 Capabilities Can Read Can Write Can Store A/L Operations Automation.
DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2010 Most slides modified from Discrete Mathematical Structures: Theory and Applications by D.S. Malik.
Design and Analysis of Algorithms (09 Credits / 5 hours per week) Sixth Semester: Computer Science & Engineering M.B.Chandak
1 CS 381 Introduction to Discrete Structures Lecture #1 Syllabus Week 1.
CES 592 Theory of Software Systems B. Ravikumar (Ravi) Office: 124 Darwin Hall.
Data Structures and Algorithms in Java AlaaEddin 2012.
1 CSC 281 Discrete Mathematics for Computer Science Dr.Yuan Tian Syllabus.
Analysis of Algorithms: Math Review Richard Kelley, Lecture 2.
CS 225 Discrete Structures in Computer Science Winter, 2014: 157 Spring, 2014: 151 Summer, 2014: Two sections 97 and 53.
CIT 592 Discrete Math Lecture 1. By way of introduction … Arvind Bhusnurmath There are no bonus points for pronouncing my last name correctly Please call.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
CPSC 121: Models of Computation REVIEW. Course Learning Outcomes You should be able to: – model important problems so that they are easier to discuss,
RAIK 283 Data Structures and Algorithms
Introduction CSCE 235H Introduction to Discrete Structures
COMP 283 Discrete Structures
Merge Sort 7/29/ :21 PM The Greedy Method The Greedy Method.
Introduction CSCE 235 Introduction to Discrete Structures
Algorithms: An Introduction
Principles of Computing – UFCFA Lecture-1
CS 201 – Data Structures and Discrete Mathematics I
CS 201 – Data Structures and Discrete Mathematics I
Algorithm Design and Analysis
Merge Sort 11/28/2018 2:18 AM The Greedy Method The Greedy Method.
Merge Sort 11/28/2018 8:16 AM The Greedy Method The Greedy Method.
Jeremy Bolton, PhD Assistant Teaching Professor
Introduction CSE 373 Data Structures.
Introduction CSCE 235H Introduction to Discrete Structures
Merge Sort 1/17/2019 3:11 AM The Greedy Method The Greedy Method.
Algorithm Design and Analysis
Administrivia- Introduction
Principles of Computing – UFCFA Week 1
Administrivia- Introduction
Introduction CSCE 235H Introduction to Discrete Structures
Merge Sort 5/2/2019 7:53 PM The Greedy Method The Greedy Method.
Approximation Algorithms
Discrete Mathematics and Its Applications
Presentation transcript:

Introduction CSCE 235 Introduction to Discrete Structures Spring 2010 Instructor: Berthe Y. Choueiry (Shu-we-ri) GTA: Nobel Khandaker

IntroductionCSCE 235, Spring Outline Introduction: syllabus, schedule, web, topics Why Discrete Mathematics? Basic preliminaries

IntroductionCSCE 235, Spring Introduction Roll Syllabus Lectures: M/W/F 12:30—1:20 pm (Avery 119) Recitations: M 3:30—4:20 pm (Avery 110) Office hours: – Instructor: M/W 1:30—2:30 pm (Avery 360) – TA: Tue/Thu 9:00—10:00 am (Student Res. Center) Must have a cse account Must use cse handin Bonus points: report bugs Web page

IntroductionCSCE 235, Spring Topics TopicSections Propositional Logic1.1—1.2 Predicate Logic1.3—1.4 Proofs1.5—1.6 Sets21.—22 Functions2.3 Relations8.1,8.3—8.6 Algorithms3.1—3.3 Induction4.1—4.2 Counting5.1—5.2 Combinatorics5.3—5.5 Recursion7.1—7.2 PIE7.5 Graphs9.1—9.5 Trees10.1—10.3

IntroductionCSCE 235, Spring Why Discrete Mathematics? (I) Computers use discrete structures to represent and manipulate data. CSE 235 and CSE 310 are the basic building block for becoming a Computer Scientist Computer Science is not Programming Computer Science is not Software Engineering Edsger Dijkstra: “Computer Science is no more about computers than Astronomy is about telescopes.” Computer Science is about problem solving.

IntroductionCSCE 235, Spring Why Discrete Mathematics? (II) Mathematics is at the heart of problem solving Defining a problem requires mathematical rigor Use and analysis of models, data structures, algorithms requires a solid foundation of mathematics To justify why a particular way of solving a problem is correct or efficient (i.e., better than another way) requires analysis with a well- defined mathematical model.

IntroductionCSCE 235, Spring Problem Solving requires mathematical rigor Your boss is not going to ask you to solve – an MST (Minimal Spanning Tree) or – a TSP (Travelling Salesperson Problem) Rarely will you encounter a problem in an abstract setting However, he/she may ask you to build a rotation of the company’s delivery trucks to minimize fuel usage It is up to you to determine – a proper model for representing the problem and – a correct or efficient algorithm for solving it

IntroductionCSCE 235, Spring Scenario I A limo company has hired you/your company to write a computer program to automate the following tasks for a large event Task1: In the first scenario, businesses request – limos and drivers – for a fixed period of time, specifying a start data/time and end date/time and – a flat charge rate The program must generate a schedule that accommodates the maximum number of customers

IntroductionCSCE 235, Spring Scenario II Task 2: In the second scenario – the limo service allows customers to bid on a ride – so that the highest bidder get a limo when there aren’t enough limos available The program should make a schedule that – Is feasible (no limo is assigned to two or more customers at the same time) – While maximizing the total profit

IntroductionCSCE 235, Spring Scenario III Task 3: Here each customer – is allowed to specify a set of various times and – bid an amount for the entire event. – The limo service must choose to accept the entire set of times or reject it The program must again maximize the profit.

IntroductionCSCE 235, Spring What’s your job? Build a mathematical model for each scenario Develop an algorithm for solving each task Justify that your solutions work – Prove that your algorithms terminate.Termination – Prove that your algorithms find a solution when there is one.Completeness – Prove that the solution of your algorithms is correct Soundness – Prove that your algorithms find the best solution (i.e., maximize profit).Optimality (of the solution) – Prove that your algorithms finish before the end of life on earth.Efficiency, time & space complexity

IntroductionCSCE 235, Spring The goal of this course Give you the foundations that you will use to eventually solve these problems. – Task1 is easily (i.e., efficiently) solved by a greedy algorithm – Task2 can also be (almost) easily solved, but requires a more involved technique, dynamic programming – Task3 is not efficiently solvable (it is NP-hard) by any known technique. It is believed today that to guarantee an optimal solution, one needs to look at all (exponentially many) possibilities

IntroductionCSCE 235, Spring Basic Preliminaries A set is a collection of objects. For example: – S = {s 1,s 2,s 3,…,s n } is a finite set of n elements – S = {s 1,s 2,s 3,…} is a infinite set of elements. s 1  S denotes that the object s 1 is an element of the set S s 1  S denotes that the object s 1 is not an element of the set S LaTex – $S=\{s_1,s_2,s_3, \ldots,s_n\}$ – $s_i \in S$ – $si \notin S$