Tải bản đầy đủ (.pdf) (35 trang)

bài giảng tính toán khoa học phần giới thiệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (826.45 KB, 35 trang )

Tính toán khoa học
Scientific Computing
GiẢNG VIÊN: TS. VŨ VĂN THIỆU
Bộ m«n Khoa häc M¸y tÝnh
Viện Công nghệ thông tin và truyền thông
§¹i häc B¸ch khoa Hµ néi
Office: P.602, B1
Email:

Giới thiệu môn học
• Đối tượng: Sinh viên đại học ngành công nghệ thông tin
• Khối lượng:
– 60 tiết (45 tiết lý thuyết + 15 tiết bài tập và đồ án môn học)
– 90 tiết tự học
• Nhiệm vụ của sinh viên:
– Dự lớp: đầy đủ theo quy chế
– Bài tập: hoàn thành các bài tập của học phần
• Đánh giá kết quả:TN/BT/KT(0,3)- T(0,7)
– Điểm quá trình: trọng số 0.3
• Bài tập làm đầy đủ (chấm điểm các bài tập)
• Hoàn thành bài tập lớn (các bài tập)
• Kiểm tra giữa kỳ
– Thi cuối kỳ (trắc nghiệm và tự luận): trọng số 0.7
Các ví dụ về tính toán khoa học
VD1: Phương trình nhiệt
Kết quả VD1
VD2: Mô hình dự báo mực
nước sông, suối
Kết quả VD2
VD3: Mô hình phát triển
của vi khuẩn


 
 
)(
,
)1(
1,
)(
1,
)1(
,1
)(
,1
)1(
,
1
4
k
ji
k
ji
k
ji
k
ji
k
ji
k
ji
cccccc









cD
t
c
2



Kết quả của VD3
VD4: Mô hình dòng chảy chất lỏng
Kết quả của VD4
Tính toán khoa học?
• TTKH liên quan đến việc sử dụng máy tính và các
phương pháp số một cách hiệu quả, tận dụng cấu hình
của các máy tính tiên tiến để giải quyết các bài toán kích
thước lớn trong khoa học và kỹ thuật

• TTKH là tập hợp tất cả các công cụ, kỹ thuật và lý thuyết
cần thiết để phát triển và giải quyết các mô hình toán
học trong khoa học và kỹ thuật trên máy tính
Tính toán khoa học?
Bài toán thực tế
Mô hình toán học
Thuật toán

Kết quả
Ứng dụng
Khoa học
ứng dụng
Tin học
Toán học
Tính toán
Khoa học
Vai trò của tính toán khoa học
• Together with theory and experimentation,
computational science now constitutes the
third pillar of scientific inquiry, enabling
researchers to build and test models of
complex phenomena
(Report to the President, Computational Science: Ensuring
America's Competitiveness, USA, June 2005).

Sai số trong tính toán khoa học
• Sai số mô hình
• Sai số trong quá trình tính toán
– Sai số rút gọn
– Sai số làm tròn
• Sai số dữ liệu đầu vào
• Ví dụ:
– Diện tích bề mặt trái đất = 4πR
2
– Sai số:
• Trái đất không phải hình cầu tuyệt đối
• R = 6370,….km
• Π = 3,14….



Cách tính sai số
• Giả sử x* là xấp xỉ của số thực x:
– Sai số tuyệt đối: | x* - x|
– Sai số tương đối: , x ≠ 0
||
|*|
x
xx 
Biểu diễn số dưới dạng dấu
phẩy động
– VD: 2012 => 0.2012x10
4
;
0.012 => 0.12x10
-1
– Số dấu phẩy động trong hệ đếm cơ số 10
X = ±(.d
1
d
2
…d
n
)
10
x 10
e

= ±(d

1
x 10
-1
+d
2
x 10
-2
+ …d
n
x 10
-n
) x 10
e

– Số dấu phẩy động trong hệ đếm cơ số 2
X = ±(.d
1
d
2
…d
n
)
2
x2
e

= ±(d
1
x 2
-1

+d
2
x 2
-2
+ …d
n
x 2
-n
) x 2
e

– Số dấu phẩy động trong hệ đếm cơ số β
X = ±(.d
1
d
2
…d
n
)
β

e

= ±(d
1
x β
-1
+d
2
x β

-2
+ …d
n
x β
-n
) x β
e


Chuẩn IEEE đối với phép tính số
học nhị phân
• Số V được biểu diễn dưới dạng dấu phảy động
như sau:
V = (-1)
s
x M x 2
e



– Một bit dấu S: s=0 - số dương; s=1 – số âm
– K bit cho trường mũ, để xác định số mũ E trong phạm vi [1-
(2
k-1
-1), 2
k-1
-1 ]
– N bit dành cho trường định trị M, để xác định phần định trị M
trong khoảng [0,2)
• Chuẩn IEEE độ chính xác đơn (single precision):

N=24; e
min
=-125; e
max
=128
• Chuẩn IEEE độ chính xác kép (double precision):
N=53; e
min
=-1021; e
max
=1024

Độ chính xác của máy tính (1)
• Giả sử biểu diễn số thực
X = ±(.d
1
d
2
…d
n
d
n+1
d
n+2
…)
β

e
sử dụng n chữ số. Có hai cách
• Cắt đuôi: Loại bỏ các chữ số: d

n+1
d
n+2

• Làm tròn: Cộng 1 vào chữ số d
n
nếu d
n+1
≥ β/2
Độ chính xác của máy tính (2)
• Gọi fl(x) là biểu diễn số thực dấu phảy động của
x = ±(.d
1
d
2
…d
n
d
n+1
d
n+2
…)
β

e
=fl x β
e


Khi đó sai số tuyệt đối lớn nhất sẽ là:

– β
-n
x β
e
: đối với sai số cắt đuôi
– ½ β
-n
x β
e
: đối với sai số làm tròn
• Sai số tương đối:
– Ɛ
m
= β
1-n
: đối với sai số cắt đuôi
– Ɛ
m
= ½ β
1-n
: đối với sai số làm tròn
• Ɛ
m
gọi là độ chính xác của máy tính, hay đơn vị
làm tròn, hay số epsilon của máy tính; n-1 gọi là
chữ số có nghĩa


Tác động của sai số làm tròn đối với
các phép toán số học

• Gọi fl(x) và fl(y) là biểu dưới dạng dấu phảy
động tương ứng của x và y, khi đó ta có:
fl(fl(x) ± fl(y)) = (fl(x) ± fl(y)) * (1+ Ɛ
1
)
fl(fl(x) * fl(y)) = (fl(x) * fl(y)) * (1+ Ɛ
2
)
fl(fl(x) : fl(y)) = (fl(x) : fl(y)) * (1+ Ɛ
3
)

trong đó:

• => sai số tương đối vẫn nhỏ

mi


Sai số làm tròn tích lũy (1)
• Nguồn gốc:
– Khi một thuật toán phải thực hiện nhiều phép toán,
sai số của mỗi phép toán nhỏ nhưng sai số của thuật
toán có thể lớn. Ta phải quan tâm xem sai số của từng
phép toán tích lũy trong thuật toán như thế nào.
Sai số làm tròn tích lũy (2)
• Sai số đột biến của phép trừ:
– Giả sử giá trị gần đúng của a, b được biểu diễn như sau:

trong đó Δa, Δb là các sai số tương đối thỏa mãn:


– Xét sai số tương đối của phép trừ gần đúng: x=a-b:

– Từ đó sai số tương đối là:


Sai số này rất lớn nếu a ~ b.

),1(),1( bbbaaa 


 ba ,
)()()1()1( bbaababbaabax 

ba
ba
ba
bbaa
x
xx









Hiện tượng tràn số

• Hiện tượng tràn số lớn: xảy ra khi số thu
được lớn hơn số lớn nhất mà hệ dấu phảy
động có thể biểu diễn được: e > e
max

• Hiện tượng tràn số nhỏ: xảy ra khi
số thu được nhỏ hơn số nhỏ nhất mà hệ
dấu phảy động có thể biểu diễn được: e <
e
min



×