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

Phan tich Thuat toan 7

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 (258.95 KB, 10 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

CÁC PH

ƯƠ

NG PHÁP



GI

I QUY

T BÀI TOÁN



TRÊN MÁY TÍNH



Phạm Thế Bảo
Khoa Tốn – Tin học


Trường Đại học Khoa học Tự nhiên Tp.HCM


Phân l

ai



1 Ph

i

ế



1. Ph

ươ

ng pháp tr

c ti

ế

p



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Ph

ươ

ng pháp tr

c ti

ế

p



• Xácđịnh trực tiếpđược lời giải qua một thủtục tính tốn
(cơng thức, hệthức, định luật, …) hoặc qua các bước căn
bảnđểcóđược lời giải.


Việ iải ết ấ đềt ê á tí h hỉlà th tá lậ t ì h


• Việc giải quyết vấnđề trên máy tính chỉlà thao tác lập trình
hay là sự chuyển đổi lời giải từ ngôn ngữ tự nhiờn sang
ngụn ngmỏy tớnhặkthut lp trỡnh trờn mỏy tớnh.


ã Cú ba loại cơbản:



o Lọai thứ nhất, dùng để biểu diễn cho các bài tốn đã có lời giải


chính xác bằng một cơng thức tốn học nàođó.
ví dụ: tính tổng n sốnguyên dương.


ể ễ ầ


( 1)
1 2 ...


2


<i>n n</i>
<i>n</i> +


+ + + =


o Loại thứhai, biểu diễn cho các bài toán có cơng thức giải gầnđúng


(cơng thức tính sin, cos, giải phương trình siêu việt, …).
ví dụ: giải phương trình bậc 2


o Loại cuối cùng, biểu diễn các lời giải không tường minh bằng kỹ


thuậtđệquy.


Phạm Thế Bảo


Chuy

n

đổ

i d

li

u bài toán thành d

li

u ch

ươ

ng trình




Nguyên lý 1: Dữliệu của bài toán sẽ được biểu diễn lại dưới dạng
các biến của chương trình thơng qua các quy tắc xác định của



ngơn ngữlập trình cụthể


1. Biến - phương tiện biểi diễn dữliệu của chương trình
2. Thayđổi giá trịcủa biến - lệnh gán


3. Kiểu dữliệu
4. Hằng số


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Chuy

n

đổ

i quá trình tính tốn c

a bài tốn


thành các c

u trúc c

a ch

ươ

ng trình



• Ngun lý 2 (Định lý Bohn-Jacopini): Mọi q trình tính
tốn đều có thể mơ tả và thực hiện dựa trên ba cấu trúc cơ
bản: tuần tự, rẽnhánh và lặp.


1. Cấu trúc tuần tự
2. Cấu trúc rẽnhánh


1. Rẽnhánh cóđiều kiện: if (condition)


• rẽnhánhđơn: if ()


• rẽnhánhđơi: if () ... else ...


2. Rẽnhiều nhánh: case
2. Rẽnhiều nhánh: case



3. Rẽnhánh khơng cóđiều kiện: LABEL và GOTO


3. Cấu trúc lặp:


1. Lặp xácđịnh
2. Lặp khơng xácđịnh


Phạm Thế Bảo


Phân chia bài tốn ban

đầ

u thành nh

ng


bài tốn nh

h

ơ

n



• Ngun lý 3: Mọi bài tốn lớn đều có thể giải quyết bằng
cách phân chia thành những bài toán nhỏhơn


cách phân chia thành những bài toán nhỏhơn


1. Thủtục và hàm - phương pháp phân chia chương trình thành
những chương trình con.


2. Biến cục bộvà biến tồn cục


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Bi

u di

n tính tốn khơng t

ườ

ng minh b

ng

đệ

quy



• Ngun lý 4: q trìnhđệquy trong máy tính khơngđơn giản
nhưcác biểu thức quy nạp trong tốn học


nhưcác biểu thức quy nạp trong tốn học



• Xem phần trước.


Phạm Thế Bảo


Ph

ươ

ng pháp gián ti

ế

p



Đượ

c s

d

ng khi ch

ư

a tìm ra l

i gi

i chính



á

ấ đề



xác c

a v

n

đề

.



Đ

ây là cách ti

ế

p c

n ch

y

ế

u c

a loài ng

ườ

i


t

x

ư

a

đế

n nay.



L

i gi

i tr

c ti

ế

p bao gi

c

ũ

ng t

t h

ơ

n, nh

ư

ng


khơng ph

i lúc nào c

ũ

ng có



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Phân l

ai ph

ươ

ng pháp gián ti

ế

p


1. Ph

ươ

ng pháp th

- sai





1. Th

- sai h

th

ng



2. Th

- sai phân l

p



3. Th

- sai ng

u nhiên



2. Ph

ươ

ng pháp Heuristic




3 Ph

ươ

ng pháp trí tu

nhân t

o


3. Ph

ươ

ng pháp trí tu

nhân t

o



Phạm Thế Bảo


Ph

ươ

ng pháp th

- sai



Thomas Edison – phát biểu cách tìm một cây kim trong một
đống rơm: “<i>trong khi chưa nghĩrađược một cách thật hay</i>
<i>thì cứ</i> <i>việc rút từng cọng rơm cho</i> <i>đến khi rút</i> <i>được cây</i>
<i>kim</i>”.


Phương pháp này dựtrên 3 nguyên lý:


1. Nguyên lý vét cạn (duyệt toàn bộ): liệt kê tất cảcác trường hợp
xảy ra và xem xét chúng.


Ví dụ: liệt kê tất cảsốnguyên tốtừmđến n.


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

Nguyên lý được phát triên thành phương pháp Monté-Carlos.
Càng ngày nguyên lý ngẫu nhiên càng phát triển mạnh mẽ,
trong số đó có một phương pháp nổi bật là phươn gpháp
Genetic

.



3. Nguyên lý mê cung: nguyên lý nàyđược áp dụng khi chúng ta
khơ biết hí h á "hì h d " ủ lời iải à hải â
khơng biết chính xác "hình dạng" của lời giải, mà phải xây
dựng lời giải dần qua từng bước, giống như tìm được ra khỏi
mê cung.



Phạm Thế Bảo


Th

sai - h

th

ng



1. Ngun lý vét cạn tồn bộ: muốn tìm cây kim trong đống
rơm, hãy lần lượt rút từng cọng rơm đến khi rút được cây
kim.


Thuật giải: gọi D là không gian bài toán (tập tất cảkhả năng
xảy ra), D={(x<sub>1</sub>, x<sub>2</sub>, ...,x<sub>n</sub>)/x<sub>i</sub>∈D<sub>i</sub>với D<sub>i</sub> là tập hữu hạn có m<sub>i</sub>
phần tử}.


gọi f: D {true, false} là quy tắc xácđịnh lời giải.


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

kích thước lớn hơn kích thước mắt lưới.
Ví dụ:


Tìm nghiệm phương trình trong mộtđoạn
Khửnhiễu trongảnh


3. Nguyên lý mê cung: Muốn thóat khỏi mê cung thì phải biết
quay lui và biếtđánh dấu những nơiđãđi qua.


Ví dụ:


Tìmđườngđi ngắn nhất


Phạm Thế Bảo



Th

- sai phân l

p



1. Nguyên lý chung vềgiảm độphức tạp của thử- sai: thu hẹp
tập trường hợp trước và trong khi duyệt, đồng thời đơn giản
tập trường hợp trước và trong khi duyệt, đồng thời đơn giản
hóa tốiđađiều kiện chấp nhận một trường hợp.


2. Quy tắc:


1. đơn giảnđiều kiện: tránh tính lại trong vịng lặp và thừa kếkết quả


tính tốn của bước trước: tổhợp chỉnh hợp, heap sort, ....
2. Kỹthuật cầm canh: mãđi tuần,


• sốâmđầu tiên trong mảng:điều kiện<i>while(x[i]>0&&i<=n) do</i>có bao nhiêu so
á h ? iế l i [ 1] 1 hil ( [i] 0) d


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

• Quy tắc rút gọn:


1. Dựa trênđánh giá tồn cục: tìmđiều kiệnđểrút gọn tập khảnăngđề
cửtrong một bước xây dựng một thành phần.


Ví dụ: tìm tổhợp chặp n của k.


2. Dựa trênđánh giá cục bộ: xây dựng phép kiểm trađơn giảnđểnhanh
chóng loại bỏ được các khảnăng cho thành phần x[i] mà khơng phải
chóng loại bỏ được các khảnăng cho thành phần x[i] mà khơng phải
xây dựng tồn bộn-i thành phần cịn lại của lời giải.


Ví dụ: cho sáu sốtựnhiên A={1,7,2,9,3,5}. Tìm dãy con của A sao


cho tổng các phần tửtrong dãy con bằng 8.


4. Nguyên lýđánh giá nhánh cận: nhánh có chứa quảphải nặng
hơn trọng lượng của quả.


Ví dụ: bài tốn người du lịch.


5. Quay lui không dùngđệquy
6. Phương pháp sinh lời giải


Phạm Thế Bảo


Ph

ươ

ng pháp Heuristic



Trong nhi

u bài tốn dùng ph

ươ

ng pháp th

- sai


s

d

n

đế

n s

l

ượ

ng th

quá l

n

không ch

p


s

d

n

đế

n s

l

ượ

ng th

q l

n

khơng ch

p


nh

n

đượ

c.



Heuristic chính là

ướ

c l

ượ

ng v

kh

n

ă

ng d

n

đế

n


l

i gi

i c

a m

t tr

ng thái: ph

ươ

ng pháp vét c

n


nh

ư

ng có thêm tri th

c

đ

i kèm, t

i

ư

u c

c b

,


nguyên lý h

ướ

ng

đ

ích, nguyên lý s

p th

t

, ....



– ví dví dụụ::


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

Tìm ki

ế

m theo chi

u sâu và chi

u r

ng



Là th

- sai theo nguyên lý mê cung hay


hí h là th

i k

ế

t h

l




chính là th

- sai k

ế

t h

p l

n ng

ượ

c.



N

g

ượ

c v

i tìm ki

ế

m theo chi

u sâu, tìm ki

ế

m


theo chi

u r

ng mang hình

nh c

a v

ế

t d

u


loang.



Phạm Thế Bảo


Giải thuật A*


Ph

ươ

ng pháp trí tu

nhân t

o



"D

y" máy tính

để

có "trí thơng minh" nh

ư


i b

t h

kh

ả ă

"

l

"



con ng

ườ

i b

t ch

ướ

c kh

n

ă

ng "suy lu

n" c

a


con ng

ườ

i.



ví d

: bài tốn

đ

ong n

ướ

c, có 3 bình A, B, và


C có dung tích 5, 8, và 13 lít. Làm sao

đ

ong



đượ

c 11 lít n

ướ

c trong bình C? Bình C ban



đượ

c 11 lít n

ướ

c trong bình C? Bình C ban



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

M

t s

ph

ươ

ng pháp chuy

n giao tri


th

c



1. Bi

u di

n tri th

c



2. H

chuyên gia


3. Máy h

c



</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×