• 沒有找到結果。

Analysis [CSIE 2136](02) Algorithm Design and

N/A
N/A
Protected

Academic year: 2022

Share "Analysis [CSIE 2136](02) Algorithm Design and"

Copied!
20
0
0

加載中.... (立即查看全文)

全文

(1)

Algorithm Design and Analysis

Prof. Michael Tsai Fall 2013

(updated 09/12/2013)

(2)

演算法設計與分析

這堂課上什麼?

接續上學期的”資料結構與演算法”後,

本學期的課題:

1. 設計演算法的一些原則/方法/效能分析

2. 軟體設計世界(業界)中的一些經驗談 (聽別人的經驗 談) – 非專業版

專業版請上李允中老師的軟體工程課程

本課程很有可能是您大學最後一門跟”程式設計”直接 相關的課程

目標: 在真實世界中,

知道怎麼 設計/寫/教別人 寫 好程式

(3)

Algorithm Design Strategy

Algorithm Analysis

Specific Algorithm Design

課程大綱

演算法方面: (2/3)

Divide-and-Conquer

Dynamic Programming

Greedy Algorithms

Amortized Analysis

NP-Completeness

Multi-threaded Algorithms

Advanced Graph Algorithms

Other Advanced Topics

(4)

課程大綱

 軟體工程方面: (1/3)

Manage your development schedule

The software company game

Functional specifications

Paper prototyping

(還有…看狀況)

要記得我第一堂課就有講課程 大綱囉, 期末的時候填課程意 見問卷的時候不要再說我沒有

先講了. T_T

(5)

上課地點與時間

教室: CSIE Building R102

 時間: 每週四, 6, 7, 8節

第二節 14:20-15:10

第三節 15:30-16:20

第四節 16:30-17:20

 實際的上課時間:

大約為14:20-15:10, 15:20-16:10, 16:20-17:10

看大家的”想睡程度”決定下課時間

(6)

呂學一老師的同一門課程…

呂老師是演算法專業又得過教學傑出獎的教授!

在人數上許可的範圍內,歡迎單雙班的同學自由轉班

本班預設上限: 95人

授課內容及範圍大致相同

演算法設計與分析的部分大致相同

本班不教基礎圖論(Graph)的部分/呂學一老師有教

補充的軟體工程部分

本班的程式實作部分可能略重,請自行考量

本班的授課教師上課愛耍寶耍冷搞笑、喜歡找同學回答 問題,請自行考量

喔不!

冷!

(7)

加簽原則

預設本班人數上限95人

本系優先

1.

大二雙班或單班修過我的DSA

2.

研究所應修

3.

>大二單班 > 大四 > 大三 > 大一

外系

1.

上學期修過我的DSA>

2.

電機資訊學院>

3.

其他外系同學

今天先登記(姓名, 系級, 學號及E-mail), 待名單確定後寄 送授權碼或拒絕鼓勵信

可能會用HW0來做篩選 (要寫出hw0才有修課資格)

(8)

重要日期

 10/31, 12/12, 12/19:老師出國

解決方案 (決定之後會跟各位確認):

Option 1: 助教群於當周輪番上陣上課

Option 2: 尋找另外時間補課 如國慶日開直播??

 11/7: 期中考 (於學校期中考周)

 12/5: Software Company Game報告

 1/9: 期末考 (於學校期末考周)

(9)

課本 (需要買/可能已經買了)

Introduction to Algorithms, 3 rd edition, 2009, MIT Press by Cormen, Leiserson, Rivest, and Stein

*借用呂學一老師2010 Fall投影片中的圖片

(10)

參考資料 (不需要買, 線上有)

“Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity” (勒勒長的書名)

“More Joel on Software: Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity” (勒勒長again)

by Joel Spolsky, 2004 & 2008, Apress

(11)

課程特色

 “上課簡單、作業難”

 “動畫為主”的上課解說

 80%以上的同學可以了解80%以上上課的東西

 大量的時間花在作業上

 六位神級助教 (都比我強)

謎之說明:卷卷+嗆我+前DSA助教+前DSA/ADA A+助教

 上課你沒有弄懂, 我不會放棄的

你沒聽懂, 我就再講一次

你有問題(沒有笨問題), 我就回答你(如果我會的話)

當我問有沒有聽懂的時候, 請理我一下 Q_Q

http://zonble.net/archives/2013_07/1511.php

(12)

改變

 Some English Lectures…. maybe…

(to improve my own English fluency)

 上課步調加快/作業變得更難-大二進階課程

 使用點名機點人回答 (拉霸)

 課程內容中更多的證明 (會試著用動畫解釋)

批改娘重現江湖

(13)

成績計算方式

1.

6次作業, 占36%,

最佳的一次加重50%, 最差的一次減重50%

Sum(HW1-6)+Max(HW1-6)*.5-Min(HW1-6)*.5

2.

上課Quiz 6% (不一定什麼時候會考)

3.

Software Company Game (team project) 12%

4.

期中考 20% (涵蓋期中考前課程內容)

5.

期末考 or final project 26% (涵蓋全課程內容)

細節:

期末成績加總後之原始分數不會調整

等第之對應由老師與助教於學期末決定

根據經驗, 只要作業都有交, 考試考卷每題都有寫不放棄, 就 很難被當

(14)

作業

分程式作業 + 手寫作業

程式作業: 每次1題

使用劉邦鋒老師的批改娘系統

網址: http://katrina.csie.ntu.edu.tw/judgegirl/

Source Code和上學期一樣, 使用Subversion繳交

記住, 批改娘只能幫你”用部分答案檢查你的程式對不對”

自己思考怎麼產生測試資料也是作業的一部分

手寫作業: 每次3-4題

用手寫的方法做演算法的證明與分析

或者用手寫的方式設計演算法

作業繳交期限皆為星期四下午2點

(15)

作業

鼓勵討論

每一題都請註明參考的資料/討論的同學

例1: 本題參考wikipedia上面的Divide-and-Conquer 網頁(網 址...)

例2: 本題跟許伯駒討論過

例3: 本題參考課本第xxx頁

絕對不能照抄等同於抄襲

(請了解之後, 用自己的話寫/自己撰寫程式碼)

禁止把別人的答案放在前面參考,同時一面寫自己的作業

抓到抄襲的, 本課程成績為

F (當掉)

(16)

作業: 期限&遲交&折扣

用手寫的作業無法遲交 (上課前必須繳交)

 用svn繳交的作業: (包含程式作業和手寫部分)

可以把手寫部分掃描成電子檔 (pdf), 即可遲交

有一天的遲交緩衝期

分數: 以秒計打折扣. 例如慢3小時交, 則只能得1- 3600*3/86400=87.5%的分數

 詳細規則會出現在每次作業的最前面

 請注意檔名!

(17)

Zero-tolerance政策: 抄襲

 作業抄襲(程式或手寫) = 本學期成績為 F (不是只

有該次0分)

 考試作弊 =本學期成績為 F

 以上 均無第二次機會 請注意!

抄襲/作弊 以校規論處.

 注意: 上學期有>5人抄襲被 處理 .

(18)

教學團隊

Name Where (Office Hour) Office Hour

蔡欣穆(Michael) R316 TBD

蔡政澔 R528 13:00-14:00, Fridays

張庭維(拉球) R217 13:00~14:00, Wednesdays

周儒成 R217 13:00~14:00, Wednesdays

張雅涵(Jennya) R217 13:00~14:00, Thursdays

李廣和 地下室圓柱台 16:30-17:20, Tuesdays

朱鴻敏 地下室圓柱台 16:30-17:20, Tuesdays

E-mail: ada@csie.ntu.edu.tw

(19)

通訊

 課程網頁:

http://www.csie.ntu.edu.tw/~hsinmu/courses/ada_13fall

[Office hours] 請多加利用.

 [學生老師/助教]

課程相關的所有問題, 請

1.

寄e-mail給 ada@csie.ntu.edu.tw

2.

FB Group:

http://www.facebook.com/groups/335809569795582/

3.

請來我們的Office hour發問

 [老師/助教學生]

[主要]會寄e-mail到CEIBA上登記的e-mail信箱 (大部分人是學校e-mail, 不是系上信箱, 請注意!)

[主要] 會請助教發在FB Group上

http://photo.hanyu.iciba.com/upload/encyclopedia_2/f9/49/s_bk_f94941b862 17da3644d75efd4ccb9373_foey70.jpg

(20)

記得要做的事情

CEIBA上的e-mail確定收 得到 (可以加其他e-mail)

課本趕快買(拿)到 (大部 分人應該拿到了)

每天睡飽(not in the class), 迎接本學期的挑戰

加選訊息會在FB + CEIBA e-mail公布

若有hw0會在周末公布

參考文獻

相關文件

• makes a locally optimal choice in the hope that this choice will lead to a globally optimal solution.. • not always yield optimal solution; may end up at

Textbook Chapter 33.4 – Finding the closest pair of points.. Closest Pair of

✓ Combining an optimal solution to the subproblem via greedy can arrive an optimal solution to the original problem. Prove that there is always an optimal solution to the

✓ Combining an optimal solution to the subproblem via greedy can arrive an optimal solution to the original problem.. Prove that there is always an optimal solution to the

Textbook Chapter 4.3 – The substitution method for solving recurrences Textbook Chapter 4.4 – The recursion-tree method for solving recurrences Textbook Chapter 4.5 – The master

Calculate the amortized cost of each operation based on the potential function 4. Calculate total amortized cost based on

jobs

For example, as a user of deep learning, you probably need to roughly know how it worksX. Otherwise you might now know what you are doing and what kinds of results you