WEBVTT

00:01.340 --> 00:03.110
Xin chào, tất cả mọi người, và chào mừng trở lại.

00:03.140 --> 00:10.070
Trong bài giảng trước, bạn đã thấy cách chúng tôi sử dụng các chức năng trợ giúp của mình để thực sự thiết lập cốt lõi của chức năng nhằm đào tạo các

00:10.070 --> 00:11.300
mô hình của chúng tôi.

00:11.300 --> 00:16.430
Vì vậy, chúng tôi đã có trạng thái đầu cuối, vị trí xuất phát, hành động tiếp theo, vị trí tiếp theo và

00:16.430 --> 00:21.460
đường đi ngắn nhất thực sự xác định phần lớn cách tác nhân của chúng tôi hoặc cách môi trường hoạt động.

00:21.470 --> 00:25.520
Điều cuối cùng chúng tôi phải làm là sử dụng đào tạo của chúng tôi để sử dụng đào tạo của chúng tôi.

00:25.520 --> 00:31.340
Nó khá đơn giản theo nghĩa những gì chúng ta cần bao gồm bởi cách chúng ta tiếp cận nó là một câu

00:31.340 --> 00:31.940
chuyện khác.

00:32.180 --> 00:36.830
Điều đó đang được nói, ngoài ra, nếu các bạn sử dụng một cách tiếp cận khác hoặc bạn muốn tùy chỉnh điều này và thử

00:36.830 --> 00:38.510
nghiệm với nó, thì điều đó rất nên làm.

00:38.510 --> 00:42.470
Ngoài ra, nếu bạn sử dụng một cách tiếp cận khác và bạn muốn thảo luận về nó, vui lòng chia sẻ

00:42.470 --> 00:43.670
nó trong phần Hỏi và Đáp.

00:43.700 --> 00:45.470
Rất vui khi thảo luận với bạn.

00:45.470 --> 00:50.510
Đó là một ý tưởng tuyệt vời vì có rất nhiều cách để giải quyết vấn đề này và bạn có thể tìm

00:50.510 --> 00:52.220
ra cách tốt hơn, có lợi hơn.

00:52.220 --> 00:55.670
Chúng tôi có thể xem xét ưu và nhược điểm một lần nữa, rất vui khi thảo luận về nó.

00:55.670 --> 00:56.090
Được rồi.

00:56.090 --> 00:57.290
Vậy chúng ta phải làm gì?

00:57.320 --> 00:59.090
Chúng tôi phải bắt đầu đào tạo của chúng tôi.

00:59.090 --> 01:00.050
Đối với đào tạo của chúng tôi.

01:00.050 --> 01:01.520
Chúng tôi muốn sử dụng Epsilon.

01:01.520 --> 01:08.600
Vì vậy, về cơ bản tỷ lệ phần trăm mà chúng tôi sẽ thực hiện cho hành động tốt nhất cho hành động của chúng tôi thay vì một hành động ngẫu

01:08.600 --> 01:08.960
nhiên.

01:08.960 --> 01:15.710
Vì vậy, hãy đặt epsilon của chúng tôi và đặt nó thành 0. 9 và chúng tôi sẽ làm điều gì đó tương tự với các giá trị của chúng tôi đối

01:15.710 --> 01:18.080
với hệ số chiết khấu và tỷ lệ học tập của chúng tôi.

01:18.080 --> 01:23.300
Vì vậy, hãy làm cho hệ số chiết khấu bằng 0. 9.

01:23.660 --> 01:29.780
Hãy cũng lấy tỷ lệ học tập của chúng tôi và đặt nó bằng 0. 9.

01:29.810 --> 01:33.860
Đó sẽ là tỷ lệ mà đại lý của chúng tôi sẽ hoặc nên học hỏi.

01:33.860 --> 01:39.320
Và chúng ta cũng muốn lấy số lần tập, chúng ta hãy gọi nó là n tập.

01:39.320 --> 01:41.330
Vì vậy, chúng tôi có một số tập huấn luyện.

01:41.330 --> 01:42.560
Hãy đặt nó thành 1000.

01:42.560 --> 01:46.640
Tập bao nhiêu lần hay tập bao nhiêu tập?

01:48.140 --> 01:48.800
Đáng kinh ngạc.

01:49.010 --> 01:52.910
Bây giờ, về cơ bản những gì chúng tôi muốn làm là lặp lại qua từng tập.

01:52.910 --> 02:00.100
Chúng tôi muốn lấy phạm vi số lượng các đợt đào tạo của mình và thiết lập cơ bản là epsilon của chúng tôi.

02:00.110 --> 02:01.820
Chúng tôi muốn tìm ra sự khác biệt về thời gian của chúng tôi.

02:01.820 --> 02:04.640
Để thiết lập điều đó, chúng ta cần xem xét một số giá trị Q trước đó.

02:04.640 --> 02:08.510
Chúng tôi cần tính toán vị trí bắt đầu của chúng tôi trong chỉ số hành động của chúng tôi.

02:08.510 --> 02:10.790
Vậy hãy bắt đầu.

02:11.000 --> 02:12.500
Hãy lấy một vòng lặp for lớn.

02:12.500 --> 02:14.750
Vì vậy, chúng tôi có bốn tập của chúng tôi.

02:16.840 --> 02:20.080
Trong phạm vi số lần tập của chúng tôi.

02:22.120 --> 02:22.730
Chúng ta bắt đầu.

02:22.750 --> 02:31.420
Chúng tôi muốn lấy chỉ số hàng và chỉ mục cột cho lưới của chúng tôi để làm chỉ mục

02:31.420 --> 02:33.970
cột ngô của chúng tôi.

02:36.110 --> 02:39.950
Và đặt nó thành vị trí bắt đầu mục tiêu.

02:39.950 --> 02:44.480
Chúng tôi cần một địa điểm bắt đầu vì vậy hãy chuẩn bị từng tập.

02:45.040 --> 02:49.600
Bây giờ chúng ta có thể thiết lập trạng thái đầu cuối của mình trong khi.

02:51.210 --> 02:51.990
Không.

02:52.880 --> 02:56.330
Là trạng thái đầu cuối.

02:56.360 --> 03:01.580
Chúng tôi muốn xem chỉ số hàng và chỉ số cột.

03:03.020 --> 03:07.340
Tiếp theo, hãy đặt chỉ mục hành động của chúng tôi cho hành động tiếp theo của chúng tôi.

03:07.340 --> 03:09.050
Vì vậy, chúng tôi cần hành động tiếp theo.

03:09.050 --> 03:16.790
Khi tác nhân này lặp qua mê cung cho chỉ mục hành động của chúng tôi, chúng tôi có thể sử dụng hành động tiếp theo của mình.

03:17.740 --> 03:24.760
Và chúng tôi có thể sử dụng chỉ mục cột chỉ mục hàng của chúng tôi và hãy gọi epsilon của chúng tôi.

03:24.760 --> 03:29.860
Vì vậy, chúng tôi muốn có điều này thay vì hành động ngẫu nhiên của chúng tôi, hãy sử dụng chỉ mục cột.

03:32.020 --> 03:33.880
Và chúng tôi cần Epsilon.

03:34.300 --> 03:34.910
Đáng kinh ngạc.

03:35.350 --> 03:37.510
Nếu tôi có thể đánh vần một cách chính xác, chúng tôi ở đây.

03:37.510 --> 03:39.220
Bạn muốn Epsilon?

03:39.910 --> 03:42.330
Được rồi, hãy để tôi xóa OC này.

03:42.370 --> 03:47.710
Hãy để tôi lấy phần còn lại của mã và chúng ta sẽ xem qua nó để không phải nhìn tôi gõ

03:47.710 --> 03:48.280
từng dòng.

03:48.280 --> 03:54.190
Nhưng chỉ cần ghi nhớ rằng cách chúng ta muốn tiếp cận điều này khi thiết lập hàng cũ, chúng ta sẽ cần một chỉ

03:54.190 --> 03:55.120
mục hàng cũ.

03:55.120 --> 04:00.310
Chúng tôi cũng muốn có phần thưởng cho các cột và các hàng của chúng tôi.

04:00.310 --> 04:05.890
Chúng ta cần xem xét các giá trị hàng đợi và giá trị hàng đợi cũ và chúng ta cần tính toán sự khác biệt theo thời gian của mình.

04:06.220 --> 04:10.000
OC Vì vậy, bạn thấy sự thay đổi trong mã hoặc cập nhật mã.

04:10.000 --> 04:16.450
Chúng tôi đang lấy chỉ mục hàng cũ và chỉ mục cột cũ để xem chỉ mục hàng và chỉ mục cột của chúng tôi.

04:16.450 --> 04:22.300
Chỉ mục cột chỉ mục hàng của chúng tôi bằng với vị trí tiếp theo của chúng tôi và vị trí tiếp theo của chúng tôi sẽ cần

04:22.300 --> 04:24.280
chỉ mục hàng, cột, chỉ mục và hành động.

04:25.250 --> 04:27.410
Cuối cùng, chúng tôi đang xem xét một phần thưởng.

04:27.680 --> 04:34.640
Giá trị Q cũ của chúng tôi sẽ là giá trị Q với chỉ mục hàng cũ, chỉ mục cột cũ, và một lần nữa, tham chiếu chỉ

04:34.640 --> 04:40.700
số hành động của chúng tôi và tính toán chênh lệch thời gian của chúng tôi, đó là phần thưởng của chúng tôi, cộng

04:40.700 --> 04:47.660
với hệ số chiết khấu nhân với giá trị Q với hàng chỉ mục và chỉ số cột trừ đi giá trị Q cũ từ giá trị Q

04:47.660 --> 04:48.440
trước đó.

04:50.040 --> 04:56.040
Gần như đã hoàn thành khi chúng ta cần giá trị Q mới, là giá trị Q cũ của chúng ta cộng với tốc độ

04:56.040 --> 05:03.420
học tập, thời gian, chênh lệch thời gian và các giá trị Q của chúng ta với chỉ số hàng cũ trong chỉ mục cột cũ của chúng ta bằng

05:03.420 --> 05:04.560
giá trị Q mới.

05:05.770 --> 05:09.940
Nếu các bạn muốn thảo luận thêm lần nữa về vấn đề này, hãy giới thiệu Q&amp;A.

05:09.940 --> 05:11.270
Xin vui lòng in.

05:11.290 --> 05:13.660
Hãy thử thử nghiệm với tất cả các biến được sử dụng ở đây.

05:13.660 --> 05:17.380
Nếu bạn muốn xem các hình dạng, hãy xem cách chúng có thể được sử dụng, những gì nó tham chiếu.

05:17.380 --> 05:20.620
Tôi thực sự giới thiệu nó và tôi rất vui khi được thảo luận thêm về nó.

05:21.040 --> 05:24.640
Một điều cuối cùng chúng tôi có thể làm, vì vậy chúng tôi có một chút thông báo.

05:24.640 --> 05:30.040
Hãy thêm một câu lệnh in để chúng ta biết khi nào quá trình huấn luyện hoàn tất cho 1000 hàng của chúng ta.

05:30.040 --> 05:30.880
Được rồi.

05:30.910 --> 05:34.660
Nếu không có lỗi cú pháp nào từ phía tôi, chúng ta nên thực hiện.

05:34.690 --> 05:36.730
Sổ ghi chép cộng tác được khởi tạo.

05:36.730 --> 05:37.770
Tôi sắp xếp lại mọi thứ.

05:37.820 --> 05:38.710
Hãy để tôi chạy cái này.

05:38.710 --> 05:41.560
Nó sẽ rất nhanh chóng vì chúng tôi chỉ sử dụng numpy.

05:41.590 --> 05:44.050
Đó là một mô hình được tối ưu hóa theo một nghĩa nào đó.

05:44.080 --> 05:47.080
Hãy để tôi nhấp vào đây và sau đó chúng tôi sẽ tìm kiếm con đường ngắn nhất.

05:48.400 --> 05:48.790
Được rồi.

05:48.790 --> 05:50.320
Chúng tôi đã đào tạo xong.

05:50.530 --> 05:54.820
Hãy cũng in đường dẫn ngắn nhất cho một số tùy chọn bắt đầu.

05:54.820 --> 05:59.920
Vì vậy, chúng tôi đang bắt đầu ở hàng ba, cột chín, với tùy chọn đường đi ngắn nhất với đường đi ngắn nhất của chúng tôi.

06:00.010 --> 06:06.940
Chúng tôi muốn xem xét hàng năm và số 0 và bắt đầu từ hàng chín và cột số năm.

06:07.030 --> 06:08.320
Hãy in chúng ra.

06:08.920 --> 06:09.430
Đáng kinh ngạc.

06:09.430 --> 06:12.430
Chúng tôi có con đường ngắn nhất, nhưng chúng tôi chưa hoàn thành.

06:12.430 --> 06:13.630
Chúng ta gần đến rồi.

06:13.870 --> 06:20.680
Chúng tôi có thể thấy người đưa thư của chúng tôi tự động nhận được con đường ngắn nhất từ một vị trí hợp pháp mà chúng tôi có thể xem xét từ thành phố

06:20.680 --> 06:22.840
của chúng tôi đến khu vực đóng gói vật phẩm.

06:22.840 --> 06:25.540
Nhưng điều gì sẽ xảy ra đối với kịch bản ngược lại hoặc ngược lại?

06:25.540 --> 06:31.300
Về cơ bản đề cập đến Người đưa thư của chúng tôi có thể giao một mặt hàng từ bất kỳ đâu trong thành phố đến khu vực đóng gói không?

06:31.300 --> 06:37.570
Nhưng sau món hàng, nó sẽ cần phải đi rồi từ khu vực đó, từ khu vực đóng gói đến một địa điểm khác trong thành

06:37.570 --> 06:40.470
phố, bởi vì nó sẽ phải lấy món hàng tiếp theo.

06:40.480 --> 06:43.840
Vậy chúng ta có thể làm gì để giải quyết vấn đề này?

06:43.840 --> 06:45.370
Và nó thực sự khá đơn giản.

06:45.370 --> 06:48.100
Bạn có thể sửa lại thứ tự của đường đi ngắn nhất.

06:48.700 --> 06:52.270
Hãy thử nghĩ về điều đó trong một giây và đây sẽ là giải pháp.

06:53.290 --> 06:55.150
Chúng ta có thể sử dụng con đường ngắn nhất.

06:55.150 --> 07:00.580
Vì vậy, hãy lấy hàng năm và cột hai và sau đó tất cả những gì bạn cần làm là sử dụng tùy chọn ngược lại.

07:00.580 --> 07:04.450
Với Python, chúng ta sử dụng đảo ngược đường dẫn và chúng ta có thể in ra đường dẫn.

07:04.450 --> 07:06.250
Vì vậy, chúng tôi đang xem xét năm và hai.

07:07.080 --> 07:07.860
Và chúng ta bắt đầu.

07:07.860 --> 07:13.020
Chúng tôi có con đường ngắn nhất và nó thực sự hữu ích nếu bạn muốn lấy hình ảnh trong ô và đưa nó xuống để

07:13.020 --> 07:14.940
so sánh và xem xét các con đường đó.

07:14.940 --> 07:20.370
Nhưng bạn thực sự có thể nhìn thấy các đường dẫn nếu bạn lấy bản sao kê đã in ra, nhìn vào cột theo thứ

07:20.370 --> 07:23.250
tự và xem những người bán hàng này đang đi như thế nào.

07:23.250 --> 07:25.770
Vì vậy, công việc tuyệt vời mà bạn đang sử dụng.

07:25.770 --> 07:26.820
Q Học tập.

07:26.820 --> 07:32.640
Những gì chúng tôi học được từ khóa học này có một phần nhỏ và một kịch bản thú vị và thú vị để giải quyết loại

07:32.640 --> 07:35.100
vấn đề cơ bản của người bán hàng lưu động này.

07:35.100 --> 07:40.830
Chúng tôi đang tìm người đưa thư để chuyển các gói hàng và vật phẩm trong thành phố để tìm các phương án ngắn nhất và

07:40.830 --> 07:41.880
con đường ngắn nhất.

07:41.880 --> 07:47.460
Tôi thực sự khuyên bạn nên tùy chỉnh, thử nghiệm các tùy chọn khác, thay đổi các thông số siêu và nếu bạn phát hiện ra

07:47.460 --> 07:53.700
bất kỳ điều gì tốt hơn, nếu bạn phát hiện ra bất kỳ thông số tối ưu hóa hoặc tốt nhất nào để sử dụng, vui lòng chia sẻ

07:53.700 --> 07:55.200
chúng trong phần Hỏi và Đáp.

07:55.680 --> 07:56.340
Kinh ngạc.

07:56.340 --> 07:58.260
Tôi hy vọng các bạn thực sự thích điều này.

07:58.260 --> 08:01.470
Vui lòng tùy chỉnh, thử nghiệm và tiếp tục học hỏi.

08:01.470 --> 08:02.820
Thật là vui khi được làm việc cùng.

08:02.830 --> 08:03.030
Q.

08:03.030 --> 08:04.980
Học tập và tận hưởng i.
