33 lines
111 KiB
HTML
33 lines
111 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en-US" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>项目——填词游戏 | FZU-WIKI</title>
|
||
<meta name="description" content="FZU生存手册">
|
||
<meta name="generator" content="VitePress v1.3.2">
|
||
<link rel="preload stylesheet" href="/assets/style.B9ehgNx8.css" as="style">
|
||
|
||
<script type="module" src="/assets/app.WaHUZV8M.js"></script>
|
||
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
||
<link rel="modulepreload" href="/assets/chunks/theme.C2uBsot4.js">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.DtvhUNIn.js">
|
||
<link rel="modulepreload" href="/assets/技术资源汇总(杭电支持版)_4.人工智能_4.3.4.2项目:填词游戏.md.BLt1E6wb.lean.js">
|
||
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"><div class="Layout" data-v-d8b57b2d><!--[--><!--]--><!--[--><span tabindex="-1" data-v-c8291ffa></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-c8291ffa> Skip to content </a><!--]--><!----><header class="VPNav" data-v-d8b57b2d data-v-7ad780c2><div class="VPNavBar has-sidebar top" data-v-7ad780c2 data-v-9fd4d1dd><div class="wrapper" data-v-9fd4d1dd><div class="container" data-v-9fd4d1dd><div class="title" data-v-9fd4d1dd><div class="VPNavBarTitle has-sidebar" data-v-9fd4d1dd data-v-0ad69264><a class="title" href="/" data-v-0ad69264><!--[--><!--]--><!----><span data-v-0ad69264>FZU-WIKI</span><!--[--><!--]--></a></div></div><div class="content" data-v-9fd4d1dd><div class="content-body" data-v-9fd4d1dd><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9fd4d1dd><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9fd4d1dd data-v-afb2845e><span id="main-nav-aria-label" class="visually-hidden" data-v-afb2845e> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-afb2845e data-v-08fbf4b6><!--[--><span data-v-08fbf4b6>首页</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-afb2845e data-v-af5898d3><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-af5898d3><span class="text" data-v-af5898d3><!----><span data-v-af5898d3>章节</span><span class="vpi-chevron-down text-icon" data-v-af5898d3></span></span></button><div class="menu" data-v-af5898d3><div class="VPMenu" data-v-af5898d3 data-v-20ed86d6><div class="items" data-v-20ed86d6><!--[--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link" href="/技术资源汇总(杭电支持版)/" data-v-f51f088d><!--[-->1. 前言<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/2.%E9%AB%98%E6%95%88%E5%AD%A6%E4%B9%A0/2.%E9%AB%98%E6%95%88%E5%AD%A6%E4%B9%A0.html" data-v-f51f088d><!--[-->2. 高效学习<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/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.%E7%BC%96%E7%A8%8B%E6%80%9D%E7%BB%B4%E4%BD%93%E7%B3%BB%E6%9E%84%E5%BB%BA.html" data-v-f51f088d><!--[-->3. 编程思维体系构建<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD.html" data-v-f51f088d><!--[-->4. 人工智能<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/5.%E5%AF%8C%E6%9C%89%E7%94%9F%E5%91%BD%E7%9A%84%E5%B5%8C%E5%85%A5%E5%BC%8F/5.%E5%AF%8C%E6%9C%89%E7%94%9F%E5%91%BD%E7%9A%84%E5%B5%8C%E5%85%A5%E5%BC%8F.html" data-v-f51f088d><!--[-->5. 富有生命的嵌入式<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/6.%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AE%89%E5%85%A8/6.%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AE%89%E5%85%A8.html" data-v-f51f088d><!--[-->6. 计算机安全<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/7.%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91/7.%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91.html" data-v-f51f088d><!--[-->7. 网络应用开发<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/8.%E5%9F%BA%E7%A1%80%E5%AD%A6%E7%A7%91/8.%E5%9F%BA%E7%A1%80%E5%AD%A6%E7%A7%91.html" data-v-f51f088d><!--[-->8. 基础学科<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/9.%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/9.%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.html" data-v-f51f088d><!--[-->9. 计算机网络<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-9fd4d1dd data-v-3f90c1a5><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-3f90c1a5 data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-9fd4d1dd data-v-ef6192dc data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="https://gitea.xinxijishubu.asia/moyin/fzu-product" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-358b6670><span class="vpi-social-github" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-9fd4d1dd data-v-f953d92f data-v-af5898d3><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-af5898d3><span class="vpi-more-horizontal icon" data-v-af5898d3></span></button><div class="menu" data-v-af5898d3><div class="VPMenu" data-v-af5898d3 data-v-20ed86d6><!----><!--[--><!--[--><!----><div class="group" data-v-f953d92f><div class="item appearance" data-v-f953d92f><p class="label" data-v-f953d92f>Appearance</p><div class="appearance-action" data-v-f953d92f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-f953d92f data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div></div></div><div class="group" data-v-f953d92f><div class="item social-links" data-v-f953d92f><div class="VPSocialLinks social-links-list" data-v-f953d92f data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="https://gitea.xinxijishubu.asia/moyin/fzu-product" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-358b6670><span class="vpi-social-github" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9fd4d1dd data-v-6bee1efd><span class="container" data-v-6bee1efd><span class="top" data-v-6bee1efd></span><span class="middle" data-v-6bee1efd></span><span class="bottom" data-v-6bee1efd></span></span></button></div></div></div></div><div class="divider" data-v-9fd4d1dd><div class="divider-line" data-v-9fd4d1dd></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-d8b57b2d data-v-2488c25a><div class="container" data-v-2488c25a><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-2488c25a><span class="vpi-align-left menu-icon" data-v-2488c25a></span><span class="menu-text" data-v-2488c25a>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-2488c25a data-v-883964e0><button data-v-883964e0>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-d8b57b2d data-v-42c4c606><div class="curtain" data-v-42c4c606></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-42c4c606><span class="visually-hidden" id="sidebar-aria-label" data-v-42c4c606> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0" data-v-51288d80 data-v-edd2eed8><!----><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/%E5%86%85%E5%AE%B9%E7%B4%A2%E5%BC%95.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>返回上一层</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible has-active" data-v-51288d80 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h2 class="text" data-v-edd2eed8>4.人工智能</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.人工智能</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.1%E5%89%8D%E8%A8%80.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.1前言</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.2%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%EF%BC%88AI%EF%BC%89%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8%EF%BC%88quick%20start%EF%BC%89.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.2机器学习(AI)快速入门(quick start)</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible has-active" data-v-edd2eed8 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h3 class="text" data-v-edd2eed8>4.3人工智能导论及机器学习入门</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%AF%BC%E8%AE%BA%E5%8F%8A%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%85%A5%E9%97%A8.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3人工智能导论及机器学习入门</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible collapsed" data-v-edd2eed8 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h4 class="text" data-v-edd2eed8>4.3.1搜索</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.1%E6%90%9C%E7%B4%A2.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.1搜索</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.1.1%E7%A8%8B%E5%BA%8F%E7%A4%BA%E4%BE%8B%E2%80%94%E2%80%94maze%E8%BF%B7%E5%AE%AB%E8%A7%A3%E6%90%9C%E7%B4%A2.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.1.1程序示例——maze迷宫解搜索</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.1.2%E9%A1%B9%E7%9B%AE%EF%BC%9ATic-Tac-Toe%E4%BA%95%E5%AD%97%E6%A3%8B.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.1.2项目:Tic-Tac-Toe井字棋</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed" data-v-edd2eed8 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h4 class="text" data-v-edd2eed8>4.3.2知识推理</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.2%E7%9F%A5%E8%AF%86%E6%8E%A8%E7%90%86.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.2知识推理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.2.1%E7%A8%8B%E5%BA%8F%E7%A4%BA%E4%BE%8B%E2%80%94%E2%80%94%E5%91%BD%E9%A2%98%E9%80%BB%E8%BE%91%E4%B8%8E%E6%A8%A1%E5%9E%8B%E6%A3%80%E6%B5%8B.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.2.1程序示例——命题逻辑与模型检测</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.2.2%E9%A1%B9%E7%9B%AE%EF%BC%9A%E6%89%AB%E9%9B%B7%EF%BC%8C%E9%AA%91%E5%A3%AB%E4%B8%8E%E6%B5%81%E6%B0%93%E9%97%AE%E9%A2%98.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.2.2项目:扫雷,骑士与流氓问题</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed" data-v-edd2eed8 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h4 class="text" data-v-edd2eed8>4.3.3不确定性问题</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.3%E4%B8%8D%E7%A1%AE%E5%AE%9A%E6%80%A7%E9%97%AE%E9%A2%98.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.3不确定性问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.3.1%E7%A8%8B%E5%BA%8F%E7%A4%BA%E4%BE%8B.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.3.1程序示例</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.3.2%E9%A1%B9%E7%9B%AE%EF%BC%9A%E9%81%97%E4%BC%A0.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.3.2项目:遗传</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible has-active" data-v-edd2eed8 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h4 class="text" data-v-edd2eed8>4.3.4最优化</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.4%E6%9C%80%E4%BC%98%E5%8C%96.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.4最优化</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.4.1%E7%A8%8B%E5%BA%8F%E7%A4%BA%E4%BE%8B.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.4.1程序示例</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.4.2%E9%A1%B9%E7%9B%AE%EF%BC%9A%E5%A1%AB%E8%AF%8D%E6%B8%B8%E6%88%8F.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.3.4.2项目:填词游戏</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.4FAQ%EF%BC%9A%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.4FAQ:常见问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.5%E5%9B%BE%E7%BD%91%E7%BB%9C%E7%95%A5%E8%BF%B0%EF%BC%88intro&GCN%EF%BC%89.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.5图网络略述(intro&GCN)</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.6%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.6数据分析</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.7%E5%A6%82%E4%BD%95%E5%81%9A%E7%A0%94%E7%A9%B6.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.7如何做研究</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.8%E7%A7%91%E7%A0%94%E8%AE%BA%E6%96%87%E5%86%99%E4%BD%9C.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.8科研论文写作</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.9%E4%BB%8E%20AI%20%E5%88%B0%20%E6%99%BA%E8%83%BD%E7%B3%BB%E7%BB%9F%20%E2%80%94%E2%80%94%20%E4%BB%8E%20LLMs%20%E5%88%B0%20Agents.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.9从 AI 到 智能系统 —— 从 LLMs 到 Agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.10LLMAgent%E4%B9%8B%E7%BB%93%E6%9E%84%E5%8C%96%E8%BE%93%E5%87%BA.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.10LLM Agent之结构化输出</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.11%E6%9C%AC%E7%AB%A0%E8%8A%82%E5%86%85%E5%AE%B9%E7%9A%84%E5%B1%80%E9%99%90%E6%80%A7.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>4.11本章节内容的局限性</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-d8b57b2d data-v-9a6c75ad><div class="VPDoc has-sidebar has-aside" data-v-9a6c75ad data-v-e6f2a212><!--[--><!--]--><div class="container" data-v-e6f2a212><div class="aside" data-v-e6f2a212><div class="aside-curtain" data-v-e6f2a212></div><div class="aside-container" data-v-e6f2a212><div class="aside-content" data-v-e6f2a212><div class="VPDocAside" data-v-e6f2a212 data-v-cb998dce><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-cb998dce data-v-f610f197><div class="content" data-v-f610f197><div class="outline-marker" data-v-f610f197></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-f610f197>On this page</div><ul class="VPDocOutlineItem root" data-v-f610f197 data-v-53c99d69><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-cb998dce></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-e6f2a212><div class="content-container" data-v-e6f2a212><!--[--><!--]--><main class="main" data-v-e6f2a212><div style="position:relative;" class="vp-doc _%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)_4_%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD_4_3_4_2%E9%A1%B9%E7%9B%AE%EF%BC%9A%E5%A1%AB%E8%AF%8D%E6%B8%B8%E6%88%8F external-link-icon-enabled" data-v-e6f2a212><div><h1 id="项目——填词游戏" tabindex="-1">项目——填词游戏 <a class="header-anchor" href="#项目——填词游戏" aria-label="Permalink to "项目——填词游戏""></a></h1><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>我们为你提供了一个简单有趣的项目,帮助你进行知识巩固,请认真阅读文档内容。</p><p>如果你卡住了,请记得回来阅读文档,或请求身边人的帮助。</p></div><div class="tip custom-block"><p class="custom-block-title">📥</p><p>本节附件下载 <!----></p></div><p>编写一个人工智能来完成填词游戏。</p><p>能够实现将文字转换为图片。</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> python</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> generate.py</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> data/structure1.txt</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> data/words1.txt</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> output.png</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">M</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">R</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">I</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">N</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">T</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">E</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">L</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">L</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">I</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">G</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">E</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">N</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">C</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">E</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">N</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">N</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">S</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">F</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">L</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">O</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">G</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">I</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">C</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">O</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">E</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">M</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">L</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">R</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">S</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">E</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">A</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">R</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">C</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">H</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">V</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">X</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">E</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">█</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span></span></code></pre></div><p><img src="https://cdn.xyxsw.site/4.3.4.2-0.png" alt="4.3.4.2-0"></p><h2 id="背景" tabindex="-1">背景 <a class="header-anchor" href="#背景" aria-label="Permalink to "背景""></a></h2><p>你如何生成一个填字游戏?考虑到填字游戏的结构 (即网格中哪些方格需要填入字母),以及要使用的单词列表,问题就变成了选择哪些单词应该填入每个垂直或水平的方格序列。我们可以将这种问题建模为一个约束满足问题。每一个方格序列都是一个变量,我们需要决定它的值 (在可能的单词域中哪个单词将被填入该序列)。考虑一下下面的字谜结构。</p><p><img src="https://cdn.xyxsw.site/4.3.4.2-1.png" alt="4.3.4.2-1"></p><p>在这个结构中,我们有四个变量,代表了我们需要填入这个字谜的四个单词 (在上图中每个单词都用数字表示)。每个变量由四个值定义:它开始的行 (<code>i</code>值),它开始的列 (<code>j</code>值),单词的方向 (纵向或横向 down or across),以及单词的长度。例如,<code>变量1</code>将是一个由第 1 行 (假设从顶部计数的 0 索引)、第 1 列 (假设从左边计数的 0 索引)、方向为<code>across</code>和<code>4</code>的长度表示的变量。</p><p>与许多约束满足问题一样,这些变量有一元和二元约束。变量的一元约束是由其长度决定的。例如,对于<code>变量1</code>来说,数值<code>BYTE</code>可以满足一元约束,但是数值<code>BIT</code>则不能 (它有错误的字母数量)。因此,任何不满足变量的一元约束的值都可以立即从变量的域中删除。</p><p>变量的二元约束是由其与相邻变量的重合度给出的。<code>变量1</code>有一个邻居:<code>变量2</code>。<code>变量2</code>有两个邻居:<code>变量1</code>和<code>变量3</code>。对于每一对相邻的变量,这些变量都有一个重叠部分:一个它们共同的单方块。我们可以将这种重叠表示为每个变量有用相同字符位置的索引对。例如,<code>变量1</code>和<code>变量2</code>之间的重叠可以表示为一对<code>(1, 0)</code>,这意味着<code>变量1</code>在索引 1 处的字符必然与<code>变量2</code>在索引 0 处的字符相同 (再次假设索引从 0 开始)。因此,<code>变量2</code>和<code>变量3</code>之间的重叠将被表示为一对<code>(3, 1)</code>,<code>变量2</code>的值的字符<code>3</code>必须与<code>变量3</code>的值的字符<code>1</code>相同。</p><p>对于这个问题,我们将增加一个额外的约束条件,即所有的单词必须是不同的:同一个单词不应该在谜题中重复出现多次。</p><p>那么,接下来的挑战是写一个程序来找到一个满意的赋值:为每个变量提供一个不同的词 (来自给定的词汇表),从而满足所有的一元和二元约束。</p><h2 id="理解" tabindex="-1">理解 <a class="header-anchor" href="#理解" aria-label="Permalink to "理解""></a></h2><p>这个项目中有两个 Python 文件:<code>crossword.py</code>和<code>generate.py</code>。第一个文件已经完全为你写好了,第二个文件有一些函数留给你去实现。</p><p>首先,让我们看一下<code>crossword.py</code>。这个文件定义了两个类,<code>Variable</code>(代表填字游戏中的变量) 和<code>Crossword</code>(代表填字游戏本身)。</p><p>注意,要创建一个变量,我们必须指定四个值:它的第<code>i</code>行,第<code>j</code>列,它的方向 (常数<code>Variable.ACROSS</code>或常数<code>Variable.DOWN``),以及它的长度(</code>length``)。</p><p>字谜类需要两个值来创建一个新的字谜:一个定义了字谜结构的<code>structure_file</code>(<code>_</code>用来代表空白单元格,任何其他字符都代表不会被填入的单元格) 和一个定义了字词列表 (每行一个) 的<code>word_file</code>,用来作为游戏的词汇表。这些文件的三个例子可以在项目的数据目录中找到,也欢迎你自己创建。</p><p>特别要注意的是,对于任何一个字谜对象的字谜,我们都会存储以下的数值:</p><ul><li><code>crossword.height</code>是一个整数,代表填字游戏的高度。</li><li><code>crossword.width</code>是一个整数,代表填字游戏的宽度。</li><li><code>crossword.structure</code>是一个二维列表,代表字谜的结构。对于任何有效的第 i 行和第 j 列,如果该单元格是空白的,<code>crossword.structure[i][j]</code>将为真 (必须在该单元格中填入一个字符),否则将为假 (该单元格中没有字符要填)。</li><li><code>crossword.words</code>是一个包含所有单词的集合,在构建填字游戏的时候,可以从这些单词中提取。</li><li><code>crossword.variables</code>是谜题中所有变量的集合 (每个变量都是一个 Variable 对象)。</li><li><code>crossword.overlaps</code>是一个字典,它将一对变量映射到它们的重合处。对于任何两个不同的变量 v1 和 v2,如果这两个变量没有重叠,<code>crossword.overlaps[v1, v2]</code>将是<code>None</code>,如果这两个变量有重叠,则是一对整数<code>(i, j)</code>。这对<code>(i, j)</code>应被解释为:<code>v1</code>的第<code>i</code>个字符的值必须与<code>v2</code>的第<code>j</code>个字符的值相同。</li></ul><p><code>Crossword</code>对象还支持一个方法<code>neighbors</code>,它可以返回与给定变量重叠的所有变量。也就是说,<code>crossword.neighbors(v1)</code>将返回一个与变量<code>v1</code>相邻的所有变量的集合。</p><p>接下来,看一下<code>generate.py</code>。在这里,我们定义了一个<code>CrosswordCreator</code>类,我们将用它来解决填字游戏。当一个<code>CrosswordCreator</code>对象被创建时,它得到一个填字游戏的属性,它应该是一个<code>Crossword</code>对象 (因此具有上面描述的所有属性)。每个<code>CrosswordCreator</code>对象还得到一个域属性:一个字典,它将变量映射到该变量可能作为一个值的一组词。最初,这组词是我们词汇表中的所有词,但我们很快就会写函数来限制这些域。</p><p>我们还为你定义了一些函数,以帮助你测试你的代码:<code>print</code>将向终端打印你的填字游戏的一个给定的赋值 (每个赋值,在这个函数和其他地方,是一个字典,将变量映射到它们相应的词)。同时,<code>save</code>将生成一个与给定作业相对应的图像文件 (如果你无法使用这个函数,你需要<code>pip3 install Pillow</code>)。 <code>letter_grid</code>是一个被<code>print</code>和<code>save</code>使用的辅助函数,它为给定的赋值生成一个所有字符在其适当位置的 2D 列表:你可能不需要自己调用这个函数,但如果你想的话,欢迎你这样做。</p><p>最后,注意<code>solve</code>函数。这个函数做了三件事:首先,它调用<code>enforce_node_consistency</code>来强制执行填字游戏的节点一致性,确保变量域中的每个值都满足一元约束。接下来,该函数调用<code>ac3</code>来强制执行弧一致性,确保二元约束得到满足。最后,该函数在最初的空赋值 (空字典 dict()) 上调用<code>backtrack</code>,试图计算出问题的解决方案。</p><p>不过,<code>enforce_node_consistency</code>、<code>ac3</code>和<code>backtrack</code>等函数还没有实现 (以及其他函数)。这就是你的任务。</p><h2 id="明确" tabindex="-1">明确 <a class="header-anchor" href="#明确" aria-label="Permalink to "明确""></a></h2><p>完成<code>grece_node_consistency</code>, <code>revise</code>, <code>ac3</code>, <code>assignment_complete</code>, <code>consistent</code>, <code>order_domain_values</code>, <code>selected_unassigned_variable</code>和<code>backtrack</code>在<code>generate.py</code>中的实现,这样如果有有解的话你的人工智能就能生成完整的字谜。</p><ul><li><p><code>enforce_node_consistency</code>函数应该更新<code>self.domains</code>,使每个变量都是节点一致的。</p><ul><li>回顾一下,当对每个变量来说,其域中的每个值都与该变量的一元约束一致时,就实现了节点一致性。在填字游戏的情况下,这意味着要确保变量域中的每个值的字母数与变量的长度相同。</li><li>要从一个变量<code>v</code>的域中移除一个值<code>x</code>,因为<code>self.domains</code>是一个将变量映射到数值集的字典,你可以调用<code>self.domains[v].remove(x)</code>。</li><li>这个函数不需要返回值。</li></ul></li><li><p><code>revise</code>函数应该使变量 x 与变量 y 保持弧一致性。</p><ul><li><code>x</code>和<code>y</code>都是<code>Variable</code>对象,代表谜题中的变量。</li><li>回顾一下,当<code>x</code>的域中的每一个值在<code>y</code>的域中都有一个不引起冲突的可能值时,<code>x</code>就与<code>y</code>保持弧一致性。(在填字游戏的背景下,冲突是指一个方格,两个变量对它的字符值意见不一)。</li><li>为了使<code>x</code>与<code>y</code>保持一致,你要从<code>x</code>的域中删除任何在<code>y</code>的域中没有相应可能值的值。</li><li>回顾一下,你可以访问<code>self.crossword.overlaps</code>来获得两个变量之间的重叠,如果有的话。</li><li><code>y</code>的域应该不被修改。</li><li>如果对<code>x</code>的域进行了修改,该函数应返回<code>True</code>;如果没有修改,则应返回<code>False</code>。</li></ul></li><li><p><code>ac3</code>函数应该使用<code>AC3</code>算法,对问题实施弧一致性。回顾一下,当每个变量域中的所有值都满足该变量的二进制约束时,就实现了弧一致性。</p><ul><li>回顾一下,<code>AC3</code>算法保持着一个要处理的弧的队列。这个函数需要一个叫做<code>arcs</code>的可选参数,代表要处理的弧的初始列表。如果<code>arcs</code>是<code>None</code>,你的函数应该从问题中的所有弧的初始队列开始。否则,你的算法应该从一个初始队列开始,该队列中只有在列表<code>arcs</code>中的弧 (其中每个弧是一个变量<code>x</code>和另一个变量<code>y</code>的元组<code>(x,y)</code>)。</li><li>回顾一下,为了实现<code>AC3</code>,你要一次一次地修改队列中的每个弧。不过,任何时候你对一个域做了改变,你可能需要在队列中增加额外的弧,以确保其他弧保持一致。</li><li>你可能会发现在<code>ac3</code>的实现中调用<code>revise</code>函数是很有帮助的。</li><li>如果在执行弧一致性的过程中,你从一个域中删除了所有剩余的值,则返回<code>False</code>(这意味着问题无解,因为这个变量已经没有可能的值了)。否则,返回<code>True</code>。</li><li>你不需要担心在这个函数中强制执行词的唯一性 (你将在<code>consistent</code>函数中实现这个检查。)</li></ul></li><li><p><code>assignment_complete</code>函数应该 (如其名所示) 检查一个给定的赋值是否完成。</p><ul><li><code>assignment</code>是一个字典,其中键是<code>Variable</code>对象,值是代表这些变量将采取的单词的字符串。</li><li>如果每个字谜变量都被分配到一个值 (不管这个值是什么),那么这个赋值就是完整的。</li><li>如果赋值完成,该函数应该返回<code>True</code>,否则返回<code>False</code>。</li></ul></li><li><p><code>consistent</code>函数应该检查一个给定的<code>assignment</code>是否一致。</p><ul><li><code>assignment</code>是一个字典,其中的键是<code>Variable</code>对象,值是代表这些变量将采取的词语的字符串。请注意,赋值不一定是完整的:不是所有的变量都会出现在赋值中。</li><li>如果一个赋值满足问题的所有约束条件,那么它就是一致的:也就是说,所有的值都是不同的,每个值的长度都是正确的,并且相邻的变量之间没有冲突。</li><li>如果赋值是一致的,该函数应该返回<code>True</code>,否则返回<code>False</code>。</li></ul></li><li><p><code>order_domain_values</code>函数应该返回一个<code>var</code>域中所有数值的列表,根据最小约束值启发式排序。</p><ul><li><code>var</code>将是一个变量对象,代表谜题中的一个变量。</li><li>回顾一下,最小约束值启发式的计算方法是一个赋值导致约束邻近的未分配的变量的数量。也就是说,如果给<code>var</code>赋值的结果是排除了邻近变量的<code>n</code>个可能的选择,你应该按照<code>n</code>的升序排列你的结果。</li><li>请注意,在<code>assignment</code>中出现的任何变量都已经有了一个值,因此在计算相邻未赋值变量被排除的值的数量时不应该被计算在内。</li><li>对于排除相邻变量相同数量可能选择的域值,任何排序都是可以接受的。</li><li>回顾一下,你可以访问<code>self.crossword.overlaps</code>来获得两个变量之间的重叠,如果有的话。</li><li>首先通过返回一个任意顺序的数值列表来实现这个函数可能会有帮助 (这仍然会产生正确的填字游戏)。一旦你的算法开始工作,你就可以回去确保这些值是以正确的顺序返回的。</li><li>你可能会发现根据一个特定的 key 来对一个<a href="https://docs.python.org/3/howto/sorting.html" target="_blank" rel="noreferrer">列表</a>进行排序是很有帮助的:Python 包含一些有用的函数来实现这一点。</li></ul></li><li><p><code>select_unassigned_variable</code>函数应该根据最小剩余值启发式,然后是度启发式,返回字谜中尚未被赋值的单个变量。</p><ul><li><code>assignment</code>是一个字典,其中键是<code>Variable</code>对象,值是代表这些变量将承担的单词的字符串。你可以假设赋值不会是完整的:不是所有的变量都会出现在<code>assignment</code>中。</li><li>你的函数应该返回一个<code>Variable</code>对象。你应该返回在其域中剩余数值最少的变量。如果变量之间存在平局,你应该在这些变量中选择度最大的变量 (拥有最多的邻居)。如果在这两种情况下都相同,你可以在相同的变量中任意选择。</li><li>首先通过返回任意未分配的变量来实现这个函数可能是有帮助的 (这应该仍然会产生正确的填字游戏)。一旦你的算法开始工作,你就可以回去修改这个函数确保你是根据启发式方法返回一个变量。</li><li>你可能会发现根据一个特定的 key 来对一个列表进行<a href="https://docs.python.org/3/howto/sorting.html" target="_blank" rel="noreferrer">排序</a>是很有帮助的:Python 包含一些有用的函数来实现这一点。</li></ul></li><li><p><code>backtrack</code>函数应该接受一个部分赋值<code>assignment</code>作为输入,并且使用回溯搜索,如果有可能的话,返回一个完整的令人满意的变量赋值。</p><ul><li><code>assignment</code>是一个字典,其中键是<code>Variable</code>对象,值是代表这些变量将承担的单词的字符串。你可以假设赋值不会是完整的:不是所有的变量都会出现在<code>assignment</code>中。</li><li>如果有可能生成一个令人满意的字谜,你的函数应该返回完整的赋值:一个字典,其中每个变量是一个键,值是该变量应该承担的单词。如果不可能产生令人满意的赋值,该函数应该返回<code>None</code>。</li><li>如果你愿意,你可能会发现,如果你把搜索和推理交织在一起,你的算法会更有效率 (比如每次做新的赋值时都要保持弧一致性)。我们不要求你这样做,但允许你这样做,只要你的函数仍然产生正确的结果。(正是由于这个原因,<code>ac3</code>函数允许一个<code>arcs</code>的参数,以防你想从不同的弧队列开始)。</li></ul></li></ul><p>除了要求你实现的函数外,你不应该修改<code>generate.py</code>中的任何其他东西,尽管你可以编写额外的函数和/或导入其他 Python 标准库模块。如果你熟悉<code>numpy</code>或<code>pandas</code>,你也可以导入它们,但是你不应该使用任何其他的第三方 Python 模块。你不应该修改<code>crossword.py</code>中的任何东西。</p><h2 id="提示" tabindex="-1">提示 <a class="header-anchor" href="#提示" aria-label="Permalink to "提示""></a></h2><ul><li><p>对于<code>order_domain_values</code>和<code>select_unassigned_variable</code>来说,不以启发式方法实现它们,然后再添加启发式方法可能会有帮助。你的算法仍然可以工作:只是在找到一个解决方案之前,它可能会探索更多的分配,而不是它需要的。</p></li><li><p>要运行你的程序,你可以运行类似<code>python generate.py data/structure1.txt data/words1.txt</code>的命令,指定一个结构文件和一个单词文件。如果可以进行赋值,你应该看到打印出来的赋值。你也可以为图像文件添加一个额外的命令行参数,如运行<code>python generate.py data/structure1.txt data/words1.txt output.png</code>,可以为生成的填字游戏生成一个图像表示。</p></li><li><p><code>Crossword</code>类有一个<code>neighbors</code>函数,可以用来访问某个特定变量的所有邻居 (即重叠的变量)。在你需要确定某个特定变量的邻居时,请随时使用这个函数。</p></li></ul></div></div></main><footer class="VPDocFooter" data-v-e6f2a212 data-v-1bcd8184><!--[--><!--]--><div class="edit-info" data-v-1bcd8184><div class="edit-link" data-v-1bcd8184><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://gitea.xinxijishubu.asia/moyin/fzu-product/src/branch/main/技术资源汇总(杭电支持版)/4.人工智能/4.3.4.2项目:填词游戏.md" target="_blank" rel="noreferrer" data-v-1bcd8184><!--[--><span class="vpi-square-pen edit-link-icon" data-v-1bcd8184></span> 在 Gitea 上修改此页<!--]--></a></div><!----></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-1bcd8184><span class="visually-hidden" id="doc-footer-aria-label" data-v-1bcd8184>Pager</span><div class="pager" data-v-1bcd8184><a class="VPLink link pager-link prev" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.3.4.1%E7%A8%8B%E5%BA%8F%E7%A4%BA%E4%BE%8B.html" data-v-1bcd8184><!--[--><span class="desc" data-v-1bcd8184>上一小节</span><span class="title" data-v-1bcd8184>4.3.4.1程序示例</span><!--]--></a></div><div class="pager" data-v-1bcd8184><a class="VPLink link pager-link next" href="/%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB(%E6%9D%AD%E7%94%B5%E6%94%AF%E6%8C%81%E7%89%88)/4.%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/4.4FAQ%EF%BC%9A%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98.html" data-v-1bcd8184><!--[--><span class="desc" data-v-1bcd8184>下一小节</span><span class="title" data-v-1bcd8184>4.4FAQ:常见问题</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-d8b57b2d data-v-566314d4><div class="container" data-v-566314d4><p class="message" data-v-566314d4>Made with ❤️ by ALL 协作者</p><p class="copyright" data-v-566314d4>Copyright © 2023-present Evan You && ALL 协作者</p></div></footer><!--[--><!--]--></div></div>
|
||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"api-examples.md\":\"DzBTNBEE\",\"changelog.md\":\"FPNSm718\",\"contributing.md\":\"bKW9JrKc\",\"contributors.md\":\"Cw_T0DZB\",\"index.md\":\"B1O1f-Fa\",\"markdown-examples.md\":\"ByeFoAfn\",\"readme.md\":\"BdZRJ36M\",\"使用指南.md\":\"Cx3weXYo\",\"技术资源汇总(杭电支持版)_2.高效学习_2.1.1悲壮的学习方式.md\":\"DTYIoXXb\",\"技术资源汇总(杭电支持版)_2.高效学习_2.1.2浮躁的心理状态.md\":\"DqgEG2PN\",\"技术资源汇总(杭电支持版)_2.高效学习_2.1.3错误的提问姿态.md\":\"Dice7HmS\",\"技术资源汇总(杭电支持版)_2.高效学习_2.1.4书籍的盲目崇拜.md\":\"D7lBwdls\",\"技术资源汇总(杭电支持版)_2.高效学习_2.1.5错误的学习配比.md\":\"CC8FrxOY\",\"技术资源汇总(杭电支持版)_2.高效学习_2.1高效的前提:摆脱高中思维.md\":\"y1dZYwTe\",\"技术资源汇总(杭电支持版)_2.高效学习_2.2优雅的使用工具.md\":\"H-IrZPye\",\"技术资源汇总(杭电支持版)_2.高效学习_2.3.1阅读文档(b百度爬).md\":\"CoWHVc10\",\"技术资源汇总(杭电支持版)_2.高效学习_2.3.2检索论文核心内容.md\":\"BQCjGA_6\",\"技术资源汇总(杭电支持版)_2.高效学习_2.3.3优秀的开源社区.md\":\"2FaigHdO\",\"技术资源汇总(杭电支持版)_2.高效学习_2.3高效的信息检索.md\":\"DbplLh_F\",\"技术资源汇总(杭电支持版)_2.高效学习_2.4优雅的记笔记.md\":\"BUxzDzb2\",\"技术资源汇总(杭电支持版)_2.高效学习_2.5以理工科的方式阅读英语.md\":\"CCv1xohP\",\"技术资源汇总(杭电支持版)_2.高效学习_2.6学会使用ai辅助学习.md\":\"BA8DOvYX\",\"技术资源汇总(杭电支持版)_2.高效学习_2.高效学习.md\":\"DceOYwF4\",\"技术资源汇总(杭电支持版)_2.高效学习_补充:为什么不要用百度.md\":\"VkOSQaNc\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.0 编程入门之道.md\":\"RO996sX2\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.1该使用哪个编辑器???.md\":\"B4ayWsWH\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.2.1手把手教你学算法——如何使用oj(online judge).md\":\"BTq8bXJ7\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.2.2acm 竞赛从入门到入坟.md\":\"DHh_AnzE\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.2算法杂谈.md\":\"Dyuzf5Rm\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.3如何选择编程语言.md\":\"BmznmeSr\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.1faq:常见问题.md\":\"BnJhsYE9\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.2用什么写 c 语言.md\":\"j3UKqDLB\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.3解决编程问题的普适性过程.md\":\"C2A_1-Fn\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.4c语言前置概念学习.md\":\"BkXXgE64\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.5.1c语言自测标准——链表.md\":\"DVzk3soj\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.5阶段一:编程属性.md\":\"xzkNgg8e\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.1.开始冒险.md\":\"BOo28IRY\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.10.增添属性.md\":\"DfQyVaNx\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.11.设置条件.md\":\"D1w5O6yc\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.12.开启关闭.md\":\"CXNDx_7L\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.13.编写解析器.md\":\"zv8UQDFe\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.14.丰富命令.md\":\"B6oobOWP\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.15.赋予明暗.md\":\"DuKXxo2X\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.16.结语:你终将自由.md\":\"C-H3wZFU\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.2.探索未知.md\":\"Dic21KtY\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.3.指明地点.md\":\"CqJJTYJl\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.4.创建对象.md\":\"sYhd_x2h\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.5.捡起物品.md\":\"8K1USgEU\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.6.绘制地图.md\":\"B_DDqfPJ\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.7.增大距离.md\":\"cJuj5FdO\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.8.移动方向.md\":\"DfqXtQsJ\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6.9.练习:生成代码.md\":\"BWPCfe12\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.6阶段二:文字冒险(cool).md\":\"4wxQiLET\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.7.1.1调试理论.md\":\"BG8u_VZC\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.7.1gdb初探索(编程可阅览).md\":\"DxwzfDRm\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.7.2c的历史问题:undefined behavior.md\":\"DhVRjYVK\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.7.3c编译器干了什么.md\":\"BmcVZay6\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.7.4inline assembly与链接加载.md\":\"q2t6qdUO\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4.7c基础知识杂谈.md\":\"aePmhQYd\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.4c语言.md\":\"DkCJewM5\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.5git与github.md\":\"CHDigJYp\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.1从cs61a看编程语言学习.md\":\"DqQl-8bT\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.2环境配置.md\":\"BhEPqNzV\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.3安装python.md\":\"D3dPRaxz\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.4.0阶段零:python解释器.md\":\"Dm3hX9NX\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.4.1阶段一:熟悉语句.md\":\"CLD1IJhu\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.4.2阶段二:递归操作.md\":\"D7XWEtHx\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.4.3阶段三:数据抽象.md\":\"CDZ-i__T\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.4.4阶段四:高阶函数.md\":\"Dsl4HkDc\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.4.5阶段五:迭代生成.md\":\"5HYOHSTp\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.4.6结语.md\":\"CCrZz2pj\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6.4python for fun.md\":\"DkJd7Fze\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.6python(灵巧的胶水).md\":\"DiyVGPhf\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.x 聊聊设计模式和程序设计.md\":\"W9mozi2J\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.y 附加模块:linux.md\":\"BCrGPX21\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.y.0计算机教育中缺失的一课.md\":\"BWm_rSoC\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.y.1linux概念普及.md\":\"CzzMXts9\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.y.2双系统安装和发行版推荐.md\":\"CVKz1ljH\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.y.3vmware的安装与安装ubuntu22.04系统.md\":\"DvLQFSm4\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.y.4wsl的安装.md\":\"DxhJ6pfj\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.y.5linux初探索.md\":\"DsLYXQrx\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.y.6vim初探索.md\":\"ZriWo4yK\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.y.7linux小任务.md\":\"B0_ZolbN\",\"技术资源汇总(杭电支持版)_3.编程思维体系构建_3.编程思维体系构建.md\":\"buCvJWRO\",\"技术资源汇总(杭电支持版)_4.人工智能_4.10llmagent之结构化输出.md\":\"CiF3m2Gf\",\"技术资源汇总(杭电支持版)_4.人工智能_4.11本章节内容的局限性.md\":\"VdWbP1WW\",\"技术资源汇总(杭电支持版)_4.人工智能_4.1前言.md\":\"CbAU8DCP\",\"技术资源汇总(杭电支持版)_4.人工智能_4.2机器学习(ai)快速入门(quick start).md\":\"BEeOolYI\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.1.1程序示例——maze迷宫解搜索.md\":\"-nQ9ZG02\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.1.2项目:tic-tac-toe井字棋.md\":\"DpxLT41Z\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.1搜索.md\":\"oc9gmWWK\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.2.1程序示例——命题逻辑与模型检测.md\":\"CVT6S5El\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.2.2项目:扫雷,骑士与流氓问题.md\":\"DnpnWZd9\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.2知识推理.md\":\"Bdg-XBSz\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.3.1程序示例.md\":\"D2D5pU2z\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.3.2项目:遗传.md\":\"Bee7dgw8\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.3不确定性问题.md\":\"WmYBd5ms\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.4.1程序示例.md\":\"Bm1E_RoV\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.4.2项目:填词游戏.md\":\"BLt1E6wb\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3.4最优化.md\":\"CJEsAZQH\",\"技术资源汇总(杭电支持版)_4.人工智能_4.3人工智能导论及机器学习入门.md\":\"4RWDZfjp\",\"技术资源汇总(杭电支持版)_4.人工智能_4.4faq:常见问题.md\":\"BnI046IT\",\"技术资源汇总(杭电支持版)_4.人工智能_4.5图网络略述(intro_gcn).md\":\"Cue-WAA8\",\"技术资源汇总(杭电支持版)_4.人工智能_4.6数据分析.md\":\"Cx1ZD5ZH\",\"技术资源汇总(杭电支持版)_4.人工智能_4.7如何做研究.md\":\"CtUhtBrq\",\"技术资源汇总(杭电支持版)_4.人工智能_4.8科研论文写作.md\":\"DSE7qt-X\",\"技术资源汇总(杭电支持版)_4.人工智能_4.9从 ai 到 智能系统 —— 从 llms 到 agents.md\":\"BFVSZab1\",\"技术资源汇总(杭电支持版)_4.人工智能_4.人工智能.md\":\"C7dQQcV1\",\"技术资源汇总(杭电支持版)_5.富有生命的嵌入式_5.1嵌入式是什么?可以吃吗?.md\":\"DSWjKS-a\",\"技术资源汇总(杭电支持版)_5.富有生命的嵌入式_5.2new meaning of c.md\":\"bNGQi2W2\",\"技术资源汇总(杭电支持版)_5.富有生命的嵌入式_5.3还玩裸机?上操作系统!.md\":\"C80bW3ek\",\"技术资源汇总(杭电支持版)_5.富有生命的嵌入式_5.富有生命的嵌入式.md\":\"C3jYEQFL\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.1.1sql 注入.md\":\"DQCIZdYm\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.1web安全.md\":\"DVP9mk53\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.2.1基础工具的使用.md\":\"DLiapAz1\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.2.2软件破解、软件加固.md\":\"BG-KmxLq\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.2.3漏洞挖掘、漏洞利用.md\":\"TTf4uEbG\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.2二进制安全.md\":\"Dx7vf08P\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.3密码学.md\":\"1BmjaKRy\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.4安全杂项.md\":\"C-nq8JBF\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.5学习资料推荐.md\":\"2Z1hvv_V\",\"技术资源汇总(杭电支持版)_6.计算机安全_6.计算机安全.md\":\"DmuFdA7-\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.1web开发入门.md\":\"cABPZfmp\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.2.1基础(三件套).md\":\"CeF99FT3\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.2.2进阶(小项目).md\":\"DkPKrF8C\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.2.3附录1:前端介绍(详细版).md\":\"D_V6G3Oh\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.2.4附录2:大前端开发.md\":\"B8u8kcUM\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.2.5附录3:跨端开发.md\":\"CaT9Y32W\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.2前端部分.md\":\"DCAcwGVN\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.3.1基础部分.md\":\"BYudz3X8\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.3.2进阶部分.md\":\"Cg-7LiyH\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.3后端部分.md\":\"DYZ24iwb\",\"技术资源汇总(杭电支持版)_7.网络应用开发_7.网络应用开发入门.md\":\"DrgT-DjX\",\"技术资源汇总(杭电支持版)_8.基础学科_8.1经济学科普part1.md\":\"DguU75dE\",\"技术资源汇总(杭电支持版)_8.基础学科_8.基础学科.md\":\"DE7yDZI_\",\"技术资源汇总(杭电支持版)_9.计算机网络_9.1计网速通.md\":\"CkT2fLIN\",\"技术资源汇总(杭电支持版)_9.计算机网络_9.2.3.1ip协议.md\":\"Dm6ee4JO\",\"技术资源汇总(杭电支持版)_9.计算机网络_9.2.3.2子网与无类域间路由.md\":\"C3JPwLoF\",\"技术资源汇总(杭电支持版)_9.计算机网络_9.2.3网络层.md\":\"BNya0rNF\",\"技术资源汇总(杭电支持版)_9.计算机网络_9.3路由与交换.md\":\"BvDV79LN\",\"技术资源汇总(杭电支持版)_9.计算机网络_9.4隧道和代理.md\":\"XNDQhj6B\",\"技术资源汇总(杭电支持版)_9.计算机网络_9.5路由佬入门指南.md\":\"CSkj8qJ8\",\"技术资源汇总(杭电支持版)_9.计算机网络_9.计算机网络.md\":\"CSmCLjNp\",\"技术资源汇总(杭电支持版)_内容索引.md\":\"B9FSKjDT\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"FZU-WIKI\",\"description\":\"FZU生存手册\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"章节\",\"items\":[{\"text\":\"1. 前言\",\"link\":\"/技术资源汇总(杭电支持版)/\"},{\"text\":\"2. 高效学习\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.高效学习\"},{\"text\":\"3. 编程思维体系构建\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.编程思维体系构建\"},{\"text\":\"4. 人工智能\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.人工智能\"},{\"text\":\"5. 富有生命的嵌入式\",\"link\":\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.富有生命的嵌入式\"},{\"text\":\"6. 计算机安全\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.计算机安全\"},{\"text\":\"7. 网络应用开发\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.网络应用开发\"},{\"text\":\"8. 基础学科\",\"link\":\"/技术资源汇总(杭电支持版)/8.基础学科/8.基础学科\"},{\"text\":\"9. 计算机网络\",\"link\":\"/技术资源汇总(杭电支持版)/9.计算机网络/9.计算机网络\"}]}],\"sidebar\":{\"/\":[{\"text\":\"简介\",\"collapsed\":true,\"items\":[{\"text\":\"简介\",\"link\":\"/简介\"},{\"text\":\"使用指南\",\"link\":\"/使用指南\"},{\"text\":\"技术资源汇总(杭电支持版)\",\"link\":\"/技术资源汇总(杭电支持版)/内容索引\"}]},{\"text\":\"1.杭电生存指南(最重要模块)\",\"collapsed\":true,\"items\":[{\"text\":\"1.1 人文社科的重要性(韩健夫老师寄语)\",\"link\":\"/1.杭电生存指南/1.1人文社科的重要性(韩健夫老师寄语)\"},{\"text\":\"1.2 竞赛指北\",\"link\":\"/1.杭电生存指南/1.2竞赛指北\"},{\"text\":\"1.3 导师选择\",\"link\":\"/1.杭电生存指南/1.3导师选择\"},{\"text\":\"1.4 小心项目陷阱\",\"link\":\"/1.杭电生存指南/1.4小心项目陷阱\"},{\"text\":\"1.5 小组作业避雷指南\",\"link\":\"/1.杭电生存指南/1.5小组作业避雷指南\"},{\"text\":\"1.6 正确解读GPA\",\"link\":\"/1.杭电生存指南/1.6正确解读GPA\"},{\"text\":\"1.7 杭电出国自救指南\",\"link\":\"/1.杭电生存指南/1.7杭电出国自救指南\"},{\"text\":\"1.8 转专业二三事\",\"link\":\"/1.杭电生存指南/1.8转专业二三事\"},{\"text\":\"1.9 问题专题:好想进入实验室\",\"link\":\"/1.杭电生存指南/1.9问题专题:好想进入实验室\"},{\"text\":\"1.10 如何读论文\",\"link\":\"/1.杭电生存指南/1.10如何读论文\"},{\"text\":\"1.11 陷入虚无主义?进来看看吧\",\"link\":\"/1.杭电生存指南/1.11陷入虚无主义?进来看看吧\"},{\"text\":\"1.12 选课原则与抢课技巧\",\"link\":\"/1.杭电生存指南/1.12选课原则与抢课技巧\"},{\"text\":\"1.13 数学学习篇\",\"link\":\"/1.杭电生存指南/1.13数学学习篇\"},{\"text\":\"1.14 杭电“失败”指南\",\"link\":\"/1.杭电生存指南/1.14 杭电失败指南\"}]},{\"text\":\"贡献者\",\"link\":\"/contributors\"},{\"text\":\"贡献指南\",\"link\":\"/CONTRIBUTING\"}],\"/技术资源汇总(杭电支持版)/\":[{\"text\":\"2.高效学习\",\"collapsed\":true,\"items\":[{\"text\":\"2.高效学习\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.高效学习\"},{\"text\":\"2.1高效的前提:摆脱高中思维\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维\"},{\"text\":\"2.2优雅的使用工具\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具\"},{\"text\":\"2.3高效的信息检索\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索\"},{\"text\":\"2.4优雅的记笔记\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记\"},{\"text\":\"2.5以理工科的方式阅读英语\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语\"},{\"text\":\"2.6学会使用AI辅助学习\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习\"}]},{\"text\":\"3.编程思维体系构建\",\"collapsed\":true,\"items\":[{\"text\":\"3.编程思维体系构建\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.编程思维体系构建\"},{\"text\":\"3.0 编程入门之道\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.0 编程入门之道\"},{\"text\":\"3.1该使用哪个编辑器???\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???\"},{\"text\":\"3.2算法杂谈\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2算法杂谈\"},{\"text\":\"3.3如何选择编程语言\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.3如何选择编程语言\"},{\"text\":\"3.4C语言\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4C语言\"},{\"text\":\"3.5git与github\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.5git与github\"},{\"text\":\"3.6Python(灵巧的胶水)\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6Python(灵巧的胶水)\"},{\"text\":\"3.X 聊聊设计模式和程序设计\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.X 聊聊设计模式和程序设计\"},{\"text\":\"3.Y 附加模块:Linux\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y 附加模块:Linux\"}]},{\"text\":\"4.人工智能\",\"collapsed\":true,\"items\":[{\"text\":\"4.人工智能\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.人工智能\"},{\"text\":\"4.1前言\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.1前言\"},{\"text\":\"4.2机器学习(AI)快速入门(quick start)\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.2机器学习(AI)快速入门(quick start)\"},{\"text\":\"4.3人工智能导论及机器学习入门\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3人工智能导论及机器学习入门\"},{\"text\":\"4.4FAQ:常见问题\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.4FAQ:常见问题\"},{\"text\":\"4.5图网络略述(intro&GCN)\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.5图网络略述(intro&GCN)\"},{\"text\":\"4.6数据分析\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.6数据分析\"},{\"text\":\"4.7如何做研究\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.7如何做研究\"},{\"text\":\"4.8科研论文写作\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.8科研论文写作\"},{\"text\":\"4.9从 AI 到 智能系统 —— 从 LLMs 到 Agents\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.9从 AI 到 智能系统 —— 从 LLMs 到 Agents\"},{\"text\":\"4.10LLM Agent之结构化输出\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.10LLMAgent之结构化输出\"},{\"text\":\"4.11本章节内容的局限性\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.11本章节内容的局限性\"}]},{\"text\":\"5.富有生命的嵌入式\",\"collapsed\":true,\"items\":[{\"text\":\"5.富有生命的嵌入式\",\"link\":\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.富有生命的嵌入式\"},{\"text\":\"5.1嵌入式是什么?可以吃吗?\",\"link\":\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.1嵌入式是什么?可以吃吗?\"},{\"text\":\"5.2New meaning of C\",\"link\":\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.2New meaning of C\"},{\"text\":\"5.3还玩裸机?上操作系统!\",\"link\":\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.3还玩裸机?上操作系统!\"}]},{\"text\":\"6.计算机安全\",\"collapsed\":true,\"items\":[{\"text\":\"6.计算机安全\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.计算机安全\"},{\"text\":\"6.1Web安全\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.1Web安全\"},{\"text\":\"6.2二进制安全\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.2二进制安全\"},{\"text\":\"6.3密码学\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.3密码学\"},{\"text\":\"6.4安全杂项\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.4安全杂项\"},{\"text\":\"6.5学习资料推荐\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.5学习资料推荐\"}]},{\"text\":\"7.网络应用开发入门\",\"collapsed\":true,\"items\":[{\"text\":\"7.网络应用开发入门\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.网络应用开发入门\"},{\"text\":\"7.1WEB开发入门\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.1WEB开发入门\"},{\"text\":\"7.2前端部分\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.1基础(三件套)\"},{\"text\":\"7.3后端部分\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.3.1基础部分\"}]},{\"text\":\"8.基础学科\",\"collapsed\":true,\"items\":[{\"text\":\"8.基础学科\",\"link\":\"/技术资源汇总(杭电支持版)/8.基础学科/8.基础学科\"},{\"text\":\"8.1经济学科普Part1\",\"link\":\"/技术资源汇总(杭电支持版)/8.基础学科/8.1经济学科普Part1\"}]},{\"text\":\"9.计算机网络\",\"collapsed\":true,\"items\":[{\"text\":\"9.计算机网络\",\"link\":\"/技术资源汇总(杭电支持版)/9.计算机网络/9.计算机网络\"},{\"text\":\"9.1 计网速通\",\"link\":\"/技术资源汇总(杭电支持版)/9.计算机网络/9.1计网速通\"}]}],\"/技术资源汇总(杭电支持版)/2.高效学习/\":[{\"text\":\"返回上一层\",\"link\":\"/技术资源汇总(杭电支持版)/内容索引\"},{\"text\":\"2.高效学习\",\"collapsed\":false,\"items\":[{\"text\":\"2.高效学习\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.高效学习\"},{\"text\":\"2.1高效的前提:摆脱高中思维\",\"collapsed\":true,\"items\":[{\"text\":\"2.1高效的前提:摆脱高中思维\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维\"},{\"text\":\"2.1.1悲壮的学习方式\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.1.1悲壮的学习方式\"},{\"text\":\"2.1.2浮躁的心理状态\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.1.2浮躁的心理状态\"},{\"text\":\"2.1.3错误的提问姿态\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.1.3错误的提问姿态\"},{\"text\":\"2.1.4书籍的盲目崇拜\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.1.4书籍的盲目崇拜\"},{\"text\":\"2.1.5错误的学习配比\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.1.5错误的学习配比\"}]},{\"text\":\"2.2优雅的使用工具\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具\"},{\"text\":\"2.3高效的信息检索\",\"collapsed\":true,\"items\":[{\"text\":\"2.3高效的信息检索\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索\"},{\"text\":\"2.3.1阅读文档(B百度爬)\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.3.1阅读文档(B百度爬)\"},{\"text\":\"2.3.2检索论文核心内容\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.3.2检索论文核心内容\"},{\"text\":\"2.3.3优秀的开源社区\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.3.3优秀的开源社区\"},{\"text\":\"补充:为什么不要用百度\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/补充:为什么不要用百度\"}]},{\"text\":\"2.4优雅的记笔记\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记\"},{\"text\":\"2.5以理工科的方式阅读英语\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语\"},{\"text\":\"2.6学会使用AI辅助学习\",\"link\":\"/技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习\"}]}],\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/\":[{\"text\":\"返回上一层\",\"link\":\"/技术资源汇总(杭电支持版)/内容索引\"},{\"text\":\"3.编程思维体系构建\",\"collapsed\":false,\"items\":[{\"text\":\"3.编程思维体系构建\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.编程思维体系构建\"},{\"text\":\"3.0 编程入门之道\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.0 编程入门之道\"},{\"text\":\"3.1该使用哪个编辑器???\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???\"},{\"text\":\"3.2算法杂谈\",\"collapsed\":true,\"items\":[{\"text\":\"3.2算法杂谈\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2算法杂谈\"},{\"text\":\"3.2.1手把手教你学算法——如何使用OJ(Online Judge)\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.1手把手教你学算法——如何使用OJ(Online Judge)\"},{\"text\":\"3.2.2ACM 竞赛从入门到入坟\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.2ACM 竞赛从入门到入坟\"}]},{\"text\":\"3.3如何选择编程语言\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.3如何选择编程语言\"},{\"text\":\"3.4C语言\",\"collapsed\":true,\"items\":[{\"text\":\"3.4C语言\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4C语言\"},{\"text\":\"3.4.1FAQ:常见问题\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.1FAQ:常见问题\"},{\"text\":\"3.4.2用什么写 C 语言\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.2用什么写 C 语言\"},{\"text\":\"3.4.3解决编程问题的普适性过程\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.3解决编程问题的普适性过程\"},{\"text\":\"3.4.4C语言前置概念学习\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.4C语言前置概念学习\"},{\"text\":\"3.4.5阶段一:编程属性\",\"collapsed\":true,\"items\":[{\"text\":\"3.4.5阶段一:编程属性\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5阶段一:编程属性\"},{\"text\":\"3.4.5.1C语言自测标准——链表\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5.1C语言自测标准——链表\"}]},{\"text\":\"3.4.6阶段二:文字冒险(cool)\",\"collapsed\":true,\"items\":[{\"text\":\"3.4.6阶段二:文字冒险(cool)\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6阶段二:文字冒险(cool)\"},{\"text\":\"3.4.6.1.开始冒险\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.1.开始冒险\"},{\"text\":\"3.4.6.2.探索未知\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.2.探索未知\"},{\"text\":\"3.4.6.3.指明地点\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.3.指明地点\"},{\"text\":\"3.4.6.4.创建对象\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.4.创建对象\"},{\"text\":\"3.4.6.5.捡起物品\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.5.捡起物品\"},{\"text\":\"3.4.6.6.绘制地图\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.6.绘制地图\"},{\"text\":\"3.4.6.7.增大距离\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.7.增大距离\"},{\"text\":\"3.4.6.8.移动方向\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.8.移动方向\"},{\"text\":\"3.4.6.9.练习:生成代码\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.9.练习:生成代码\"},{\"text\":\"3.4.6.10.增添属性\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.10.增添属性\"},{\"text\":\"3.4.6.11.设置条件\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.11.设置条件\"},{\"text\":\"3.4.6.12.开启关闭\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.12.开启关闭\"},{\"text\":\"3.4.6.13.编写解析器\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.13.编写解析器\"},{\"text\":\"3.4.6.14.丰富命令\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.14.丰富命令\"},{\"text\":\"3.4.6.15.赋予明暗\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.15.赋予明暗\"},{\"text\":\"3.4.6.16.结语:你终将自由\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.16.结语:你终将自由\"}]},{\"text\":\"3.4.7C基础知识杂谈\",\"collapsed\":true,\"items\":[{\"text\":\"3.4.7C基础知识杂谈\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7C基础知识杂谈\"},{\"text\":\"3.4.7.1GDB初探索(编程可阅览)\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.1GDB初探索(编程可阅览)\"},{\"text\":\"3.4.7.1.1调试理论\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.1.1调试理论\"},{\"text\":\"3.4.7.2C的历史问题:undefined behavior\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.2C的历史问题:undefined behavior\"},{\"text\":\"3.4.7.3C编译器干了什么\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.3C编译器干了什么\"},{\"text\":\"3.4.7.4Inline Assembly与链接加载\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.4Inline Assembly与链接加载\"}]}]},{\"text\":\"3.5git与github\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.5git与github\"},{\"text\":\"3.6Python(灵巧的胶水)\",\"collapsed\":true,\"items\":[{\"text\":\"3.6Python(灵巧的胶水)\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6Python(灵巧的胶水)\"},{\"text\":\"3.6.1从CS61A看编程语言学习\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.1从CS61A看编程语言学习\"},{\"text\":\"3.6.2环境配置\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.2环境配置\"},{\"text\":\"3.6.3安装python\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.3安装python\"},{\"text\":\"3.6.4Python for fun\",\"collapsed\":true,\"items\":[{\"text\":\"3.6.4Python for fun\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4Python for fun\"},{\"text\":\"3.6.4.0阶段零:Python解释器\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.0阶段零:Python解释器\"},{\"text\":\"3.6.4.1阶段一:熟悉语句\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.1阶段一:熟悉语句\"},{\"text\":\"3.6.4.2阶段二:递归操作\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.2阶段二:递归操作\"},{\"text\":\"3.6.4.3阶段三:数据抽象\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.3阶段三:数据抽象\"},{\"text\":\"3.6.4.4阶段四:高阶函数\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.4阶段四:高阶函数\"},{\"text\":\"3.6.4.5阶段五:迭代生成\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.5阶段五:迭代生成\"},{\"text\":\"3.6.4.6结语\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.6结语\"}]}]},{\"text\":\"3.X 聊聊设计模式和程序设计\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.X 聊聊设计模式和程序设计\"},{\"text\":\"3.Y 附加模块:Linux\",\"collapsed\":true,\"items\":[{\"text\":\"3.Y 附加模块:Linux\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y 附加模块:Linux\"},{\"text\":\"3.Y.1Linux概念普及\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.1Linux概念普及\"},{\"text\":\"3.Y.2双系统安装和发行版推荐\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.2双系统安装和发行版推荐\"},{\"text\":\"3.Y.3VMware的安装与安装Ubuntu22.04系统\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.3VMware的安装与安装Ubuntu22.04系统\"},{\"text\":\"3.Y.4WSL的安装\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.4WSL的安装\"},{\"text\":\"3.Y.5Linux初探索\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.5Linux初探索\"},{\"text\":\"3.Y.6Vim初探索\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.6Vim初探索\"},{\"text\":\"3.Y.7linux小任务\",\"link\":\"/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.7linux小任务\"}]}]}],\"/技术资源汇总(杭电支持版)/4.人工智能/\":[{\"text\":\"返回上一层\",\"link\":\"/技术资源汇总(杭电支持版)/内容索引\"},{\"text\":\"4.人工智能\",\"collapsed\":false,\"items\":[{\"text\":\"4.人工智能\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.人工智能\"},{\"text\":\"4.1前言\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.1前言\"},{\"text\":\"4.2机器学习(AI)快速入门(quick start)\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.2机器学习(AI)快速入门(quick start)\"},{\"text\":\"4.3人工智能导论及机器学习入门\",\"collapsed\":true,\"items\":[{\"text\":\"4.3人工智能导论及机器学习入门\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3人工智能导论及机器学习入门\"},{\"text\":\"4.3.1搜索\",\"collapsed\":true,\"items\":[{\"text\":\"4.3.1搜索\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.1搜索\"},{\"text\":\"4.3.1.1程序示例——maze迷宫解搜索\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.1.1程序示例——maze迷宫解搜索\"},{\"text\":\"4.3.1.2项目:Tic-Tac-Toe井字棋\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.1.2项目:Tic-Tac-Toe井字棋\"}]},{\"text\":\"4.3.2知识推理\",\"collapsed\":true,\"items\":[{\"text\":\"4.3.2知识推理\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.2知识推理\"},{\"text\":\"4.3.2.1程序示例——命题逻辑与模型检测\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.2.1程序示例——命题逻辑与模型检测\"},{\"text\":\"4.3.2.2项目:扫雷,骑士与流氓问题\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.2.2项目:扫雷,骑士与流氓问题\"}]},{\"text\":\"4.3.3不确定性问题\",\"collapsed\":true,\"items\":[{\"text\":\"4.3.3不确定性问题\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.3不确定性问题\"},{\"text\":\"4.3.3.1程序示例\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.3.1程序示例\"},{\"text\":\"4.3.3.2项目:遗传\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.3.2项目:遗传\"}]},{\"text\":\"4.3.4最优化\",\"collapsed\":true,\"items\":[{\"text\":\"4.3.4最优化\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.4最优化\"},{\"text\":\"4.3.4.1程序示例\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.4.1程序示例\"},{\"text\":\"4.3.4.2项目:填词游戏\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.3.4.2项目:填词游戏\"}]}]},{\"text\":\"4.4FAQ:常见问题\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.4FAQ:常见问题\"},{\"text\":\"4.5图网络略述(intro&GCN)\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.5图网络略述(intro&GCN)\"},{\"text\":\"4.6数据分析\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.6数据分析\"},{\"text\":\"4.7如何做研究\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.7如何做研究\"},{\"text\":\"4.8科研论文写作\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.8科研论文写作\"},{\"text\":\"4.9从 AI 到 智能系统 —— 从 LLMs 到 Agents\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.9从 AI 到 智能系统 —— 从 LLMs 到 Agents\"},{\"text\":\"4.10LLM Agent之结构化输出\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.10LLMAgent之结构化输出\"},{\"text\":\"4.11本章节内容的局限性\",\"link\":\"/技术资源汇总(杭电支持版)/4.人工智能/4.11本章节内容的局限性\"}]}],\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/\":[{\"text\":\"返回上一层\",\"link\":\"/技术资源汇总(杭电支持版)/内容索引\"},{\"text\":\"5.富有生命的嵌入式\",\"collapsed\":false,\"items\":[{\"text\":\"5.富有生命的嵌入式\",\"link\":\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.富有生命的嵌入式\"},{\"text\":\"5.1嵌入式是什么?可以吃吗?\",\"link\":\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.1嵌入式是什么?可以吃吗?\"},{\"text\":\"5.2New meaning of C\",\"link\":\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.2New meaning of C\"},{\"text\":\"5.3还玩裸机?上操作系统!\",\"link\":\"/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.3还玩裸机?上操作系统!\"}]}],\"/技术资源汇总(杭电支持版)/6.计算机安全/\":[{\"text\":\"返回上一层\",\"link\":\"/技术资源汇总(杭电支持版)/内容索引\"},{\"text\":\"6.计算机安全\",\"collapsed\":false,\"items\":[{\"text\":\"6.计算机安全\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.计算机安全\"},{\"text\":\"6.1Web安全\",\"collapsed\":true,\"items\":[{\"text\":\"6.1Web安全\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.1Web安全\"},{\"text\":\"6.1.1SQL 注入\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.1.1SQL 注入\"}]},{\"text\":\"6.2二进制安全\",\"collapsed\":true,\"items\":[{\"text\":\"6.2二进制安全\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.2二进制安全\"},{\"text\":\"6.2.1基础工具的使用\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.2.1基础工具的使用\"},{\"text\":\"6.2.2软件破解、软件加固\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.2.2软件破解、软件加固\"},{\"text\":\"6.2.3漏洞挖掘、漏洞利用\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.2.3漏洞挖掘、漏洞利用\"}]},{\"text\":\"6.3密码学\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.3密码学\"},{\"text\":\"6.4安全杂项\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.4安全杂项\"},{\"text\":\"6.5学习资料推荐\",\"link\":\"/技术资源汇总(杭电支持版)/6.计算机安全/6.5学习资料推荐\"}]}],\"/技术资源汇总(杭电支持版)/7.网络应用开发/\":[{\"text\":\"返回上一层\",\"link\":\"/技术资源汇总(杭电支持版)/内容索引\"},{\"text\":\"7.网络应用开发\",\"collapsed\":false,\"items\":[{\"text\":\"7.网络应用开发入门\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.网络应用开发入门\"},{\"text\":\"7.1WEB开发入门\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.1WEB开发入门\"},{\"text\":\"7.2前端部分\",\"collapsed\":true,\"items\":[{\"text\":\"7.2.1基础(三件套)\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.1基础(三件套)\"},{\"text\":\"7.2.2进阶(小项目)\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.2进阶(小项目)\"},{\"text\":\"7.2.3附录1:前端介绍(详细版)\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.3附录1:前端介绍(详细版)\"},{\"text\":\"7.2.4附录2:大前端开发\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.4附录2:大前端开发\"},{\"text\":\"7.2.5附录3:跨端开发\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.5附录3:跨端开发\"}]},{\"text\":\"7.3后端部分\",\"collapsed\":true,\"items\":[{\"text\":\"7.3后端部分\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.3后端部分\"},{\"text\":\"7.3.1基础部分\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.3.1基础部分\"},{\"text\":\"7.3.2进阶部分\",\"link\":\"/技术资源汇总(杭电支持版)/7.网络应用开发/7.3.2进阶部分\"}]}]}],\"/技术资源汇总(杭电支持版)/8.基础学科/\":[{\"text\":\"返回上一层\",\"link\":\"/技术资源汇总(杭电支持版)/内容索引\"},{\"text\":\"8.基础学科\",\"collapsed\":false,\"items\":[{\"text\":\"8.基础学科\",\"link\":\"/技术资源汇总(杭电支持版)/8.基础学科/8.基础学科\"},{\"text\":\"8.1经济学科普Part1\",\"link\":\"/技术资源汇总(杭电支持版)/8.基础学科/8.1经济学科普Part1\"}]}],\"/技术资源汇总(杭电支持版)/9.计算机网络/\":[{\"text\":\"返回上一层\",\"link\":\"/技术资源汇总(杭电支持版)/内容索引\"},{\"text\":\"9.计算机网络\",\"collapsed\":false,\"items\":[{\"text\":\"9 计算机网络\",\"link\":\"/技术资源汇总(杭电支持版)/9.计算机网络/9.计算机网络\"},{\"text\":\"9.1 计网速通\",\"link\":\"/技术资源汇总(杭电支持版)/9.计算机网络/9.1计网速通\"},{\"text\":\"9.2.1 物理层(待完成)\"},{\"text\":\"9.2.2 链路层(待完成)\"},{\"text\":\"9.2.3 网络层\",\"collapsed\":true,\"items\":[{\"text\":\"9.2.3 网络层\",\"link\":\"/技术资源汇总(杭电支持版)/9.计算机网络/9.2.3网络层\"},{\"text\":\"9.2.3.1 IP 协议\",\"link\":\"/技术资源汇总(杭电支持版)/9.计算机网络/9.2.3.1IP协议\"},{\"text\":\"9.2.3.2 子网与无类域间路由\",\"link\":\"/技术资源汇总(杭电支持版)/9.计算机网络/9.2.3.2子网与无类域间路由\"}]}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://gitea.xinxijishubu.asia/moyin/fzu-product\"}],\"search\":{\"provider\":\"local\"},\"footer\":{\"message\":\"Made with ❤️ by ALL 协作者\",\"copyright\":\"Copyright © 2023-present Evan You && ALL 协作者\"},\"lastUpdatedText\":\"上次更改\",\"docFooter\":{\"prev\":\"上一小节\",\"next\":\"下一小节\"},\"editLink\":{\"pattern\":\"https://gitea.xinxijishubu.asia/moyin/fzu-product/src/branch/main/:path\",\"text\":\"在 Gitea 上修改此页\"},\"externalLinkIcon\":true},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
||
|
||
</body>
|
||
</html> |