当前位置: 代码迷 >> 综合 >> 2022《人工智能》_ch06
  详细解决方案

2022《人工智能》_ch06

热度:55   发布时间:2023-12-10 19:35:52.0

题目

  1. 如图所示的地图着色问题共有多少个解?如果是四色有多少个解?如果只有两色呢?

    在这里插入图片描述

    • 三色

      依据MCV对节点排序,

      SA NT Q NSW WA V T
      1 ? \bigcirc ? × \times × × \times × × \times × × \times × × \times × ? \bigcirc ?
      2 ? \bigcirc ? × \times × ? \bigcirc ? × \times × × \times ×
      3 ? \bigcirc ? × \times × ? \bigcirc ? ? \bigcirc ?

      n = 3 × 2 × 3 = 18 n=3\times 2\times 3=18 n=3×2×3=18

    • 四色

      SA NT Q NSW WA V T
      1 ? \bigcirc ? × \times × × \times × × \times × × \times × × \times × ? \bigcirc ?
      2 ? \bigcirc ? × \times × ? \bigcirc ? × \times × × \times ×
      3 ? \bigcirc ? × \times × ? \bigcirc ? ? \bigcirc ?
      4

      n = 4 × 3 × 2 × 2 × 2 × 2 × 4 = 768 n=4\times 3\times 2\times 2\times 2\times 2\times 4=768 n=4×3×2×2×2×2×4=768

    • 二色

      SA NT Q NSW WA V T
      1 ? \bigcirc ? × \times × × \times × × \times × × \times × × \times × ? \bigcirc ?
      2 ? \bigcirc ? × \times × ? \bigcirc ? × \times × × \times ×

      无解

  2. 考虑下述的逻辑问题:有5所不同颜色的房子,住着5个来自不同国家的人,每个人都喜欢一种不同牌子的糖果,不同牌子的饮料和不同的宠物。给定下列已知事实,请回答问题“斑马住在哪?哪所房子里的人喜欢喝水?

    · 英国人住在红色房子里。

    · 西班牙人养狗

    · 挪威人住在最左边的第一所房子里

    · 绿房子是象牙色房子的右边邻居

    · 喜欢抽hershey牌巧克力的人住在养狐狸的人的旁边

    · 住在黄色房子里的人喜欢Kit Kats糖果

    · 挪威人住在蓝房子旁边

    · 喜欢smarties糖果的人养了一只蜗牛

    · 喜欢Snickers 糖果的人喝橘汁

    · 乌克兰人喝茶

    · 日本人喜欢Milky Ways糖果

    · 喜欢Kit Kats糖果的人住在养马人的隔壁

    · 住在中间房子里的人喜欢喝牛奶

    · 绿房子的主人喝咖啡

    把这个问题表示成CSP问题,并进行求解。

    • 变量:房屋的序号从左向右排
      V = { v 1 , v 2 , v 3 , v 4 , v 5 } V=\{v_1,v_2,v_3,v_4,v_5\} V={ v1?,v2?,v3?,v4?,v5?}

    • 值域
      D 1 = { r e d , g r e e n , i v o r y , y e l l o w , b l u e } D 2 = { B r i t i s h , S p a n i s h , N o r w a y , U k r a i n e , J a p a n e s e } D 3 = { h e r s h e y , k i t k a t s , s m a r t i e s , s n i c k e r s , m i l k y w a y s } D 4 = { o r a n g e , t e a , m i l k , c o f f e e , w a t e r } D 5 = { d o g , f o x , s n a i l , h o r s e , z e b r a } D_1=\{red, \ green,\ ivory,\ yellow,\ blue\} \\ D_2=\{British,\ Spanish, Norway,\ Ukraine,\ Japanese\} \\ D_3=\{hershey,\ kit\ kats,\ smarties,\ snickers,\ milky\ ways\} \\ D_4=\{orange,\ tea,\ milk,\ coffee,\ water\} \\ D_5=\{dog,\ fox,\ snail,\ horse,\ zebra\} D1?={ red, green, ivory, yellow, blue}D2?={ British, Spanish,Norway, Ukraine, Japanese}D3?={ hershey, kit kats, smarties, snickers, milky ways}D4?={ orange, tea, milk, coffee, water}D5?={ dog, fox, snail, horse, zebra}

    • 约束条件

      a = b a=b a=b a , b a,b a,b在同一个房间里

      a < b a<b a<b a a a b b b左邻的房间里

      a > b a>b a>b a a a b b b右邻的房间里

      a ∈ v i a\in v_i avi? a a a在房间 v i v_i vi?

      B r i t i s h = r e d S p a n i s h = d o g N o r w a y ∈ v 1 g r e e n > i v o r y h e r s h e y < f o x ∣ ∣ h e r s h e y > f o x y e l l o w = k i t k a t s N o r w a y < b l u e ∣ ∣ N o r w a y > b l u e s m a r t i e s = s n a i l s n i c k e r s = o r a n g e U k r a i n e = t e a m i l k y w a y s = J a p a n e s e k i t k a t s < h o r s e ∣ ∣ k i t k a t s > h o r s e m i l k ∈ v 3 g r e e n = c o f f e e \begin{aligned} & British=red \\ & Spanish=dog\\ & Norway\in v_1\\ & green>ivory\\ & hershey<fox\ ||\ hershey>fox\\ & yellow=kit\ kats\\ & Norway<blue\ ||\ Norway>blue\\ & smarties=snail\\ & snickers=orange\\ & Ukraine=tea\\ & milky\ ways=Japanese\\ & kit\ kats<horse\ ||\ kit\ kats>horse\\ & milk\in v_3\\ & green=coffee\\ \end{aligned} ?British=redSpanish=dogNorwayv1?green>ivoryhershey<fox  hershey>foxyellow=kit katsNorway<blue  Norway>bluesmarties=snailsnickers=orangeUkraine=teamilky ways=Japanesekit kats<horse  kit kats>horsemilkv3?green=coffee?

    推理如下

    v 1 v_1 v1? v 2 v_2 v2? v 3 v_3 v3? v 4 v_4 v4? v 5 v_5 v5?
    red × \times × × \times × 3 × \times × × \times ×
    green × \times × × \times × × \times × × \times × 5
    ivory × \times × × \times × × \times × 4 × \times ×
    yellow 1 × \times × × \times × × \times × × \times ×
    blue × \times × 2 × \times × × \times × × \times ×
    British × \times × × \times × 3 × \times × × \times ×
    Spanish × \times × × \times × × \times × 4 × \times ×
    Norway 1 × \times × × \times × × \times × × \times ×
    Ukraine × \times × 2 × \times × × \times × × \times ×
    Japanese × \times × × \times × × \times × × \times × 5
    hershey × \times × 2 × \times × × \times × × \times ×
    kit kats 1 × \times × × \times × × \times × × \times ×
    smarties × \times × × \times × 3 × \times × × \times ×
    snickers × \times × × \times × × \times × 4 × \times ×
    milky ways × \times × × \times × × \times × × \times × 5
    orange × \times × × \times × × \times × 4 × \times ×
    tea × \times × 2 × \times × × \times × × \times ×
    milk × \times × × \times × 3 × \times × × \times ×
    coffee × \times × × \times × × \times × × \times × 5
    water 1 × \times × × \times × × \times × × \times ×
    dog × \times × × \times × × \times × 4 × \times ×
    fox 1 × \times × × \times × × \times × × \times ×
    snail × \times × × \times × 3 × \times × × \times ×
    horse × \times × 2 × \times × × \times × × \times ×
    zebra × \times × × \times × × \times × × \times × 5

    最终结果为

    V V V D 1 D_1 D1? D 2 D_2 D2? D 3 D_3 D3? D 4 D_4 D4? D 5 D_5 D5?
    1 yellow Norway kit kats water fox
    2 blue Ukraine hershey tea horse
    3 red British smarties milk snail
    4 ivory Spanish snickers orange dog
    5 green Japanese milky ways coffee zebra

    斑马住在最右边的绿房子里,最左边的乌克兰人喜欢喝水。

| 4 | ivory | Spanish | snickers | orange | dog |
| 5 | green | Japanese | milky ways | coffee | zebra |

斑马住在最右边的绿房子里,最左边的乌克兰人喜欢喝水。