WEBVTT

00:00.710 --> 00:02.430
Hallo allemaal, en welkom terug.

00:02.450 --> 00:04.970
In deze lezing gaan we onze omgeving inrichten.

00:05.270 --> 00:10.820
En ik wil dit meer overzicht op hoog niveau introduceren voor degenen die het zelf willen proberen op te

00:10.820 --> 00:11.180
lossen.

00:11.480 --> 00:14.120
En dit komt je misschien bekend voor in de laatste lezing dat je dit zag.

00:14.330 --> 00:15.740
Dus als je het doorleest, mijn excuses.

00:15.740 --> 00:17.270
We gaan er gewoon heel snel doorheen.

00:17.900 --> 00:18.740
Eerste dingen eerst.

00:19.160 --> 00:24.230
In dit project streven we ernaar om het zo eenvoudig mogelijk te houden, in die zin dat we niet te veel

00:24.230 --> 00:25.400
bibliotheken hoeven te importeren.

00:25.400 --> 00:27.890
We gaan daar eigenlijk gewoon NumPy voor gebruiken.

00:27.890 --> 00:33.050
We hoeven alleen NumPy als en P te importeren, meestal de algemene referentie voor numpy.

00:33.350 --> 00:37.250
En we willen ook onze omgeving inrichten, zoals je hier zult zien.

00:37.520 --> 00:40.430
En we gaan dit nog eens heel snel doornemen als overzicht.

00:40.580 --> 00:46.190
De eerste stap voor onze Q-learning is dat we een omgeving wilden vinden waarin de postbode moet navigeren.

00:46.190 --> 00:49.910
We hebben die omgeving nodig, zodat we deze daadwerkelijk kunnen herhalen en doorlopen.

00:50.570 --> 00:55.340
In deze lezing zal de omgeving bestaan uit toestanden, acties en beloningen.

00:55.700 --> 01:01.100
Statussen en acties zijn inputs voor de Q-lerende agent, terwijl de mogelijke acties de agenten zijn, outputs

01:01.100 --> 01:06.410
zijn staten waar we over kunnen nadenken en dit beeld als onze representatie kunnen beschouwen.

01:06.710 --> 01:11.630
De staten in onze omgeving zijn alle mogelijke locaties binnen de stad die we deze voorbeeldstad kunnen noemen.

01:11.960 --> 01:17.810
Sommige van deze locaties zijn de stadsgrenzen die onze zwarte vierkanten zullen zijn, terwijl andere locaties eilanden zijn die

01:17.810 --> 01:21.050
de postbode kan gebruiken om door de stad te reizen.

01:21.050 --> 01:22.310
Dat worden de witte vierkanten.

01:22.820 --> 01:26.750
Het groene vierkant geeft de verpakking en het verzendgebied van het artikel aan.

01:27.140 --> 01:31.310
De zwarte en groene vierkanten zijn wat we eindtoestanden gaan noemen.

01:31.640 --> 01:35.990
Dus over het algemeen, ons doel of het doel van onze agent, willen we de kortste weg gebruiken.

01:35.990 --> 01:41.810
We willen dat onze agent de kortste weg leert tussen het verpakkingsgebied, de pot, het groen en alle

01:41.810 --> 01:45.050
andere locaties in de stad waar de postbode mag reizen.

01:49.330 --> 01:55.480
In de bovenstaande afbeelding hebben we 121 mogelijke staten of locaties binnen de stad.

01:55.930 --> 01:58.450
Deze toestanden zijn gerangschikt in een raster 11 bij 11.

01:58.750 --> 02:02.140
Elke locatie kan worden geïdentificeerd aan de hand van de rij- en kolomindex.

02:02.560 --> 02:04.450
Dus wat zou onze eerste stap zijn?

02:04.450 --> 02:07.660
En dit is echt willen dat jullie gaan nadenken over hoe je het kunt definiëren.

02:08.470 --> 02:10.340
We moeten onze omgeving definiëren.

02:10.360 --> 02:13.120
Dit is een goed voorbeeld van ons imago en hoe we dat gaan aanpakken.

02:13.120 --> 02:14.440
Dus hoe zou je dat modelleren?

02:14.590 --> 02:20.890
Onthoud dat we NumPy gebruiken, dus we moeten deze grenzen definiëren en we kunnen een 3D numpy-array definiëren

02:20.890 --> 02:27.010
om onze huidige Q-waarden voor elk staats- en actiepaar vast te houden zoals we onze weergave zien.

02:27.520 --> 02:32.380
En voor degenen onder u die er niet bekend mee zijn, of misschien is dit

02:32.380 --> 02:38.110
nieuw of u wilt gewoon een opfriscursus, het Air Z-handboek uit deze cursus is uiterst nuttig, een echte aanrader.

02:38.380 --> 02:39.820
Dus wat moeten we hier doen?

02:40.180 --> 02:41.140
We kunnen het eigenlijk wel.

02:41.440 --> 02:45.040
Laat me dit heel snel voor ons uitbreiden, zodat we het een beetje gemakkelijker kunnen bekijken.

02:45.070 --> 02:46.420
Laat me gewoon wat codecellen toevoegen.

02:46.720 --> 02:48.610
We gaan ons 3D-imperium definiëren.

02:49.480 --> 02:50.770
Hoe zou je dit aanpakken?

02:51.280 --> 02:52.900
Dus we hebben wat opties.

02:52.900 --> 02:57.070
Maar de meest voor de hand liggende en eenvoudige optie, laten we het omgevingsrijen noemen.

02:59.790 --> 03:01.450
Rose en laten we het op 11 zetten.

03:01.470 --> 03:02.590
Het is 11 bij 11.

03:02.680 --> 03:06.660
Dan kunnen we ook de omgeving doen, kolommen onderstrepen.

03:08.860 --> 03:10.600
En we zouden dit ook op 11 kunnen zetten.

03:11.170 --> 03:17.920
Ten slotte kunnen we onze Q-waarden instellen, omdat we onze numpy moeten toevoegen aan de omgevingsrijen,

03:17.920 --> 03:18.370
omgevingskolommen.

03:19.910 --> 03:30.260
En we kunnen dit instellen als Q-waarden die gelijk zijn aan NumPy-nullen en we moeten onze omgevingsrijen, omgevingskolommen

03:30.980 --> 03:31.730
gebruiken.

03:32.790 --> 03:40.050
En we hebben onze 3D numpy array, onze 3D-omgevingsrepresentatie ingesteld met onze omgeving.

03:41.040 --> 03:41.520
Geweldig.

03:42.330 --> 03:46.440
We laten het hier achterwege, maar ik wil dat jullie gaan nadenken over hoe je dit kunt oplossen,

03:46.440 --> 03:48.120
aangezien je je omgeving al hebt ingesteld.

03:48.450 --> 03:52.620
Het volgende dat u als hint wilt doen, is uw acties instellen.

03:52.830 --> 03:55.470
Uw agent moet zich door de omgeving kunnen bewegen.

03:55.710 --> 03:57.150
Dus hoe zou je dat voorstellen?

03:57.360 --> 03:58.830
Hoe zou je dat opschrijven?

03:59.070 --> 04:01.890
Voor dit probleem laten we het hier achterwege.

04:01.890 --> 04:04.650
In de volgende video gaan we terug naar die acties.

04:05.100 --> 04:05.550
Geweldig.

04:05.940 --> 04:06.960
Ik zie jullie in de volgende video.
