Introduction csce 235 introduction to discrete structures
This presentation is the property of its rightful owner.
Sponsored Links
1 / 13

Introduction CSCE 235 Introduction to Discrete Structures PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

Introduction CSCE 235 Introduction to Discrete Structures. Spring 2010 Instructor: Berthe Y. Choueiry (Shu-we-ri) GTA: Nobel Khandaker Outline. Introduction: syllabus, schedule, web, topics Why Discrete Mathematics?

Download Presentation

Introduction CSCE 235 Introduction to Discrete Structures

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Introduction CSCE 235 Introduction to Discrete Structures

Spring 2010

Instructor: Berthe Y. Choueiry (Shu-we-ri)

GTA: Nobel Khandaker


  • Introduction: syllabus, schedule, web, topics

  • Why Discrete Mathematics?

  • Basic preliminaries


  • 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


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.

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.

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

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

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

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.

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

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

Basic Preliminaries

  • A set is a collection of objects.

  • For example:

    • S = {s1,s2,s3,…,sn} is a finite set of n elements

    • S = {s1,s2,s3,…} is a infinite set of elements.

  • s1  S denotes that the object s1 is an element of the set S

  • s1  S denotes that the object s1 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$

  • Login