From 4aa20b3ef5fff53cf9c7073cfa5e29acd6a08e22 Mon Sep 17 00:00:00 2001
From: 46135621 <87229030+46135621@users.noreply.github.com>
Date: Thu, 20 Apr 2023 00:00:16 +0800
Subject: [PATCH 1/5] =?UTF-8?q?Update=204.2=E6=9C=BA=E5=99=A8=E5=AD=A6?=
=?UTF-8?q?=E4=B9=A0=EF=BC=88AI=EF=BC=89=E5=BF=AB=E9=80=9F=E5=85=A5?=
=?UTF-8?q?=E9=97=A8=EF=BC=88quick=20start=EF=BC=89.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...¹ (AI)快速入门(quick start).md | 30 +++++++++----------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/4.人工智能/4.2机器å¦ä¹ (AI)快速入门(quick start).md b/4.人工智能/4.2机器å¦ä¹ (AI)快速入门(quick start).md
index ea935c9..5376fd1 100644
--- a/4.人工智能/4.2机器å¦ä¹ (AI)快速入门(quick start).md
+++ b/4.人工智能/4.2机器å¦ä¹ (AI)快速入门(quick start).md
@@ -84,19 +84,19 @@
```python
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
- price = 0 # In my area, the average house costs $200 per sqft
+ price = 0 # In my area, the average house costs $200 per sqft
price_per_sqft = 200 if neighborhood == "hipsterton":
- # but some areas cost a bit more
+ # but some areas cost a bit more
price_per_sqft = 400 elif neighborhood == "skid row":
- # and some areas cost less
- price_per_sqft = 100 # start with a base price estimate based on how big the place is
- price = price_per_sqft * sqft # now adjust our estimate based on the number of bedrooms
+ # and some areas cost less
+ price_per_sqft = 100 # start with a base price estimate based on how big the place is
+ price = price_per_sqft * sqft # now adjust our estimate based on the number of bedrooms
if num_of_bedrooms == 0:
- # Studio apartments are cheap
+ # Studio apartments are cheap
price = price — 20000
else:
- # places with more bedrooms are usually
- # more valuable
+ # places with more bedrooms are usually
+ # more valuable
price = price + (num_of_bedrooms * 1000) return price
```
@@ -212,9 +212,9 @@ def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
```python
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
price = 0# a little pinch of this
- price += num_of_bedrooms * 0.123# and a big pinch of that
- price += sqft * 0.41# maybe a handful of this
- price += neighborhood * 0.57
+ price += num_of_bedrooms * 0.123# and a big pinch of that
+ price += sqft * 0.41# maybe a handful of this
+ price += neighborhood * 0.57
return price
```
@@ -328,10 +328,10 @@ print('y_pred=',y_test.data)
请注æ„,我们的神ç»ç½‘络现在有了两个输出(而ä¸ä»…仅是一个房åçš„ä»·æ ¼ï¼‰ã€‚ç¬¬ä¸€ä¸ªè¾“å‡ºä¼šé¢„æµ‹å›¾ç‰‡æ˜¯ã€Œ8ã€çš„æ¦‚çŽ‡ï¼Œè€Œç¬¬äºŒä¸ªåˆ™è¾“å‡ºä¸æ˜¯ã€Œ8ã€çš„æ¦‚率。概括地说,我们就å¯ä»¥ä¾é 多ç§ä¸åŒçš„输出,利用神ç»ç½‘络把è¦è¯†åˆ«çš„物å“进行分组。
```python
-model = Sequential([Dense(32, input_shape=(784,)),
- Activation('relu'),Dense(10),Activation('softmax')])# ä½ ä¹Ÿå¯ä»¥é€šè¿‡ .add() 方法简å•åœ°æ·»åŠ å±‚ï¼š model = Sequential()
- model.add(Dense(32, input_dim=784))
- model.add(Activation('relu'))# æ¿€æ´»å‡½æ•°ï¼Œä½ å¯ä»¥ç†è§£ä¸ºåŠ ä¸Šè¿™ä¸ªä¸œè¥¿å¯ä»¥è®©ä»–效果更好
+model = Sequential([Dense(32, input_shape=(784,)),
+ Activation('relu'),Dense(10),Activation('softmax')])# ä½ ä¹Ÿå¯ä»¥é€šè¿‡ .add() 方法简å•åœ°æ·»åŠ å±‚ï¼š model = Sequential()
+ model.add(Dense(32, input_dim=784))
+ model.add(Activation('relu'))# æ¿€æ´»å‡½æ•°ï¼Œä½ å¯ä»¥ç†è§£ä¸ºåŠ ä¸Šè¿™ä¸ªä¸œè¥¿å¯ä»¥è®©ä»–效果更好
```
虽然我们的神ç»ç½‘ç»œè¦æ¯”上次大得多(这次有 324 ä¸ªè¾“å…¥ï¼Œä¸Šæ¬¡åªæœ‰ 3 个ï¼ï¼‰ï¼Œä½†æ˜¯çŽ°åœ¨çš„è®¡ç®—æœºä¸€çœ¨çœ¼çš„åŠŸå¤«å°±èƒ½å¤Ÿå¯¹è¿™å‡ ç™¾ä¸ªèŠ‚ç‚¹è¿›è¡Œè¿ç®—ã€‚å½“ç„¶ï¼Œä½ çš„æ‰‹æœºä¹Ÿå¯ä»¥åšåˆ°ã€‚
From 5d962c0d4d36ced1ba32e33cd2e28c8bccb06ea7 Mon Sep 17 00:00:00 2001
From: 46135621 <985579956@qq.com>
Date: Thu, 20 Apr 2023 00:49:48 +0800
Subject: [PATCH 2/5] fix
---
4.人工智能/4.3.1æœç´¢.md | 297 ++++++++--------------------------
1 file changed, 69 insertions(+), 228 deletions(-)
diff --git a/4.人工智能/4.3.1æœç´¢.md b/4.人工智能/4.3.1æœç´¢.md
index bd4e1e1..775d015 100644
--- a/4.人工智能/4.3.1æœç´¢.md
+++ b/4.人工智能/4.3.1æœç´¢.md
@@ -47,16 +47,8 @@
- 动作(Action)
- 一个状æ€å¯ä»¥åšå‡ºçš„选择。更确切地说,动作å¯ä»¥å®šä¹‰ä¸ºä¸€ä¸ªå‡½æ•°ã€‚当接收到状æ€
- $$
- s$$作为输入时,
- $$
-
- Actions(s)
- $$
- 将返回å¯åœ¨çжæ€
- $$
-
- s$$ 䏿‰§è¡Œçš„一组æ“作作为输出。
+
+ $s$作为输入时,$Actions(s)$将返回å¯åœ¨çжæ€$s$ 䏿‰§è¡Œçš„一组æ“作作为输出。
- 例如,在一个数å—åŽå®¹é“ä¸ï¼Œç»™å®šçжæ€çš„æ“作是您å¯ä»¥åœ¨å½“å‰é…ç½®ä¸æ»‘动方å—的方å¼ã€‚

@@ -65,45 +57,15 @@
- 对在任何状æ€ä¸‹æ‰§è¡Œä»»ä½•适用æ“作所产生的状æ€çš„æè¿°ã€‚
- 更确切地说,过渡模型å¯ä»¥å®šä¹‰ä¸ºä¸€ä¸ªå‡½æ•°ã€‚
- - 在接收到状æ€
- $$
- s$$和动作
- $$
-
- a
- $$
- 作为输入时,
- $$
-
- Results(s,a)
- $$
- 返回在状æ€
- $$
-
- s
- $$
- 䏿‰§è¡ŒåŠ¨ä½œ
- $$
-
- a$$ 所产生的状æ€ã€‚
- - 例如,给定数å—åŽå®¹é“的特定é…置(状æ€
- $$
- s$$),在任何方å‘ä¸Šç§»åŠ¨æ£æ–¹å½¢ï¼ˆåŠ¨ä½œ
- $$
-
- a$$)将导致谜题的新é…置(新状æ€ï¼‰ã€‚
+ - 在接收到状æ€$s$和动作$a$作为输入时,$Results(s,a)$返回在状æ€$s$䏿‰§è¡ŒåŠ¨ä½œ$a$ 所产生的状æ€ã€‚
+ - 例如,给定数å—åŽå®¹é“的特定é…置(状æ€$s$),在任何方å‘ä¸Šç§»åŠ¨æ£æ–¹å½¢ï¼ˆåŠ¨ä½œ$a$)将导致谜题的新é…置(新状æ€ï¼‰ã€‚

- 状æ€ç©ºé—´(State Space)
- 通过一系列的æ“ä½œç›®æ ‡ä»Žåˆå§‹çжæ€å¯è¾¾åˆ°çš„æ‰€æœ‰çжæ€çš„集åˆã€‚
- - 例如,在一个数å—åŽå®¹é“谜题ä¸ï¼Œçжæ€ç©ºé—´ç”±æ‰€æœ‰
- $$
- \frac{16!}{2}
- $$
-
- ç§é…置,å¯ä»¥ä»Žä»»ä½•åˆå§‹çжæ€è¾¾åˆ°ã€‚状æ€ç©ºé—´å¯ä»¥å¯è§†åŒ–为有å‘图,其ä¸çжæ€è¡¨ç¤ºä¸ºèŠ‚ç‚¹ï¼ŒåŠ¨ä½œè¡¨ç¤ºä¸ºèŠ‚ç‚¹ä¹‹é—´çš„ç®å¤´ã€‚
+ - 例如,在一个数å—åŽå®¹é“谜题ä¸ï¼Œçжæ€ç©ºé—´ç”±æ‰€æœ‰$\frac{16!}{2}$ç§é…置,å¯ä»¥ä»Žä»»ä½•åˆå§‹çжæ€è¾¾åˆ°ã€‚状æ€ç©ºé—´å¯ä»¥å¯è§†åŒ–为有å‘图,其ä¸çжæ€è¡¨ç¤ºä¸ºèŠ‚ç‚¹ï¼ŒåŠ¨ä½œè¡¨ç¤ºä¸ºèŠ‚ç‚¹ä¹‹é—´çš„ç®å¤´ã€‚

@@ -130,11 +92,11 @@
- 从åˆå§‹çжæ€åˆ°è¯¥èŠ‚ç‚¹çš„è·¯å¾„æˆæœ¬â€”—path cost
- 节点包å«çš„ä¿¡æ¯ä½¿å®ƒä»¬å¯¹äºŽæœç´¢ç®—法éžå¸¸æœ‰ç”¨ã€‚
-它们包å«ä¸€ä¸ªçжæ€ï¼Œå¯ä»¥ä½¿ç”¨ç›®æ ‡æµ‹è¯•æ¥æ£€æŸ¥è¯¥çŠ¶æ€æ˜¯å¦ä¸ºæœ€ç»ˆçжæ€ã€‚
+ 它们包å«ä¸€ä¸ªçжæ€ï¼Œå¯ä»¥ä½¿ç”¨ç›®æ ‡æµ‹è¯•æ¥æ£€æŸ¥è¯¥çŠ¶æ€æ˜¯å¦ä¸ºæœ€ç»ˆçжæ€ã€‚
-如果是,则å¯ä»¥å°†èŠ‚ç‚¹çš„è·¯å¾„æˆæœ¬ä¸Žå…¶ä»–节点的路径代价进行比较,从而å¯ä»¥é€‰æ‹©æœ€ä½³è§£å†³æ–¹æ¡ˆã€‚
+ 如果是,则å¯ä»¥å°†èŠ‚ç‚¹çš„è·¯å¾„æˆæœ¬ä¸Žå…¶ä»–节点的路径代价进行比较,从而å¯ä»¥é€‰æ‹©æœ€ä½³è§£å†³æ–¹æ¡ˆã€‚
-一旦选择了节点,通过å˜å‚¨çˆ¶èŠ‚ç‚¹å’Œä»Žçˆ¶èŠ‚ç‚¹åˆ°å½“å‰èŠ‚ç‚¹çš„åŠ¨ä½œï¼Œå°±å¯ä»¥è¿½æº¯ä»Žåˆå§‹çжæ€åˆ°è¯¥èŠ‚ç‚¹çš„æ¯ä¸€æ¥ï¼Œè€Œè¿™ä¸€ç³»åˆ—动作就是解决方案。
+ 一旦选择了节点,通过å˜å‚¨çˆ¶èŠ‚ç‚¹å’Œä»Žçˆ¶èŠ‚ç‚¹åˆ°å½“å‰èŠ‚ç‚¹çš„åŠ¨ä½œï¼Œå°±å¯ä»¥è¿½æº¯ä»Žåˆå§‹çжæ€åˆ°è¯¥èŠ‚ç‚¹çš„æ¯ä¸€æ¥ï¼Œè€Œè¿™ä¸€ç³»åˆ—动作就是解决方案。
- ç„¶è€Œï¼ŒèŠ‚ç‚¹åªæ˜¯ä¸€ä¸ªæ•°æ®ç»“æž„â€”â€”å®ƒä»¬ä¸æœç´¢ï¼Œè€Œæ˜¯ä¿å˜ä¿¡æ¯ã€‚为了实际æœç´¢ï¼Œæˆ‘们使用了边域(frontier),å³â€œç®¡ç†â€èŠ‚ç‚¹çš„æœºåˆ¶ã€‚è¾¹åŸŸé¦–å…ˆåŒ…å«ä¸€ä¸ªåˆå§‹çжæ€å’Œä¸€ç»„空的已探索项目(探索集),然åŽé‡å¤ä»¥ä¸‹æ“作,直到找到解决方案:
@@ -158,9 +120,9 @@
边域从节点 A åˆå§‹åŒ–开始
-1. å–出边域ä¸çš„节点 A,展开节点 A,将节点 B æ·»åŠ åˆ°è¾¹åŸŸã€‚
-2. å–出节点 Bï¼Œå±•å¼€ï¼Œæ·»åŠ ......
-3. åˆ°è¾¾ç›®æ ‡èŠ‚ç‚¹ï¼Œåœæ¢ï¼Œè¿”回解决方案
+a. å–出边域ä¸çš„节点 A,展开节点 A,将节点 B æ·»åŠ åˆ°è¾¹åŸŸã€‚
+b. å–出节点 Bï¼Œå±•å¼€ï¼Œæ·»åŠ ......
+c. åˆ°è¾¾ç›®æ ‡èŠ‚ç‚¹ï¼Œåœæ¢ï¼Œè¿”回解决方案

@@ -191,7 +153,7 @@

-- 代ç 实现
+ - 代ç 实现
```python
def remove(self):
@@ -223,7 +185,7 @@ def remove(self):

-- 代ç 实现
+ - 代ç 实现
```python
def remove(self):
@@ -240,37 +202,25 @@ def remove(self):
- 广度优先和深度优先都是ä¸çŸ¥æƒ…çš„æœç´¢ç®—法。也就是说,这些算法没有利用他们没有通过自己的探索获得的关于问题的任何知识。然而,大多数情况下,关于这个问题的一些知识实际上是å¯ç”¨çš„ã€‚ä¾‹å¦‚ï¼Œå½“äººç±»è¿›å…¥ä¸€ä¸ªè·¯å£æ—¶ï¼Œäººç±»å¯ä»¥çœ‹åˆ°å“ªæ¡è·¯æ²¿ç€è§£å†³æ–¹æ¡ˆçš„大致方å‘å‰è¿›ï¼Œå“ªæ¡è·¯æ²¡æœ‰ã€‚人工智能也å¯ä»¥è¿™æ ·åšã€‚一ç§è€ƒè™‘é¢å¤–知识以试图æé«˜æ€§èƒ½çš„算法被称为知情æœç´¢ç®—法。
- 贪婪最佳优先æœç´¢(Greedy Best-First Search)
- - 贪婪最佳优先æœç´¢æ‰©å±•æœ€æŽ¥è¿‘ç›®æ ‡çš„èŠ‚ç‚¹ï¼Œå¦‚å¯å‘å¼å‡½æ•°
- $$
- h(n)
- $$
-
- æ‰€ç¡®å®šçš„ã€‚é¡¾åæ€ä¹‰ï¼Œè¯¥å‡½æ•°ä¼°è®¡ä¸‹ä¸€ä¸ªèŠ‚ç‚¹ç¦»ç›®æ ‡æœ‰å¤šè¿‘ï¼Œä½†å¯èƒ½ä¼šå‡ºé”™ã€‚贪婪最佳优先算法的效率å–决于å¯å‘å¼å‡½æ•°çš„好å。例如,在迷宫ä¸ï¼Œç®—法å¯ä»¥ä½¿ç”¨å¯å‘å¼å‡½æ•°ï¼Œè¯¥å‡½æ•°ä¾èµ–于å¯èƒ½èŠ‚ç‚¹å’Œè¿·å®«æœ«ç«¯ä¹‹é—´çš„æ›¼å“ˆé¡¿è·ç¦»ã€‚曼哈顿è·ç¦»å¿½ç•¥äº†å¢™å£ï¼Œå¹¶è®¡ç®—了从一个ä½ç½®åˆ°ç›®æ ‡ä½ç½®éœ€è¦å‘上ã€å‘下或å‘两侧走多少æ¥ã€‚这是一个简å•的估计,å¯ä»¥åŸºäºŽå½“å‰ä½ç½®å’Œç›®æ ‡ä½ç½®çš„
- $$
- (x,y)
- $$
-
- åæ ‡å¯¼å‡ºã€‚
+ - 贪婪最佳优先æœç´¢æ‰©å±•æœ€æŽ¥è¿‘ç›®æ ‡çš„èŠ‚ç‚¹ï¼Œå¦‚å¯å‘å¼å‡½æ•°$h(n)$æ‰€ç¡®å®šçš„ã€‚é¡¾åæ€ä¹‰ï¼Œè¯¥å‡½æ•°ä¼°è®¡ä¸‹ä¸€ä¸ªèŠ‚ç‚¹ç¦»ç›®æ ‡æœ‰å¤šè¿‘ï¼Œä½†å¯èƒ½ä¼šå‡ºé”™ã€‚贪婪最佳优先算法的效率å–决于å¯å‘å¼å‡½æ•°çš„好å。例如,在迷宫ä¸ï¼Œç®—法å¯ä»¥ä½¿ç”¨å¯å‘å¼å‡½æ•°ï¼Œè¯¥å‡½æ•°ä¾èµ–于å¯èƒ½èŠ‚ç‚¹å’Œè¿·å®«æœ«ç«¯ä¹‹é—´çš„æ›¼å“ˆé¡¿è·ç¦»ã€‚曼哈顿è·ç¦»å¿½ç•¥äº†å¢™å£ï¼Œå¹¶è®¡ç®—了从一个ä½ç½®åˆ°ç›®æ ‡ä½ç½®éœ€è¦å‘上ã€å‘下或å‘两侧走多少æ¥ã€‚这是一个简å•的估计,å¯ä»¥åŸºäºŽå½“å‰ä½ç½®å’Œç›®æ ‡ä½ç½®çš„$(x,y)$åæ ‡å¯¼å‡ºã€‚

-- 然而,é‡è¦çš„æ˜¯è¦å¼ºè°ƒï¼Œä¸Žä»»ä½•å¯å‘å¼ç®—æ³•ä¸€æ ·ï¼Œå®ƒå¯èƒ½ä¼šå‡ºé”™ï¼Œå¹¶å¯¼è‡´ç®—法走上比其他情况下更慢的é“路。ä¸çŸ¥æƒ…çš„æœç´¢ç®—法有å¯èƒ½æ›´å¿«åœ°æä¾›ä¸€ä¸ªæ›´å¥½çš„解决方案,但它比知情算法更ä¸å¯èƒ½è¿™æ ·ã€‚
+ - 然而,é‡è¦çš„æ˜¯è¦å¼ºè°ƒï¼Œä¸Žä»»ä½•å¯å‘å¼ç®—æ³•ä¸€æ ·ï¼Œå®ƒå¯èƒ½ä¼šå‡ºé”™ï¼Œå¹¶å¯¼è‡´ç®—法走上比其他情况下更慢的é“路。ä¸çŸ¥æƒ…çš„æœç´¢ç®—法有å¯èƒ½æ›´å¿«åœ°æä¾›ä¸€ä¸ªæ›´å¥½çš„解决方案,但它比知情算法更ä¸å¯èƒ½è¿™æ ·ã€‚


-- $$
- A^*$$æœç´¢
-
- - 作为贪婪最佳优先算法的一ç§å‘展,$$A^*$$æœç´¢ä¸ä»…考虑了从当å‰ä½ç½®åˆ°ç›®æ ‡çš„ä¼°è®¡æˆæœ¬$$h(n)$$,还考虑了直到当å‰ä½ç½®ä¸ºæ¢ç´¯ç§¯çš„æˆæœ¬$$g(n)$$。通过组åˆè¿™ä¸¤ä¸ªå€¼ï¼Œè¯¥ç®—法å¯ä»¥æ›´å‡†ç¡®åœ°ç¡®å®šè§£å†³æ–¹æ¡ˆçš„æˆæœ¬å¹¶åœ¨æ—…é€”ä¸ä¼˜åŒ–其选择。该算法跟踪(到目å‰ä¸ºæ¢çš„è·¯å¾„æˆæœ¬+åˆ°ç›®æ ‡çš„ä¼°è®¡æˆæœ¬,$$g(n)+h(n)$$ï¼‰ï¼Œä¸€æ—¦å®ƒè¶…è¿‡äº†ä¹‹å‰æŸä¸ªé€‰é¡¹çš„ä¼°è®¡æˆæœ¬ï¼Œè¯¥ç®—法将放弃当å‰è·¯å¾„并返回到之å‰çš„选项,从而防æ¢è‡ªå·±æ²¿ç€$$h(n)$$é”™è¯¯åœ°æ ‡è®°ä¸ºæœ€ä½³çš„å´é•¿è€Œä½Žæ•ˆçš„路径å‰è¿›ã€‚
-
- - 然而,由于这ç§ç®—法也ä¾èµ–于å¯å‘å¼ï¼Œæ‰€ä»¥å®ƒä¾èµ–它所使用的å¯å‘å¼ã€‚在æŸäº›æƒ…况下,它å¯èƒ½æ¯”贪婪的最佳第一æœç´¢ç”šè‡³ä¸çŸ¥æƒ…的算法效率更低。对于最佳的$$A^*$$æœç´¢ï¼Œå¯å‘å¼å‡½æ•°$$h(n)$$应该:
-
+- $A^*$æœç´¢
+
+ - 作为贪婪最佳优先算法的一ç§å‘展,$A^*$æœç´¢ä¸ä»…考虑了从当å‰ä½ç½®åˆ°ç›®æ ‡çš„ä¼°è®¡æˆæœ¬$h(n)$,还考虑了直到当å‰ä½ç½®ä¸ºæ¢ç´¯ç§¯çš„æˆæœ¬$g(n)$。通过组åˆè¿™ä¸¤ä¸ªå€¼ï¼Œè¯¥ç®—法å¯ä»¥æ›´å‡†ç¡®åœ°ç¡®å®šè§£å†³æ–¹æ¡ˆçš„æˆæœ¬å¹¶åœ¨æ—…é€”ä¸ä¼˜åŒ–其选择。该算法跟踪(到目å‰ä¸ºæ¢çš„è·¯å¾„æˆæœ¬+åˆ°ç›®æ ‡çš„ä¼°è®¡æˆæœ¬,$g(n)+h(n)$ï¼‰ï¼Œä¸€æ—¦å®ƒè¶…è¿‡äº†ä¹‹å‰æŸä¸ªé€‰é¡¹çš„ä¼°è®¡æˆæœ¬ï¼Œè¯¥ç®—法将放弃当å‰è·¯å¾„并返回到之å‰çš„选项,从而防æ¢è‡ªå·±æ²¿ç€$h(n)$é”™è¯¯åœ°æ ‡è®°ä¸ºæœ€ä½³çš„å´é•¿è€Œä½Žæ•ˆçš„路径å‰è¿›ã€‚
+
+ - 然而,由于这ç§ç®—法也ä¾èµ–于å¯å‘å¼ï¼Œæ‰€ä»¥å®ƒä¾èµ–它所使用的å¯å‘å¼ã€‚在æŸäº›æƒ…况下,它å¯èƒ½æ¯”贪婪的最佳第一æœç´¢ç”šè‡³ä¸çŸ¥æƒ…的算法效率更低。对于最佳的$A^*$æœç´¢ï¼Œå¯å‘å¼å‡½æ•°$h(n)$应该:
+
- 坿ޥå—ï¼Œä»Žæœªé«˜ä¼°çœŸå®žæˆæœ¬ã€‚
-
- - 一致性,这æ„味ç€ä»Žæ–°èŠ‚ç‚¹åˆ°ç›®æ ‡çš„ä¼°è®¡è·¯å¾„æˆæœ¬åŠ ä¸Šä»Žå…ˆå‰èŠ‚ç‚¹è½¬æ¢åˆ°è¯¥æ–°èŠ‚ç‚¹çš„æˆæœ¬åº”该大于或ç‰äºŽå…ˆå‰èŠ‚ç‚¹åˆ°ç›®æ ‡çš„ä¼°è®¡è·¯å¾„æˆæœ¬ã€‚用方程的形å¼è¡¨ç¤ºï¼Œ$$h(n)$$是一致的,如果对于æ¯ä¸ªèŠ‚ç‚¹$$n$$å’ŒåŽç»èŠ‚ç‚¹$$n'$$,从$$n$$到$$n'$$çš„æ¥é•¿ä¸º$$c$$,满足$$h(n)≤h(n')+c$$。
- $$
+
+ - 一致性,这æ„味ç€ä»Žæ–°èŠ‚ç‚¹åˆ°ç›®æ ‡çš„ä¼°è®¡è·¯å¾„æˆæœ¬åŠ ä¸Šä»Žå…ˆå‰èŠ‚ç‚¹è½¬æ¢åˆ°è¯¥æ–°èŠ‚ç‚¹çš„æˆæœ¬åº”该大于或ç‰äºŽå…ˆå‰èŠ‚ç‚¹åˆ°ç›®æ ‡çš„ä¼°è®¡è·¯å¾„æˆæœ¬ã€‚用方程的形å¼è¡¨ç¤ºï¼Œ$h(n)$是一致的,如果对于æ¯ä¸ªèŠ‚ç‚¹n$å’ŒåŽç»èŠ‚ç‚¹n'$,从n$到$n'$çš„æ¥é•¿ä¸ºc$,满足$h(n)≤h(n')+c$。

@@ -282,72 +232,45 @@ def remove(self):
- æžå¤§æžå°ç®—法(Minimax)
- - 作为对抗性æœç´¢ä¸çš„一ç§ç®—法,Minimax 将获胜æ¡ä»¶è¡¨ç¤ºä¸º
- $$
- (-1)
- $$
+ - 作为对抗性æœç´¢ä¸çš„一ç§ç®—法,Minimax 将获胜æ¡ä»¶è¡¨ç¤ºä¸º$(-1)$表示为一方,$(+1)$表示为å¦ä¸€æ–¹ã€‚进一æ¥çš„行动将å—到这些æ¡ä»¶çš„驱动,最å°åŒ–的一方试图获得最低分数,而最大化的一方则试图获得最高分数。
+
+
+
+- äº•å—æ£‹ AI 为例
+
+ - $s_0$: åˆå§‹çжæ€ï¼ˆåœ¨æˆ‘们的情况下,是一个空的3X3棋盘)
+
+ 
- 表示为一方,
- $$
- (+1)
- $$
-
- 表示为å¦ä¸€æ–¹ã€‚进一æ¥çš„行动将å—到这些æ¡ä»¶çš„驱动,最å°åŒ–的一方试图获得最低分数,而最大化的一方则试图获得最高分数。
-
-
-
-- äº•å—æ£‹ AI 为例
-
- - $$
- s_0$$: åˆå§‹çжæ€ï¼ˆåœ¨æˆ‘们的情况下,是一个空的3X3棋盘)
- $$
-
-
-
-```
-- $$Players(s)$$: 一个函数,在给定状æ€$$s$$的情况下,返回轮到哪个玩家(X或O)。
-```
-
-
-
-```
-- $$Actions(s)$$: 一个函数,在给定状æ€$$s$$的情况下,返回该状æ€ä¸‹çš„æ‰€æœ‰åˆæ³•动作(棋盘上哪些ä½ç½®æ˜¯ç©ºçš„)。
-```
-
-
-
-```
-- $$Result(s, a)$$: 一个函数,在给定状æ€$$s$$å’Œæ“作$$a$$的情况下,返回一个新状æ€ã€‚这是在状æ€$$s$$上执行动作$$a$$(在游æˆä¸ç§»åŠ¨ï¼‰æ‰€äº§ç”Ÿçš„æ£‹ç›˜ã€‚
-```
-
-
-
-```
-- $$Terminal(s)$$: 一个函数,在给定状æ€$$s$$çš„æƒ…å†µä¸‹ï¼Œæ£€æŸ¥è¿™æ˜¯å¦æ˜¯æ¸¸æˆçš„æœ€åŽä¸€æ¥ï¼Œå³æ˜¯å¦æœ‰äººèµ¢äº†æˆ–打æˆå¹³æ‰‹ã€‚如果游æˆå·²ç»“æŸï¼Œåˆ™è¿”回True,å¦åˆ™è¿”回False。
-```
-
-
-
-```
-- $$Utility(s)$$: 一个函数,在给定终端状æ€s的情况下,返回状æ€çš„æ•ˆç”¨å€¼ï¼š$$-1ã€0或1$$。
-```
+ - $$Players(s)$$: 一个函数,在给定状æ€$$s$$的情况下,返回轮到哪个玩家(X或O)。
+
+ 
+
+ - $Actions(s)$: 一个函数,在给定状æ€$$s$$的情况下,返回该状æ€ä¸‹çš„æ‰€æœ‰åˆæ³•动作(棋盘上哪些ä½ç½®æ˜¯ç©ºçš„)。
+
+ 
+
+ - $Result(s, a)$: 一个函数,在给定状æ€$$s$$å’Œæ“作$$a$$的情况下,返回一个新状æ€ã€‚这是在状æ€$$s$$上执行动作$$a$$(在游æˆä¸ç§»åŠ¨ï¼‰æ‰€äº§ç”Ÿçš„æ£‹ç›˜ã€‚
+
+ 
+
+ - $Terminal(s)$: 一个函数,在给定状æ€$$s$$çš„æƒ…å†µä¸‹ï¼Œæ£€æŸ¥è¿™æ˜¯å¦æ˜¯æ¸¸æˆçš„æœ€åŽä¸€æ¥ï¼Œå³æ˜¯å¦æœ‰äººèµ¢äº†æˆ–打æˆå¹³æ‰‹ã€‚如果游æˆå·²ç»“æŸï¼Œåˆ™è¿”回True,å¦åˆ™è¿”回False。
+
+ 
+
+ - $Utility(s)$: 一个函数,在给定终端状æ€s的情况下,返回状æ€çš„æ•ˆç”¨å€¼ï¼š$$-1ã€0或1$$。
+
+

- 算法的工作原ç†ï¼š
- - 该算法递归地模拟从当å‰çжæ€å¼€å§‹ç›´åˆ°è¾¾åˆ°ç»ˆç«¯çжæ€ä¸ºæ¢å¯èƒ½å‘生的所有游æˆçжæ€ã€‚æ¯ä¸ªç»ˆç«¯çжæ€çš„值为
- $$
- (-1)ã€0或(+1)
- $$
-
- 。
+ - 该算法递归地模拟从当å‰çжæ€å¼€å§‹ç›´åˆ°è¾¾åˆ°ç»ˆç«¯çжæ€ä¸ºæ¢å¯èƒ½å‘生的所有游æˆçжæ€ã€‚æ¯ä¸ªç»ˆç«¯çжæ€çš„值为$(-1)$ã€$0$或$(+1)$。

-```
-- æ ¹æ®è½®åˆ°è°çš„状æ€ï¼Œç®—法å¯ä»¥çŸ¥é“当å‰çŽ©å®¶åœ¨æœ€ä½³æ¸¸æˆæ—¶æ˜¯å¦ä¼šé€‰æ‹©å¯¼è‡´çжæ€å€¼æ›´ä½Žæˆ–更高的动作。
-```
+ - æ ¹æ®è½®åˆ°è°çš„状æ€ï¼Œç®—法å¯ä»¥çŸ¥é“当å‰çŽ©å®¶åœ¨æœ€ä½³æ¸¸æˆæ—¶æ˜¯å¦ä¼šé€‰æ‹©å¯¼è‡´çжæ€å€¼æ›´ä½Žæˆ–更高的动作。
é€šè¿‡è¿™ç§æ–¹å¼ï¼Œåœ¨æœ€å°åŒ–和最大化之间交替,算法为æ¯ä¸ªå¯èƒ½çš„动作产生的状æ€åˆ›å»ºå€¼ã€‚举一个更具体的例å,我们å¯ä»¥æƒ³è±¡ï¼Œæœ€å¤§åŒ–的玩家在æ¯ä¸€ä¸ªå›žåˆéƒ½ä¼šé—®ï¼šâ€œå¦‚果我采å–这个行动,就会产生一个新的状æ€ã€‚如果最å°åŒ–çš„çŽ©å®¶å‘æŒ¥å¾—最好,那么该玩家å¯ä»¥é‡‡å–什么行动æ¥è¾¾åˆ°æœ€ä½Žå€¼ï¼Ÿâ€
@@ -361,102 +284,30 @@ def remove(self):
- 具体算法:
- - ç»™å®šçŠ¶æ€ $$s$$
+ - ç»™å®šçŠ¶æ€ $s$
- - 最大化玩家在
- $$
- Actions(s)
- $$
+ - 最大化玩家在$$Actions(s)$$ä¸é€‰æ‹©åŠ¨ä½œ$$a$$,该动作产生$$Min-value(Result(s,a))$$ 的最高值。
+ - 最å°åŒ–玩家在$$Actions(s)$$ä¸é€‰æ‹©åŠ¨ä½œ$$a$$,该动作产生$$Max-value(Result(s,a))$$ 的最å°å€¼ã€‚
- ä¸é€‰æ‹©åŠ¨ä½œ
- $$
- a$$,该动作产生
- $$
-
- Min-value(Result(s,a))$$ 的最高值。
- - 最å°åŒ–玩家在
- $$
- Actions(s)
- $$
-
- ä¸é€‰æ‹©åŠ¨ä½œ
- $$
- a$$,该动作产生
- $$
-
- Max-value(Result(s,a))$$ 的最å°å€¼ã€‚
- Function Max-Value(state):
-
- - $$
- v=-\infty
- $$
- - if
- $$
- Terminal(state)
- $$
-
- :
-
- - return
- $$
- Utility(state)
- $$
- - for
- $$
- action
- $$
-
- in
- $$
- Actions(state)
- $$
-
- :
-
- - $$
- v = Max(v, Min-Value(Result(state, action)))
- $$
+ - $$v=-\infty$$
+ - if $$Terminal(state)$$:
+ - return $$Utility(state)$$
+ - for $$action$$ in $$Actions(state)$$:
+ - $$v = Max(v, Min-Value(Result(state, action)))$$
- return $$v$$
- Function Min-Value(state):
-
- - $$
- v=\infty
- $$
- - if
- $$
- Terminal(state)
- $$
-
- :
-
- - return
- $$
- Utility(state)
- $$
- - for
- $$
- action
- $$
-
- in
- $$
- Actions(state)
- $$
-
- :
-
- - $$
- v = Min(v, Max-Value(Result(state, action)))
- $$
+ - $$v=\infty$$
+ - if $$Terminal(state)$$:
+ - return $$Utility(state)$$
+ - for $$action$$ in $$Actions(state)$$:
+ - $$v = Min(v, Max-Value(Result(state, action)))$$
- return $$v$$
ä¸ä¼šç†è§£é€’å½’ï¼Ÿä¹Ÿè®¸ä½ éœ€è¦çœ‹çœ‹è¿™ä¸ªï¼š[阶段二:递归æ“作](https://hdu-cs-lecture-notes.feishu.cn/wiki/wikcnwIRBW8rXspHQvigmYXZSWd)
-- $$
- \alpha$$-$$\beta$$剪æž(Alpha-Beta Pruning)
-
+- $$\alpha$$-$$\beta$$剪æž(Alpha-Beta Pruning)
- 作为一ç§ä¼˜åŒ–Minimax的方法,Alpha-Beta剪æžè·³è¿‡äº†ä¸€äº›æ˜Žæ˜¾ä¸åˆ©çš„递归计算。在确定了一个动作的价值åŽï¼Œå¦‚æžœæœ‰åˆæ¥è¯æ®è¡¨æ˜ŽæŽ¥ä¸‹æ¥çš„动作å¯ä»¥è®©å¯¹æ‰‹èŽ·å¾—æ¯”å·²ç»ç¡®å®šçš„动作更好的分数,那么就没有必è¦è¿›ä¸€æ¥è°ƒæŸ¥è¿™ä¸ªåŠ¨ä½œï¼Œå› ä¸ºå®ƒè‚¯å®šæ¯”ä¹‹å‰ç¡®å®šçš„动作ä¸åˆ©ã€‚
-
- è¿™ä¸€ç‚¹æœ€å®¹æ˜“ç”¨ä¸€ä¸ªä¾‹åæ¥è¯´æ˜Žï¼šæœ€å¤§åŒ–çš„çŽ©å®¶çŸ¥é“,在下一æ¥ï¼Œæœ€å°åŒ–的玩家将试图获得最低分数。å‡è®¾æœ€å¤§åŒ–玩家有三个å¯èƒ½çš„动作,第一个动作的值为4。然åŽçŽ©å®¶å¼€å§‹ä¸ºä¸‹ä¸€ä¸ªåŠ¨ä½œç”Ÿæˆå€¼ã€‚è¦åšåˆ°è¿™ä¸€ç‚¹ï¼Œå¦‚果当å‰çީ家åšå‡ºè¿™ä¸ªåŠ¨ä½œï¼ŒçŽ©å®¶ä¼šç”Ÿæˆæœ€å°åŒ–è€…åŠ¨ä½œçš„å€¼ï¼Œå¹¶ä¸”çŸ¥é“æœ€å°åŒ–è€…ä¼šé€‰æ‹©æœ€ä½Žçš„ä¸€ä¸ªã€‚ç„¶è€Œï¼Œåœ¨å®Œæˆæœ€å°åŒ–器所有å¯èƒ½åŠ¨ä½œçš„è®¡ç®—ä¹‹å‰ï¼ŒçŽ©å®¶ä¼šçœ‹åˆ°å…¶ä¸ä¸€ä¸ªé€‰é¡¹çš„值为3。这æ„å‘³ç€æ²¡æœ‰ç†ç”±ç»§ç»æŽ¢ç´¢æœ€å°åŒ–玩家的其他å¯èƒ½è¡ŒåŠ¨ã€‚å°šæœªèµ‹å€¼çš„åŠ¨ä½œçš„å€¼æ— å…³ç´§è¦ï¼Œæ— 论是10还是(-10)。如果该值为10,则最å°åŒ–器将选择最低选项3ï¼Œè¯¥é€‰é¡¹å·²ç»æ¯”预先设定的4差。如果尚未估价的行动结果是(-10),那么最å°åŒ–者将选择(-10)这一选项,这对最大化者æ¥è¯´æ›´åŠ ä¸åˆ©ã€‚å› æ¤ï¼Œåœ¨è¿™ä¸€ç‚¹ä¸Šä¸ºæœ€å°åŒ–者计算é¢å¤–çš„å¯èƒ½åŠ¨ä½œä¸Žæœ€å¤§åŒ–è€…æ— å…³ï¼Œå› ä¸ºæœ€å¤§åŒ–çŽ©å®¶å·²ç»æœ‰äº†ä¸€ä¸ªæ˜Žç¡®çš„æ›´å¥½çš„选择,其值为4。
$$
@@ -464,15 +315,5 @@ def remove(self):
- 深度é™åˆ¶çš„æžå¤§æžå°ç®—法(Depth-Limited Minimax)
- - 总共有
- $$
- 255168
- $$
-
- 个å¯èƒ½çš„äº•å—æ£‹æ¸¸æˆï¼Œä»¥åŠæœ‰
- $$
- 10^{29000}
- $$
-
- 个å¯èƒ½çš„å›½é™…è±¡æ£‹ä¸æ¸¸æˆã€‚到目å‰ä¸ºæ¢ï¼Œæœ€å°æœ€å¤§ç®—法需è¦ç”Ÿæˆä»ŽæŸä¸ªç‚¹åˆ°ç»ˆç«¯æ¡ä»¶çš„æ‰€æœ‰å‡è®¾æ¸¸æˆçжæ€ã€‚è™½ç„¶è®¡ç®—æ‰€æœ‰çš„äº•å—æ£‹æ¸¸æˆçжæ€å¯¹çŽ°ä»£è®¡ç®—æœºæ¥è¯´å¹¶ä¸æ˜¯ä¸€ä¸ªæŒ‘战,但目å‰ç”¨æ¥è®¡ç®—国际象棋是ä¸å¯èƒ½çš„。
- - 深度é™åˆ¶çš„ Minimax ç®—æ³•åœ¨åœæ¢ä¹‹å‰åªè€ƒè™‘预先定义的移动次数,而从未达到终端状æ€ã€‚然而,这ä¸å…许获得æ¯ä¸ªåŠ¨ä½œçš„ç²¾ç¡®å€¼ï¼Œå› ä¸ºå‡è®¾çš„æ¸¸æˆè¿˜æ²¡æœ‰ç»“æŸã€‚为了解决这个问题,深度é™åˆ¶ Minimax ä¾èµ–于一个评估函数,该函数从给定状æ€ä¼°è®¡æ¸¸æˆçš„预期效用,或者æ¢å¥è¯è¯´ï¼Œä¸ºçжæ€èµ‹å€¼ã€‚例如,在国际象棋游æˆä¸ï¼Œæ•ˆç”¨å‡½æ•°ä¼šå°†æ£‹ç›˜çš„当å‰é…置作为输入,å°è¯•评估其预期效用(基于æ¯ä¸ªçŽ©å®¶æ‹¥æœ‰çš„æ£‹ååŠå…¶åœ¨æ£‹ç›˜ä¸Šçš„ä½ç½®ï¼‰ï¼Œç„¶åŽè¿”回一个æ£å€¼æˆ–负值,表示棋盘对一个玩家对å¦ä¸€ä¸ªçŽ©å®¶çš„æœ‰åˆ©ç¨‹åº¦ã€‚è¿™äº›å€¼å¯ä»¥ç”¨æ¥å†³å®šæ£ç¡®çš„æ“ä½œï¼Œå¹¶ä¸”è¯„ä¼°å‡½æ•°è¶Šå¥½ï¼Œä¾èµ–它的 Minimax 算法就越好。
+ - 总共有$$255168$$个å¯èƒ½çš„äº•å—æ£‹æ¸¸æˆï¼Œä»¥åŠæœ‰$$10^{29000}$$个å¯èƒ½çš„å›½é™…è±¡æ£‹ä¸æ¸¸æˆã€‚到目å‰ä¸ºæ¢ï¼Œæœ€å°æœ€å¤§ç®—法需è¦ç”Ÿæˆä»ŽæŸä¸ªç‚¹åˆ°ç»ˆç«¯æ¡ä»¶çš„æ‰€æœ‰å‡è®¾æ¸¸æˆçжæ€ã€‚è™½ç„¶è®¡ç®—æ‰€æœ‰çš„äº•å—æ£‹æ¸¸æˆçжæ€å¯¹çŽ°ä»£è®¡ç®—æœºæ¥è¯´å¹¶ä¸æ˜¯ä¸€ä¸ªæŒ‘战,但目å‰ç”¨æ¥è®¡ç®—国际象棋是ä¸å¯èƒ½çš„。
+ - 深度é™åˆ¶çš„ Minimax ç®—æ³•åœ¨åœæ¢ä¹‹å‰åªè€ƒè™‘预先定义的移动次数,而从未达到终端状æ€ã€‚然而,这ä¸å…许获得æ¯ä¸ªåŠ¨ä½œçš„ç²¾ç¡®å€¼ï¼Œå› ä¸ºå‡è®¾çš„æ¸¸æˆè¿˜æ²¡æœ‰ç»“æŸã€‚为了解决这个问题,深度é™åˆ¶ Minimax ä¾èµ–于一个评估函数,该函数从给定状æ€ä¼°è®¡æ¸¸æˆçš„预期效用,或者æ¢å¥è¯è¯´ï¼Œä¸ºçжæ€èµ‹å€¼ã€‚例如,在国际象棋游æˆä¸ï¼Œæ•ˆç”¨å‡½æ•°ä¼šå°†æ£‹ç›˜çš„当å‰é…置作为输入,å°è¯•评估其预期效用(基于æ¯ä¸ªçŽ©å®¶æ‹¥æœ‰çš„æ£‹ååŠå…¶åœ¨æ£‹ç›˜ä¸Šçš„ä½ç½®ï¼‰ï¼Œç„¶åŽè¿”回一个æ£å€¼æˆ–负值,表示棋盘对一个玩家对å¦ä¸€ä¸ªçŽ©å®¶çš„æœ‰åˆ©ç¨‹åº¦ã€‚è¿™äº›å€¼å¯ä»¥ç”¨æ¥å†³å®šæ£ç¡®çš„æ“ä½œï¼Œå¹¶ä¸”è¯„ä¼°å‡½æ•°è¶Šå¥½ï¼Œä¾èµ–它的 Minimax 算法就越好。
\ No newline at end of file
From c90da867a3ff232634321a08f553c1ab127720f1 Mon Sep 17 00:00:00 2001
From: 46135621 <87229030+46135621@users.noreply.github.com>
Date: Thu, 20 Apr 2023 01:00:02 +0800
Subject: [PATCH 3/5] =?UTF-8?q?Update=204.3.1=E6=90=9C=E7=B4=A2.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
4.人工智能/4.3.1æœç´¢.md | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/4.人工智能/4.3.1æœç´¢.md b/4.人工智能/4.3.1æœç´¢.md
index 775d015..04386b0 100644
--- a/4.人工智能/4.3.1æœç´¢.md
+++ b/4.人工智能/4.3.1æœç´¢.md
@@ -46,9 +46,7 @@
- 动作(Action)
- - 一个状æ€å¯ä»¥åšå‡ºçš„选择。更确切地说,动作å¯ä»¥å®šä¹‰ä¸ºä¸€ä¸ªå‡½æ•°ã€‚当接收到状æ€
-
- $s$作为输入时,$Actions(s)$将返回å¯åœ¨çжæ€$s$ 䏿‰§è¡Œçš„一组æ“作作为输出。
+ - 一个状æ€å¯ä»¥åšå‡ºçš„选择。更确切地说,动作å¯ä»¥å®šä¹‰ä¸ºä¸€ä¸ªå‡½æ•°ã€‚当接收到状æ€$s$作为输入时,$Actions(s)$将返回å¯åœ¨çжæ€$s$ 䏿‰§è¡Œçš„一组æ“作作为输出。
- 例如,在一个数å—åŽå®¹é“ä¸ï¼Œç»™å®šçжæ€çš„æ“作是您å¯ä»¥åœ¨å½“å‰é…ç½®ä¸æ»‘动方å—的方å¼ã€‚

@@ -316,4 +314,4 @@ def remove(self):
- 深度é™åˆ¶çš„æžå¤§æžå°ç®—法(Depth-Limited Minimax)
- 总共有$$255168$$个å¯èƒ½çš„äº•å—æ£‹æ¸¸æˆï¼Œä»¥åŠæœ‰$$10^{29000}$$个å¯èƒ½çš„å›½é™…è±¡æ£‹ä¸æ¸¸æˆã€‚到目å‰ä¸ºæ¢ï¼Œæœ€å°æœ€å¤§ç®—法需è¦ç”Ÿæˆä»ŽæŸä¸ªç‚¹åˆ°ç»ˆç«¯æ¡ä»¶çš„æ‰€æœ‰å‡è®¾æ¸¸æˆçжæ€ã€‚è™½ç„¶è®¡ç®—æ‰€æœ‰çš„äº•å—æ£‹æ¸¸æˆçжæ€å¯¹çŽ°ä»£è®¡ç®—æœºæ¥è¯´å¹¶ä¸æ˜¯ä¸€ä¸ªæŒ‘战,但目å‰ç”¨æ¥è®¡ç®—国际象棋是ä¸å¯èƒ½çš„。
- - 深度é™åˆ¶çš„ Minimax ç®—æ³•åœ¨åœæ¢ä¹‹å‰åªè€ƒè™‘预先定义的移动次数,而从未达到终端状æ€ã€‚然而,这ä¸å…许获得æ¯ä¸ªåŠ¨ä½œçš„ç²¾ç¡®å€¼ï¼Œå› ä¸ºå‡è®¾çš„æ¸¸æˆè¿˜æ²¡æœ‰ç»“æŸã€‚为了解决这个问题,深度é™åˆ¶ Minimax ä¾èµ–于一个评估函数,该函数从给定状æ€ä¼°è®¡æ¸¸æˆçš„预期效用,或者æ¢å¥è¯è¯´ï¼Œä¸ºçжæ€èµ‹å€¼ã€‚例如,在国际象棋游æˆä¸ï¼Œæ•ˆç”¨å‡½æ•°ä¼šå°†æ£‹ç›˜çš„当å‰é…置作为输入,å°è¯•评估其预期效用(基于æ¯ä¸ªçŽ©å®¶æ‹¥æœ‰çš„æ£‹ååŠå…¶åœ¨æ£‹ç›˜ä¸Šçš„ä½ç½®ï¼‰ï¼Œç„¶åŽè¿”回一个æ£å€¼æˆ–负值,表示棋盘对一个玩家对å¦ä¸€ä¸ªçŽ©å®¶çš„æœ‰åˆ©ç¨‹åº¦ã€‚è¿™äº›å€¼å¯ä»¥ç”¨æ¥å†³å®šæ£ç¡®çš„æ“ä½œï¼Œå¹¶ä¸”è¯„ä¼°å‡½æ•°è¶Šå¥½ï¼Œä¾èµ–它的 Minimax 算法就越好。
\ No newline at end of file
+ - 深度é™åˆ¶çš„ Minimax ç®—æ³•åœ¨åœæ¢ä¹‹å‰åªè€ƒè™‘预先定义的移动次数,而从未达到终端状æ€ã€‚然而,这ä¸å…许获得æ¯ä¸ªåŠ¨ä½œçš„ç²¾ç¡®å€¼ï¼Œå› ä¸ºå‡è®¾çš„æ¸¸æˆè¿˜æ²¡æœ‰ç»“æŸã€‚为了解决这个问题,深度é™åˆ¶ Minimax ä¾èµ–于一个评估函数,该函数从给定状æ€ä¼°è®¡æ¸¸æˆçš„预期效用,或者æ¢å¥è¯è¯´ï¼Œä¸ºçжæ€èµ‹å€¼ã€‚例如,在国际象棋游æˆä¸ï¼Œæ•ˆç”¨å‡½æ•°ä¼šå°†æ£‹ç›˜çš„当å‰é…置作为输入,å°è¯•评估其预期效用(基于æ¯ä¸ªçŽ©å®¶æ‹¥æœ‰çš„æ£‹ååŠå…¶åœ¨æ£‹ç›˜ä¸Šçš„ä½ç½®ï¼‰ï¼Œç„¶åŽè¿”回一个æ£å€¼æˆ–负值,表示棋盘对一个玩家对å¦ä¸€ä¸ªçŽ©å®¶çš„æœ‰åˆ©ç¨‹åº¦ã€‚è¿™äº›å€¼å¯ä»¥ç”¨æ¥å†³å®šæ£ç¡®çš„æ“ä½œï¼Œå¹¶ä¸”è¯„ä¼°å‡½æ•°è¶Šå¥½ï¼Œä¾èµ–它的 Minimax 算法就越好。
From 1d6a296af38e0b333e1a4c6ea6e444245f286f37 Mon Sep 17 00:00:00 2001
From: camera-2018 <2907618001@qq.com>
Date: Thu, 20 Apr 2023 01:08:59 +0800
Subject: [PATCH 4/5] =?UTF-8?q?fix:=204.3.1=20=E5=9B=BE=E7=89=87=E8=B7=AF?=
=?UTF-8?q?=E5=BE=84=E4=B8=8D=E6=AD=A3=E7=A1=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.vitepress/cache/deps/_metadata.json | 6 +++---
4.人工智能/4.3.1æœç´¢.md | 14 +++++++-------
package-lock.json | 2 +-
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/.vitepress/cache/deps/_metadata.json b/.vitepress/cache/deps/_metadata.json
index 5094116..ea8fe0c 100644
--- a/.vitepress/cache/deps/_metadata.json
+++ b/.vitepress/cache/deps/_metadata.json
@@ -1,11 +1,11 @@
{
- "hash": "37427fdc",
- "browserHash": "93d17c76",
+ "hash": "6fdfc41b",
+ "browserHash": "128697d0",
"optimized": {
"vue": {
"src": "../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
- "fileHash": "87e80f21",
+ "fileHash": "6266fb14",
"needsInterop": false
}
},
diff --git a/4.人工智能/4.3.1æœç´¢.md b/4.人工智能/4.3.1æœç´¢.md
index 04386b0..9a3fa19 100644
--- a/4.人工智能/4.3.1æœç´¢.md
+++ b/4.人工智能/4.3.1æœç´¢.md
@@ -38,7 +38,7 @@
- 智能主体在其环境ä¸çš„é…置。
- 例如,在一个数å—åŽå®¹é“谜题ä¸ï¼Œä¸€ä¸ªçŠ¶æ€æ˜¯æ‰€æœ‰æ•°å—æŽ’åˆ—åœ¨æ£‹ç›˜ä¸Šçš„ä»»ä½•ä¸€ç§æ–¹å¼ã€‚
- - åˆå§‹çжæ€(Initial State)
+ - åˆå§‹çжæ€ï¼ˆInitial State)
- æœç´¢ç®—法开始的状æ€ã€‚在导航应用程åºä¸ï¼Œè¿™å°†æ˜¯å½“å‰ä½ç½®ã€‚
@@ -238,23 +238,23 @@ def remove(self):
- $s_0$: åˆå§‹çжæ€ï¼ˆåœ¨æˆ‘们的情况下,是一个空的3X3棋盘)
- 
+ 
- $$Players(s)$$: 一个函数,在给定状æ€$$s$$的情况下,返回轮到哪个玩家(X或O)。
- 
+ 
- $Actions(s)$: 一个函数,在给定状æ€$$s$$的情况下,返回该状æ€ä¸‹çš„æ‰€æœ‰åˆæ³•动作(棋盘上哪些ä½ç½®æ˜¯ç©ºçš„)。
- 
+ 
- $Result(s, a)$: 一个函数,在给定状æ€$$s$$å’Œæ“作$$a$$的情况下,返回一个新状æ€ã€‚这是在状æ€$$s$$上执行动作$$a$$(在游æˆä¸ç§»åŠ¨ï¼‰æ‰€äº§ç”Ÿçš„æ£‹ç›˜ã€‚
- 
+ 
- $Terminal(s)$: 一个函数,在给定状æ€$$s$$çš„æƒ…å†µä¸‹ï¼Œæ£€æŸ¥è¿™æ˜¯å¦æ˜¯æ¸¸æˆçš„æœ€åŽä¸€æ¥ï¼Œå³æ˜¯å¦æœ‰äººèµ¢äº†æˆ–打æˆå¹³æ‰‹ã€‚如果游æˆå·²ç»“æŸï¼Œåˆ™è¿”回True,å¦åˆ™è¿”回False。
- 
+ 
- $Utility(s)$: 一个函数,在给定终端状æ€s的情况下,返回状æ€çš„æ•ˆç”¨å€¼ï¼š$$-1ã€0或1$$。
@@ -302,7 +302,7 @@ def remove(self):
- $$v = Min(v, Max-Value(Result(state, action)))$$
- return $$v$$
-ä¸ä¼šç†è§£é€’å½’ï¼Ÿä¹Ÿè®¸ä½ éœ€è¦çœ‹çœ‹è¿™ä¸ªï¼š[阶段二:递归æ“作](https://hdu-cs-lecture-notes.feishu.cn/wiki/wikcnwIRBW8rXspHQvigmYXZSWd)
+ä¸ä¼šç†è§£é€’å½’ï¼Ÿä¹Ÿè®¸ä½ éœ€è¦çœ‹çœ‹è¿™ä¸ªï¼š[阶段二:递归æ“作](../3.%E7%BC%96%E7%A8%8B%E6%80%9D%E7%BB%B4%E4%BD%93%E7%B3%BB%E6%9E%84%E5%BB%BA/3.6.4.2%E9%98%B6%E6%AE%B5%E4%BA%8C%EF%BC%9A%E9%80%92%E5%BD%92%E6%93%8D%E4%BD%9C.md)
- $$\alpha$$-$$\beta$$剪æž(Alpha-Beta Pruning)
- 作为一ç§ä¼˜åŒ–Minimax的方法,Alpha-Beta剪æžè·³è¿‡äº†ä¸€äº›æ˜Žæ˜¾ä¸åˆ©çš„递归计算。在确定了一个动作的价值åŽï¼Œå¦‚æžœæœ‰åˆæ¥è¯æ®è¡¨æ˜ŽæŽ¥ä¸‹æ¥çš„动作å¯ä»¥è®©å¯¹æ‰‹èŽ·å¾—æ¯”å·²ç»ç¡®å®šçš„动作更好的分数,那么就没有必è¦è¿›ä¸€æ¥è°ƒæŸ¥è¿™ä¸ªåŠ¨ä½œï¼Œå› ä¸ºå®ƒè‚¯å®šæ¯”ä¹‹å‰ç¡®å®šçš„动作ä¸åˆ©ã€‚
diff --git a/package-lock.json b/package-lock.json
index e3ceb6a..7f99a68 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "srt-wiki",
+ "name": "hdu-cs-wiki-cww",
"lockfileVersion": 2,
"requires": true,
"packages": {
From b17c99064c3216bae151fff4b724bae682b0c5c1 Mon Sep 17 00:00:00 2001
From: camera-2018 <2907618001@qq.com>
Date: Thu, 20 Apr 2023 01:22:09 +0800
Subject: [PATCH 5/5] fix: 4.3.1 html tag
---
4.人工智能/4.3.1æœç´¢.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/4.人工智能/4.3.1æœç´¢.md b/4.人工智能/4.3.1æœç´¢.md
index 9a3fa19..503e98a 100644
--- a/4.人工智能/4.3.1æœç´¢.md
+++ b/4.人工智能/4.3.1æœç´¢.md
@@ -232,7 +232,7 @@ def remove(self):
- 作为对抗性æœç´¢ä¸çš„一ç§ç®—法,Minimax 将获胜æ¡ä»¶è¡¨ç¤ºä¸º$(-1)$表示为一方,$(+1)$表示为å¦ä¸€æ–¹ã€‚进一æ¥çš„行动将å—到这些æ¡ä»¶çš„驱动,最å°åŒ–的一方试图获得最低分数,而最大化的一方则试图获得最高分数。
-
+ 
- äº•å—æ£‹ AI 为例