1 / 13

# Introduction CSCE 235 Introduction to Discrete Structures - PowerPoint PPT Presentation

Introduction CSCE 235 Introduction to Discrete Structures. Spring 2010 Instructor: Berthe Y. Choueiry (Shu-we-ri) GTA: Nobel Khandaker http://cse.unl.edu/~choueiry/F10-235/ http://cse.unl.edu/~cse235/. Outline. Introduction: syllabus, schedule, web, topics Why Discrete Mathematics?

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Introduction CSCE 235 Introduction to Discrete Structures

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

## Introduction CSCE 235 Introduction to Discrete Structures

Spring 2010

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

GTA: Nobel Khandaker

http://cse.unl.edu/~choueiry/F10-235/

http://cse.unl.edu/~cse235/

### Outline

• Introduction: syllabus, schedule, web, topics

• Why Discrete Mathematics?

• Basic preliminaries

### 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

### 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

• 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

• 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.

• 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$