The Importance of Mathematics
for Information Technology
(情報テクノロジーでの数学の役割と重要性)
Discrete Mathematics I
(情報数学
I)
1st lecture, September 16/on demand, 2022
https://www.sw.it.aoyama.ac.jp/2022/Math1/lecture1.html
Martin J. Dürst
(テュールスト
マーティン ヤコブ)
duerst@it.aoyama.ac.jp
Building O, Room 529
© 2005-22 Martin
J. Dürst 青山学院大学
Today's Schedule
- Self-introduction
- About this course
- The relationship between Mathematics and Information Technology
- The importance of English
- Example: Proof of an algorithm
- This week's homework
自己紹介
Covid Precautions
- Every morning, measure your body temperature
- If you have increased temperature (above 37.5°) or feel ill, follow the
instructions from the University
- Observe social distance
- Always wear a mask (correctly!)
- Regularly wash/disinfect your hands thoroughly
- Eat/drink quietly, alone
- If you are not vaccinated/boosted yet, get vaccinated/boosted as soon as
possible
About Moodle
We will use the Moodle instance of
the Software Lab in this course.
Moodle is an open-source electronic learning support system.
The address of the course is https://moo.sw.it.aoyama.ac.jp/course/view.php?id=58.
Attention: Both Moodle course enrollment and official
course registration are necessary for successful course completion.
Needed for Moodle course enrollment:
- Information Technology freshmen: Set your own password
- Other Information Technology students: Enroll in course
- Students from other departments:
- Create Moodle account
- Enroll in course
授業の進め方
About Communication by E-mail
To communicate with me, use e-mail (NOT Moodle chat,
NOT CoursePower, ...). Always include:
- Your name (already in header if using Aoyama mail)
- Your student number (already in header if using Aoyama mail)
- The relevant course
- Your actual request (verbal description, avoid screenshots)
- Any past communications (use reply function in mail software)
(E-mail is different from LINE)
Send mail from your Aoyama Mail account, and check your Aoyama Mail account
for mails from me.
You also can used the Q&A
Forum in Moodle.
[連絡は電子メール (又は Q&A
Forum) のみ;
電子メールの場合、る連絡の場合、名前、学籍番号、授業名、具体的な要件と過去の経緯を明確に!]
授業の位置づけ
- 情報テクノロジー学科:
数学・共通科目、必修 (◉)
- 機械創造工学科:
第一科目群、選択必修 (△)
- 経営システム工学科:
第二科目群、選択必修 (▼)
- 情報テクノロジーの初めての本格的な授業
- 理工学国際プログラム E科目 (英語講義):
授業全体 (一回目の一部を抜く) が英語で実施
Method of Evaluation
- Quizes and homework: ~25%
- Minitests: ~25%
- Final exam: ~50%
Comprehensive evaluation
Questions for quizes/homework may be in English only, but for minitests and
final exams, they will be in Japanese or bilingual. Except where explicitly
specified otherwise, answers can always be in Japanese.
英語の大切さ
- 青山学院の歴史
- 国際競争力
- 米国の会社や研究者は情報テクノロジーを長年にリード
- 英語は情報テクノロジーの共通語
(国際会議、学術論文、プログラムなど)
- 最新情報は英語以外で入手不可能
The Importance of English
Example: Ruby Kaigi (one of my talks in
English)
- Ruby is a programming language
created in Japan and used world-wide
- Ruby Kaigi is a yearly conference in Japan
- Attendees are at least 2/3 Japanese
- Presentations are half in Japanese, half in English
- Simultaneous translation Japanese → English available
- Program only in English
- NO simultaneous translation English → Japanese
Glossary
- Each lecture handout comes with a glossary at the end
- The glossary contains:
- Technical terms for this lecture (e.g. binary (number
representation)/二進法) ⇐ part of examination
- Technical terms for computer science (e.g.
compiler/コンパイラ)
- Technical terms from other fields (e.g. topology/位相幾何学)
- General terms/expressions (e.g. technical term/専門用語)
- Please report missing terms
Schedule
Schedule of Discrete Mathematics I
Book list
情報数学の概要
- 「物理数学」や「生物数学」は存在しない
- 「情報数学」も同様
- 情報テクノロジーの様々な分野において様々な数学の分野が基礎
- 情報数学の内容:
- 情報テクノロジー全般で特に基礎となるもの
- 一般の数学の授業であまり教えられていないもの
Examples of Relationship between
Mathematics and Information Technology
Field of Mathematics |
Field of Information Technology |
probability theory |
information transmission, natural language processing, machine
learning |
Fourier analysis |
image processing, sound processing |
linear algebra, geometry, topology |
computer graphics, robotics |
(formal) language theory, type theory |
programming languages, compilers |
number theory |
cryptography |
Discrete Mathematics I and II
- Discrete Mathematics I:
- Representations of numbers, modular arithmetic
- Logic: Boolean formulæ, Boolean functions, propositional logic,
predicate logic
- Sets, relations, algebraic structures, etc.
- Proof methods
- Discrete Mathematics II (Prof. Ohara, Fall 2023):
- Information theory
- Graph theory
数学の考え方
- 数学は道具 (tool)
- 数学は言語 (language)
- 数学は考え方 (way of thinking)
言語としての数学
- 自然言語 (日本語、英語、ドイツ語など)
- 言葉もあるが、記号が多い
- 他の言語に比べて、正確で簡潔
- 使う記号に一部方言が存在
- 他に情報テクノロジーに大事な言語?
Homework: Languages Necessary for Information Technology
Complete the quiz at https://moo.sw.it.aoyama.ac.jp/mod/quiz/view.php?id=3036
Deadline: Tuesday, Sept. 27, 22:00 (strict)
Caution: One attempt, 5 minutes
英語の勉強の仕方
- 英語と専門・趣味の連結
- ウェブ上に山ほどの材料
- 飛び込んで、足が付けない場所で泳ぐ
- 目・耳・口・手・体で勉強
- 英語で考える
- 完璧になる必要がない
- 慣れるのは大変; 慣れた後は楽しい
How to Study English
- Use English for your studies and your hobbies
- On the Web, there are many materials (texts, audio, video)
- Learn to swim where your feet can't reach the ground
- Use eyes, ears, mouth, hands, and your whole body
- Think in English
- No need to be perfect
- Starting is tough, but it gets easier and more fun as you progress
Simple Arithmetic in English
Addition: Two plus two is four.
Subtraction: Twelve minus five equals seven.
Multiplication: Fifteen times two is thirty.
Division: Two hundred divided by five is forty.
(see https://en.wikipedia.org/wiki/English_numerals)
Homework: Simple Arithmetic in English
Complete the quiz at https://moo.sw.it.aoyama.ac.jp/mod/quiz/view.php?id=3036
Deadline: Tuesday, Sept. 27, 22:00 (strict)
Repeat until you get 100% correct answers
Example: Proof of an Algorithm
- Algorithm: Recipe of how to solve a problem, often expressed as a
program
- Our problem: Calculate the Greatest Common Denominator (GCD)
- Definition of GCD:
g = gcd(a, b) if and only if
a=cg and
b=dg (g is a factor
(denominator) of a and b)
and there is no h>g so that
a=c'h and
b=d'h
where a, b, c, d,
c', d', g and h are all
∈ℕ
where ℕ = {1, 2, 3, ...}
- Example: The GCD of 35 and 63 is 7.
(a=35, b=63, g=7, c=5,
d=9)
The Euclidean Algorithm for the GCD
To calculate the GCD of a and b, assuming that
a,b∈ℕ:
- Case 1: If a=b then gcd(a,
b) = a (and we are done)
- Case 2: If a>b then gcd(a,
b) = gcd(a-b, b)
- Case 3: If a<b then gcd(a,
b) = gcd(a, b-a)
Example: gcd(35, 63) = gcd(35, 28) = gcd(7,
28) = gcd(7, 21) = gcd(7, 14) = gcd(7, 7) = 7
What we have to prove:
- The algorithm finishes (terminates)
- The algorithm is correct
Proof of Termination
Prove that the algorithm terminates:
Case 1:
We are done, so okay.
Case 2/3 (symmetric):
The sum a+b gets smaller in both cases, but both
a and b are >0.
The sum will get smaller by at least 1, so we need at most
a+b
invocations of the algorithm to terminate.
Proof of Correctness
Case 1: g = gcd(a, b) =
a = b so c=d=1,
and so there is no h>g with
a=c'h and
b=d'h.
Case 2 (and symmetric for case 3): g =
gcd(a, b) =
gcd(a-b, b)
Assuming that the result for gcd(a-b,
b) is correct,
a-b=(c-d)g=cg-dg
and b=dg and therefore
a=cg,
so g is a factor of a-b, b, and
a.
If there is a larger factor h>g for a and
b,
then this would also be a larger factor for a-b,
but g is the largest factor for a-b and
b,
and so it must also be the largest factor for a.
Q.E.D.
Math used in Proof
- Arithmetic
- Logic
- Set theory
- Proof methods
Algorithm as a Program (C Function)
int gcd (int a, int b)
{
if (a==b)
return a;
else if (a>b)
return gcd(a-b, b);
else if (a<b)
return gcd(a, b-a);
}
Algorithm as a Program (Ruby Method)
def gcd (a, b)
if a==b then a
elsif a>b then gcd(a-b, b)
elsif a<b then gcd(a, b-a)
end
end
This Week's Homework (Summary)
- Make sure you are officially registered for the course and enrolled in Discrete
Mathematics I
- Review decimal number representation, binary number representation, and
n-ary number representation based on high-school notes and Web
resources
- Solve the Quiz Languages
Necessary for Information Technology (one attempt, maximum 5 minutes;
deadline: September 27, 22:00 (no extensions))
- Solve the Quiz Simple
Arithmetic in English (repeat until you get it 100% correct;
deadline: September 27, 22:00 (no extensions))
- Check out/buy/borrow a textbook or reference book
次回までの宿題のまとめ
Glossary
- technical term
- 専門用語
- probability theory
- 確率論
- information transmission
- 情報通信
- natural language processing
- 自然言語処理
- fourier analysis
- フーリエ解析
- image processing
- 画像処理
- sound processing
- 音声処理
- representations of numbers
- 数の表現
- modular arithmetic
- 合同算術
- logic
- 論理
- Boolean formulæ
- 論理式
- Boolean function
- 論理関数
- propositional logic
- 命題論理
- predicate logic
- 述語論理
- set
- 集合
- relation
- 関係
- proof methods
- 証明の仕方、証明方法
- information theory
- 情報理論
- linear algebra
- 線形代数
- geometry
- 幾何学
- topology
- 位相幾何学
- computer graphics
- コンピュータグラフィクス
- robotics
- ロボット工学
- (formal) language theory
- (形式) 言語理論
- programming language
- プログラム言語
- compiler
- コンパイラ
- number theory
- 整数論
- cryptography
- 暗号学
- graph theory
- グラフ理論
- simultaneous translation
- 同時通訳
- native tongue
- 母国語
- (course) registration
- (履修) 登録
- enrollment
- (履修) 登録
- electronic learning support system
- 電子学習支援システム
- repeater
- 再履修者
- digit
- 桁
- spam/junk
- 迷惑メール
- algorithm
- アルゴリズム
- greatest common denominator
- 最大公約数
- factor
- 約数
- Euclid
- ユークリッド
- deadline
- 締切
- decimal (number representation)
- 十進法
- binary (number representation)
- 二進法
- n-ary (number representation)
- n進法
- textbook
- 教科書
- reference book
- 参考書