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

Nhóm 3 trò chơi 2048

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 (3.25 MB, 35 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
======***======

BÁO CÁO THÍ NGHIỆM/THỰC
NGHIỆM MƠN TRÍ TUỆ NHÂN TẠO
Đề tài:Trị chơi 2048
GVHD:
Nhóm - Lớp:
Thành viên:

Nguyễn Lan Anh
Nhóm 3 - IT6043.2
Trịnh Xuân Đào
Nguyễn Hoàng Anh
Vũ Tuấn Dũng

Hà Nội, năm 2021


2

MỤC LỤC
Lời mở đầu……………………………………………………………………3


3

LỜI MỞ ĐẦU
Công nghệ thông tin là một ngành rất phát triển trong xã hội ngày nay. Nó
được ứng dụng trong rất nhiều ngành, lĩnh vực và đạt được hiệu quả cao. Đặc biệt là


trong lĩnh vực trí tuệ nhân tạo, làm giảm nhẹ được sức của con người , tiết kiệm
thời gian và gọn nhẹ hơn nhiều so với trước kia. Ứng dụng trí tuệ nhân tạo vào các
ứng dụng giúp chúng ta có thể đưa ra cách nhanh nhất để giải quyết vấn dề
Từ những nhận thức về tầm quan trọng của ngành công nghệ thông tin và trí
tuệ nhân tạo, cùng với sự mong muốn học hỏi và đóng góp một phần nhỏ đưa tin
học ứng dụng vào cơng tác quản lý chúng em đã hồn thành đề tài.
Trong thời gian nghiên cứu, cùng với sự nỗ lực của cả nhóm và sự giúp đỡ
nhiệt tình của bạn bè, trên hết là sự hướng dẫn của cô Nguyễn Lan Anh chúng em
đã hoàn thành tốt đề tài của mình. Do kiến thức cịn hạn chế nên chúng em khơng
tránh khỏi những sai sót, chúng em rất mong nhận được ý kiến đóng góp của thầy
cơ, bạn bè để đề tài của chúng em được hoàn thiện hơn.


4

Chương I: Giới thiệu
1.1.Lịch sử phát triển
1943


Warren McCullough và Walter Pitts xuất bản cuốn “A Logical Calculus
of Ideas Immanent in Nervous Activity”, dịch ra là “Một tính tốn logic
của những ý tưởng tiềm ẩn trong hoạt động thần kinh”. Bài viết đề xuất
mơ hình tốn học đầu tiên để xây dựng một mạng lưới thần kinh.

1949


Trong cuốn sách “The Organization of Behavior: A Neuropsychological
Theory”- Tổ chức hành vi: Một lý thuyết thần kinh học,Donald Hebb đề

xuất lý thuyết về các hệ thống con đường thần kinh được tạo ra từ các
kết nối giữa các tế bào thần kinh trở nên mạnh mẽ hơn.

1950


Alan Turing xuất bản “Computing Machinery and Intelligence” – Máy
tính và trí thơng minh, đề xuất Thử nghiệm Turing, một phương pháp
để xác định xem một máy tính có thơng minh hay khơng.


5


Đại học Harvard Marvin Minsky và Dean Edmonds xây dựng SNARC,
máy tính mạng thần kinh đầu tiên.



Claude Shannon xuất bản bài báo “Lập trình máy tính để chơi cờ”.



Isaac Asimov xuất bản “Ba định luật về robot”.

1952


Arthur Samuel phát triển một chương trình tự học để chơi cờ.


1954


Thí nghiệm dịch máy Georgetown-IBM tự động dịch 60 câu tiếng Nga
được chọn cẩn thận sang tiếng Anh.

1956


Cụm từ trí tuệ nhân tạo lần đầu tiên được nói đến tại “Dự án nghiên cứu
mùa hè về trí tuệ nhân tạo”. Với sự dẫn đầu bởi John McCarthy, hội
nghị, trong đó xác định phạm vi và mục tiêu của AI, được coi là sự ra
đời của trí tuệ nhân tạo như chúng ta biết ngày nay.


6

Hội nghị Dartmouth với sự dẫn đầu bởi John McCarthy


Allen Newell và Herbert Simon trình diễn Nhà lý luận logic (LT),
chương trình lý luận đầu tiên.

1958


John McCarthy phát triển ngơn ngữ lập trình AI Lisp và xuất bản bài
báo “Programs with Common Sense”. Bài viết đã đề xuất nhà tư vấn
giả thuyết, một hệ thống AI hoàn chỉnh với khả năng học hỏi kinh
nghiệm hiệu quả như con người.


1963


John McCarthy bắt đầu Phịng thí nghiệm AI tại Stanford.

1969


Các hệ thống chuyên gia thành công đầu tiên được phát triển trong
DENDRAL, một chương trình XX và MYCIN, được thiết kế để chẩn
đốn nhiễm trùng máu, được tạo ra tại Stanford.

Năm 1972


Ngơn ngữ lập trình logic PRITAL được tạo ra.

Năm 1973


7


“Báo cáo Lighthill”, nêu chi tiết về sự thất bại trong nghiên cứu AI,
được chính phủ Anh cơng bố, từ đây dẫn đến việc cắt giảm nghiêm
trọng tài trợ cho các dự án trí tuệ nhân tạo.

1982



Bộ Thương mại Quốc tế và Công nghiệp Nhật Bản khởi động dự án Hệ
thống máy tính thế hệ thứ năm đầy tham vọng. Mục tiêu của FGCS là
phát triển hiệu năng giống như siêu máy tính và một nền tảng để phát
triển trí tuệ nhân tạo AI.

1983


Đáp lại FGCS của Nhật Bản, chính phủ Hoa Kỳ khởi động Sáng kiến
điện toán chiến lược để cung cấp nghiên cứu được tài trợ bởi DARPA
trong điện tốn tiên tiến và trí tuệ nhân tạo.

1985


Các cơng ty đang chi hơn một tỷ đô la một năm cho các hệ thống
chun gia và tồn bộ ngành cơng nghiệp được gọi là thị trường máy
Lisp mọc lên để hỗ trợ họ. Các công ty như Symbolics và Lisp
Machines Inc. xây dựng các máy tính chuyên dụng để chạy trên ngơn
ngữ lập trình AI Lisp.

1987-1993


Khi cơng nghệ điện tốn đám mây được cải thiện, có nhiều lựa chọn
thay thế rẻ hơn xuất hiện và thị trường máy Lisp sụp đổ vào năm 1987,
mở ra “Mùa đông AI thứ hai”. Các chuyên gia AI rất chật vật và không
được sự ủng hộ trong giai đoạn này




DARPA kết thúc Sáng kiến Điện toán Chiến lược vào năm 1993 sau khi
chi gần 1 tỷ đô la và không đạt được kỳ vọng như đã tính tốn


8

2008


Google tạo ra những bước đột phá trong nhận dạng giọng nói và giới
thiệu tính năng này trong ứng dụng iPhone.

2011


Watson của IBM tuyên bố cạnh tranh về Jeopardy!.

2012


Andrew Ng, người sáng lập dự án Google Brain Deep Learning, cung
cấp một mạng lưới thần kinh bằng cách sử dụng thuật toán 10 triệu
video YouTube dưới dạng tập huấn luyện. Mạng lưới thần kinh đã học
cách nhận ra một con mèo mà khơng được cho biết con mèo là gì

2014



2016

Google tạo ra chiếc xe tự lái đầu tiên để vượt qua bài kiểm tra lái xe
của nhà nước.


9


AlphaGo của Google DeepMind đánh bại nhà vô địch thế giới cờ vây
Lee Sedol. Sự phức tạp của trò chơi Trung Quốc cổ đại được coi là một
trở ngại lớn để giải tỏa trong AI.

1.2.Khái niệm về trí tuệ nhân tạo
-

Trí tuệ nhân tạo hay trí thơng minh nhân tạo (Artificial intelligence – viết tắt là AI)
là một ngành thuộc lĩnh vực khoa học máy tính (Computer science). Là trí tuệ do
con người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động hóa các
hành vi thơng minh như con người.

-

Trí tuệ nhân tạo khác với việc lập trình logic trong các ngơn ngữ lập trình là ở việc
ứng dụng các hệ thống học máy (machine learning) để mơ phỏng trí tuệ của con
người trong các xử lý mà con người làm tốt hơn máy tính.

-

Cụ thể, trí tuệ nhân tạo giúp máy tính có được những trí tuệ của con người như:

biết suy nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do hiểu ngơn ngữ,
tiếng nói, biết học và tự thích nghi,…

-

Tuy rằng trí thơng minh nhân tạo có nghĩa rộng như là trí thơng minh trong các tác
phẩm khoa học viễn tưởng, nó là một trong những ngành trọng yếu của tin học.
Trí thơng minh nhân tạo liên quan đến cách cư xử, sự học hỏi và khả năng thích
ứng thơng minh của máy móc.


10

1.3.Vai trị của trí tuệ nhân tạo
* Chất lượng – Năng suất dự đốn
- Vai trị của trí tuệ nhân tạo đầu tiên là giảm thiểu các hao tổn trong sản xuất và
ngăn ngừa các quy trình sản xuất kém hiệu quả. Khi nhu cầu ngày càng tăng để
đáp ứng sự cạnh tranh thì trí tuệ nhân tạo là điều vơ cùng cần thiết.
*Bảo trì sự dự đốn
- Một trong những lợi ích của trí tuệ nhân tạo nữa là bảo trì dự đốn. Thay vì việc

bảo trì theo lịch trình định trước thì bảo trì dự đốn sẽ sử dụng thuật toán để dự
đoán lỗi tiếp theo của một bộ phận/máy móc/hệ thống. Nhờ đó có thể cảnh báo
nhân viên thực hiện các quy trình bảo trì tập trung để ngăn chặn sự cố.
- Bảo trì dự đốn có ưu điểm là giảm đáng kể chi phí trong khi loại bỏ nhu cầu về
thời gian ngừng hoạt động theo kế hoạch trong nhiều trường hợp. Ngồi ra, nhờ
nó mà Tuổi thọ hữu dụng cịn lại của máy móc và thiết bị lâu hơn.
*Kết hợp giữ robot và con người
- Tính đến năm 2020, ước tính có khoảng 1,64 triệu robot cơng nghiệp đang hoạt
động trên tồn thế giới. Robot sản xuất được chấp thuận làm việc cùng với con

người để tăng năng suất công việc.
- Khi áp dụng robot ngày càng nhiều thì AI sẽ đóng một vai trị quan trọng trong
việc đảm bảo an toàn cho con người. Đồng thời trao cho robot nhiều trách nhiệm
hơn trong việc đưa ra các quyết định có thể tối ưu hóa các quy trình dựa trên dữ
liệu thời gian thực được thu thập từ sàn sản xuất.


11

*Thiết kế sáng tạo
- Nhà sản xuất có thể tận dụng trí tuệ nhân tạo vào giai đoạn thiết kế. Khi
có bản tóm tắt thiết kế được xác định rõ rành làm đầu vào thì các nhà kỹ
sư, thiết kế có thể sử dụng thuật tốn al. Mục đích để khám phá tất cả các
cấu hình có thể có của một giải pháp.
*Nhu cầu cung ứng thị trường
- Vai trò của trí tuệ nhân tạo cuối cùng là cung ứng thị trường. Hiện nay trí
tuệ nhân tạo đang hiện hữu ở mọi nơi trong hệ sinh thái công nghiệp 4.0.
Nhà sản xuất có thể sử dụng các thuật tốn AI để tối ưu hóa chuỗi cung
ứng của các hoạt động sản xuất. Đồng thời giúp họ phản ứng và dự đoán
tốt hơn những thay đổi trên thị trường.

1.4.Các thành phần của trí tuệ nhân tạo
* Học tập
- Tương tự như con người, các chương trình máy tính cũng học các cách cư
xử khác nhau. Nói về AI, việc học bằng nền tảng này được tách biệt thành


12
nhiều hình thức khác nhau. Là một trong những thành phần thiết yếu, học cho
AI bao gồm phương pháp thử-và-sai (hoàn thành một việc bằng cách thử

dung các biện pháp khác nhau cho đến khi tìm được biện pháp đúng). Bằng
cách này, chương trình sẽ ghi chú lại tất cả các động thái mang lại kết quả tích
cực và lưu trữ trong cơ sở dữ liệu để sử dụng vào lần sau khi máy tính gặp sự
cố tương tự.
* Lý luận
- Nghệ thuật lập luận là thứ chỉ giới hạn ở con người cho đến năm thập kỷ
trước. Khả năng khác biệt hóa khiến Lý trí trở thành một trong những thành
phần thiết yếu của trí tuệ nhân tạo. Lý do là để cho phép nền tảng rút ra các
suy luận phù hợp với tình huống được cung cấp. Hơn nữa, những suy luận
này cũng được phân loại là quy nạp hoặc suy diễn. Sự khác biệt là trong một
trường hợp suy luận, lời giải của một vấn đề cung cấp sự đảm bảo cho kết
luận. Ngược lại, trong trường hợp quy nạp, tai nạn luôn là kết quả của sự cố
thiết bị.
- Việc sử dụng các giao thoa suy diễn của máy tính lập trình đã mang lại cho
chúng những thành công đáng kể. Tuy nhiên, suy luận luôn liên quan đến việc
rút ra những suy luận có liên quan từ tình huống hiện tại.

* Giải quyết vấn đề
-Ở dạng chung, khả năng giải quyết vấn đề của AI bao gồm dữ liệu, trong đó
giải pháp cần tìm x. AI chứng kiến nhiều vấn đề đáng kể đang được giải quyết
trong nền tảng. Các phương pháp ‘Giải quyết vấn đề’ khác nhau tính cho các
thành phần trí tuệ nhân tạo thiết yếu giúp phân chia các truy vấn thành các
mục đích đặc biệt và chung.
* Sự nhận thức
- Khi sử dụng thành phần 'nhận thức' của Trí tuệ nhân tạo, phần tử quét bất kỳ
môi trường nhất định nào bằng cách sử dụng các cơ quan cảm giác khác nhau,
nhân tạo hoặc thực. Hơn nữa, các quy trình được duy trì nội bộ và cho phép
người nhận phân tích các cảnh khác trong các đối tượng được gợi ý và hiểu
mối quan hệ và tính năng của chúng. Phân tích này thường phức tạp như một
và các mục tương tự có thể tạo ra một lượng đáng kể các lần xuất hiện khác

nhau trong các trường hợp khác nhau, tùy thuộc vào quan điểm của góc độ
được đề xuất.


13
- Ở trạng thái hiện tại, nhận thức là một trong những thành phần của trí tuệ
nhân tạo có thể đẩy xe ô tô tự lái ở tốc độ vừa phải. FREDDY là một trong
những robot ở giai đoạn đầu sử dụng tri giác để nhận ra các vật thể khác nhau
và lắp ráp các đồ tạo tác khác nhau.

* Hiểu ngơn ngữ
- Nói một cách đơn giản hơn, ngơn ngữ có thể được định nghĩa là một tập hợp
các dấu hiệu hệ thống khác nhau để biện minh cho các phương tiện của chúng
bằng cách sử dụng quy ước. Xuất hiện như một trong những thành phần trí
tuệ nhân tạo được sử dụng rộng rãi, khả năng hiểu ngôn ngữ sử dụng các loại
ngơn ngữ đặc biệt thay vì các dạng khác nhau của ý nghĩa tự nhiên, được ví
dụ như nói q.

1.5.Các lĩnh vực nghiên cứu
*Cảm nhận
- Thị giác máy : Đây là lĩnh vực thuộc trí tuệ nhân tạo có mục đích nghiên
cứu về việc thu nhận, xử lý, phân tích, nhận dạng thơng tin hình ảnh thu được
từ các cảm biến hình ảnh như camera
- Nhận dạng mẫu là lĩnh vực nghiên cứu lớn nhất trong phạm vi thị giác máy.
Bản thân nhận dạng mẫu được chia thành nhiều bài toán nhỏ và đặc thù hơn
như bài tốn nhận dạng đối tượng nói chung, nhận dạng các lớp đối tượng cụ
thể như nhận dạng mặt người, nhận dạng vân tay, nhận dạng chữ viết tay
hoặc chữ in.
- Xử lý ngôn ngữ tự nhiên: Xử lý ngôn ngữ tự nhiên bao gồm ba giai đoạn
chính: nhận dạng tiếng nói (speech recognition), xử lý thơng tin đã được biểu

diễn dưới dạng văn bản, và biến đổi từ văn bản thành tiếng nói (text to
speech).
*Lập luận suy diễn


14
-Biểu diễn tri thức : Nhiều bài tốn của trí tuệ nhân tạo địi hỏi lập luận dựa
trên hình dung về thế giới xung quanh. Để lập luận được, sự kiện, thông tin,
tri thức về thế giới xung quanh cần được biểu diễn dưới dạng máy tính có thể
“hiểu” được, chẳng hạn dưới dạng logic hoặc ngơn ngữ trí tuệ nhân tạo nào
đó. Thơng thường, hệ thống cần có tri thức về: đối tượng hoặc thực thể, tính
chất của chúng, phân loại và quan hệ giữa các đối tượng, tình huống, sự kiện,
trạng thái, thời gian, nguyên nhân và hiệu quả, tri thức về tri thức (chúng ta
biết về tri thức mà người khác có) v.v. Trong phạm vi nghiên cứu về biểu diễn
tri thức, một số phương pháp biểu diễn đã được phát triển và được áp dụng
như: logic, mạng ngữ nghĩa, Frame, các luật (chẳng hạn luật Nếu…
Thì…), bản thể học (ontology).
-Tìm kiếm: Nhiều bài tốn hoặc vấn đề có thể phát biểu và giải quyết như bài
tốn tìm kiếm trong khơng gian trạng thái. Chẳng hạn các bài tốn tìm đường
đi, bài tốn tìm trạng thái thoả mãn ràng buộc. Nhiều bài tốn khác của trí tuệ
nhân tạo cũng có thể giải quyết bằng tìm kiếm. Chẳng hạn, lập luận logic có
thể tiến hành bằng cách tìm các đường đi cho phép dẫn từ các tiền đề tới các
kết luận.
-Lập luận suy diễn: Lập luận là quá trình sinh ra kết luận hoặc tri thức mới từ
những tri thức, sự kiện và thơng tin đã có. Trong giai đoạn đầu, nhiều kỹ thuật
lập luận tự động dựa trên việc mơ phỏng hoặc học tập q trình lập luận của
con người. Các nghiên cứu về sau đã phát triển nhiều kỹ thuật suy diễn hiệu
quả, không dựa trên cách lập luận của người. Điển hình là các kỹ thuật chứng
minh định lý và suy diễn logic. Lập luận tự động thường dựa trên tìm kiếm
cho phép tìm ra các liên kết giữa tiên đề và kết quả.

-Học máy: Học máy hay học tự động là khả năng của hệ thống máy tính tự cải
thiện mình nhờ sử dụng dữ liệu và kinh nghiệm thu thập được. Học là khả


15
năng quan trọng trong việc tạo ra tri thức của người. Do vậy, đây là vấn đề
được quan tâm nghiên cứu ngay từ khi hình thành trí tuệ nhân tạo. Hiện nay,
đây là một trong những lĩnh vực được quan tâm nghiên cứu nhiều nhất với rất
nhiều kết quả và ứng dụng.
-Lập kế hoạch: Lập kế hoạch và thời khoá biểu tự động, hay đơn giản là lập
kế hoạch, là quá trình sinh ra các bước hành động cần thực hiện để thực hiện
một mục tiêu nào đó dựa trên thông tin về môi trường, về hiệu quả từng hành
động, về tình huống hiện thời và mục tiêu cần đạt. Lấy ví dụ một rơ bốt nhận
nhiệm vụ di chuyển một vật tới một vị trí khác. Kế hoạch thực hiện bao gồm
xác định các bước để tiếp cận vật cần di chuyển, nhấc vật lên, xác định quỹ
đạo và các bước di chuyển theo quỹ đạo, đặt vật xuống.
*Hành động
-Cho phép hệ thống tác động vào môi trường xung quanh hoặc đơn giản là
đưa ra thông tin về kết luận của mình.


16

Chương 2.



y dựng trò
chơi 2048
2.1.Giới thiệu trò chơi 2048

- 2048 là một trò chơi giải đố do tác giả Gabriele Cirulli, một lập trình viên
web trẻ 19 tuổi người Ý, tạo ra vào tháng 3 năm 2014. Mục tiêu của trị chơi
là trượt các khối vng có mang số trên một lưới vuông để kết hợp chúng lại
và tạo ra khối vng có giá trị 2048.


17

2.1.1.Cách chơi,luật chơi
*Cách chơi:
-2048 chơi trên một lưới vng 4×4. Mỗi lần di chuyển là một lượt, người
chơi sử dụng các phím mũi tên và các khối vng sẽ trượt theo một trong bốn
hướng tương ứng (lên, xuống, trái, phải). Mỗi lượt có một khối có giá trị 2
hoặc 4 sẽ xuất hiện ngẫu nhiên ở một ô trống trên lưới. Các khối vuông trượt
theo hướng chỉ định cho đến khi chạm đến biên của lưới hoặc chạm vào khối
vuông khác. Nếu hai khối vng có cùng giá trị chạm vào nhau, chúng sẽ kết
hợp lại thành một khối vuông có giá trị bằng tổng giá trị hai khối vng đó
(giá trị gấp đơi). Khối vng kết quả khơng thể kết hợp với khối vuông khác
một lần nữa trong một lượt di chuyển. Để dễ nhận biết thì các khối vng giá
trị khác nhau sẽ có màu sắc khác nhau.
Bảng điểm ở góc trên bên phải cho biết điểm của người chơi. Ban đầu điểm
bằng 0. Khi hai khối vuông kết hợp thì người chơi sẽ tăng điểm là giá trị khối
vuông mới. Bên cạnh điểm hiện tại là kỉ lục điểm cao nhất người chơi từng
đạt được.
Khi người chơi tạo được ơ vng có giá trị 2048 thì thắng cuộc. Lúc này
người chơi có thể lựa chọn tiếp tục chơi để đạt các giá trị cao hơn 2048. Khi
không cịn nước đi hợp lệ (khơng cịn ơ trống và các ơ kề nhau đều khác giá
trị) thì trị chơi kết thúc.



18


19

*Mẹo chơi:
-Thứ tự ưu tiên ghép, tăng giá trị giảm dần từ lớn nhất là C1 với điểm ưu tiên
= 50đ. Mỗi ơ đứng sau có điểm ưu tiên bằng điểm ô đứng trước chia 2

-Ưu tiên việc chỉ lấp đầy và giữ nguyên hoặc tăng giá trị cho hàng đầu tiên
(C1->C4). Với độ ưu tiên được tính như ý trên


20
-Di chuyển tất cả các ơ về 1 góc và để ơ có giá trị cao nhât vào góc

Như hình trên ta đã dồn ơ có giá trị cao nhất là 64 vào góc trái dưới và các số
cịn lại vào bên phải


21
-Ưu tiên giải quyết các ơ có giá trị nhỏ bị kẹp ở giữa


22

2.2.Thiết kế giao diện game
-2048 là một trò chơi đơn giản địi hỏi tính tư duy nên phần giao diện của trò
chơi được thết kế khá đơn giản về màu sắc và hình ảnh



23

Hàm tạo ngẫu nhiên vị trí số khi bắt đầu chơi

Chức năng di chuyển lên


24

Chức năng di chuyển sang trái


25

Chức năng di chuyển xuống


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

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