Skip to content

<p align="center">软工导论-第一学期作业汇总</p>

<p align="center">姓名:代双遥 </p>

<p align="center">学号:222024321062075 </p> </p>

<p align="center">班级:软工中外(3班) </p>

<p align="center">日期:2024/12/6 </p>

[TOC]

作业1: (product-factor-prime n a)

实现函数(product-factor-prime n a),计算n最小的a个质数因子的乘积。例如,(sum-factor 1260 3)的值为70,因为1260=223357,故1260最小的三个因子是2、3和5,且23*5=30。如果n没有这样的a个质数因子,则(product-factor-prime n a)=0。例如,(product-factor-prime 1260 5)=0,因为1260的质因子小于5个。

;测试用例,你可以运行如下结果来辅助判断程序是否正确 (product-factor-prime 1260 1) ;结果应该为2 (product-factor-prime 1260 2) ;结果应该为6 (product-factor-prime 1260 3) ;结果应该为30 (product-factor-prime 1260 4) ;结果应该为210 (product-factor-prime 1260 5) ;结果应该为0

做过了

作业2:(sort items)

假定你在制作一个成绩处理系统,需要实现成绩排序功能。请实现过程(sort items),参数items是一个表,这个表的每个元素是一个包含两个元素的表(list name score),其中name是以字符形式存储的姓名,score是成绩。(sort items)的执行结果是另一个表,它是将items中元素按照成绩从小到大排列得到的结果。 例如,(sort (list (list 'WangChao 85) (list 'WangZhenhua 95)(list 'WuWei 90)(list 'LiuShichao 94)))= ((WangChao 85) (WuWei 90) (LiuShichao 94) (WangZhenhua 95))。这里items记录了四个同学Wang Chao, Wang Zhenhua,Wu Wei和Liu Shichao的成绩。(‘WangChao 85)代表一个名叫Wang Chao的同学考了85分,其他亦然。

;测试用例,你可以运行如下结果来辅助判断程序是否正确 (sort (list (list 'WangChao 85) (list 'WangZhenhua 95) (list 'WuWei 90) (list 'LiuShichao 94)));结果应为((WangChao 85) (WuWei 90) (LiuShichao 94) (WangZhenhua 95))

提示:参照2.3节中用排序表实现集合的部分。思考一下如何利用adjoin-set、intersection-set和union-set中的某个函数来完成任务。一个比较简单的实现思路是思考如何从头构造一个排好序的表,而不是在原表上交换元素的位置。 当然你需要对2.3节的函数进行一些修改,例如 (list 'WangChao 85)本身不是一个数字,为了得到(list 'WangChao 85)中的成绩你需要执行(cadr (list 'WangChao 85))。 如果你的实现不是基于2.3节,则请详细写明注释。

代码展示:[图片缺失:作业2]

作业3:(input-content s)

假定你在制作一个成绩处理系统,假定你已经通过(define content nil)定义了学生信息的初始值,要求实现功能(input-content s),将s中的学生姓名和成绩信息存入content中。这里s是一个表,表的首元素是一个学生的名字,表的下一个元素是他的成绩,表的再下一个元素是另一个学生的名字,表的再下一个元素是他的成绩...。

;测试用例,假定前面已经执行了(define content nil)并定义了input-content过程 (input-content (list 'Wangchao 85 'WangZhenhua 90));结果应为((WangZhenhua 90) (Wangchao 85)) (input-content (list 'Wuwei 90 'LiuShichao 94));结果应为((LiuShichao 94) (Wuwei 90) (WangZhenhua 90) (Wangchao 85))

代码展示:

[图片缺失:作业3]

作业4:法律

  • 《中华人民共和国个人信息保护法》
  • 《中华人民共和国数据安全法》
  • 《中华人民共和国网络安全法》

从以上三部法律中或其他与计算机相关的法律中选择一部,完成如下任务:

  1. 选择若干法律条文,叙述这些法律条文及它们试图解决什么问题
  2. 给出使用这些法律条文的相关案例或新闻,叙述这些案例或新闻得到了怎样的法律处理
  3. 写下你认为这些法律条文当前阶段的效果对计算机行业产生的影响、你认为可能的改进方式、以及其他在学习过程中的感想

要求篇幅不少于600字。可以打印。不允许抄袭。

  • 《中华人民共和国网络安全法》

第二十一条

第二十一条 国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的要求,履行下列安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被窃取、篡改:

(一)制定内部安全管理制度和操作规程,确定网络安全负责人,落实网络安全保护责任;

(二)采取防范计算机病毒和网络攻击、网络侵入等危害网络安全行为的技术措施;

(三)采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月;

(四)采取数据分类、重要数据备份和加密等措施;

(五)法律、行政法规规定的其他义务。

试图解决的问题:

  • 普通网民的网络信息被黑客非法获取
  • 保障安全可靠的网络环境
  • 防止法外狂徒逍遥法外有迹可循

相关案例或新闻:

江阴某企业不履行网络安全保护义务案 今年(2020年)1月,警方工作发现,江阴市某制造企业未按照《网络安全法》规定落实防范计算机病毒和网络攻击、入侵等危害网络安全的技术措施,导致该公司开设的网站被黑客入侵,造成不良影响。

法律处理:

无锡警方依据《网络安全法》第21条、第59条规定,对该公司予以罚款1万元,对直接负责的主管人员予以罚款5千元,责令限期整改。

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/jojo705/article/details/105135174

**阶段的效果:**有不小的罚款,有真实案例,落实到位,引以为戒

**对计算机行业产生的影响:**技术不到位不能随意提供服务。让提供网络服务的计算机行业有一定的门槛。

**改进方式:**安排网络安全检查人员不定期查访提供网络服务的网络产品是否具有安全保障。

第二十四条

第二十四条 网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。

国家实施网络可信身份战略,支持研究开发安全、方便的电子身份认证技术,推动不同电子身份认证之间的互认。

试图解决的问题:

  • 防止滥用网络破坏网络环境
  • 防止利用网络进行非法活动进行实名制
  • 防止违反网络法的人逍遥法外

案例:

事件2:BOSS直聘被网信办责令整改

2017年8月11日,北京市网信办、天津市网信办联合约谈了李文星之死的直接涉事招聘网站BOSS直聘法定代表人,要求该网站整改网站招聘信息。据悉,经相关部门调查,BOSS直聘在为用户提供信息发布服务过程中,违规为未提供真实身份信息的用户提供了信息发布服务;未采取有效措施对用户发布传输的信息进行严格管理,导致违法违规信息扩散。北京市网信办相关负责人表示,BOSS直聘的上述问题已违反《中华人民共和国网络安全法》第24条、第48条规定。

发布于:

http://china.huanqiu.com/hot/2017-08/11116792.html

**执法机构:**北京市网信办、天津市网信办

**处罚行为:**为未提供真实身份信息的用户提供信息发布服务;未采取有效措施对用户发布传输的信息进行严格管理,导致违法违规信息扩散。

**处罚措施:**责令改正

法律依据:《网络安全法》第24条、61条、47条、68条

第二十七条

第二十七条 任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。

试图解决的问题:

  • 防止黑客为所欲为
  • 防止网民隐私信息被非法窃取
  • 防止网络社会风气黑化

相关案例或新闻:

黄某为从事危害网络安全活动提供帮助案

今年1月,工作发现,违法嫌疑人黄某(男,31岁,山东临沂人)通过互联网多次向他人兜售黑客工具。该嫌疑人提供的“淘宝检存”、“PC微HOOK”、“微信机器人”等软件,均具有避开或突破计算机信息系统安全保护措施,不经授权或超越授权获取系统数据的功能。

法律处理:

泰州警方依据《网络安全法》第27条、第63条规定,对黄某予以行政拘留5日并没收违法所得。

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/jojo705/article/details/105135174

**阶段的效果:**一定程度上打击了非法网络服务,减少了网络黑产,保障了网络服务提供者的利益。

**对计算机行业产生的影响:**防止网络技术被非法滥用用在不正当的用途。净化了计算机技术的风气。

**改进方式:**严格筛查私人网络服务,防止非法网络技术传播。严格检查举报。

我的感想

法不可为,互联网并非逍遥地,我们应该好好遵守法律,合法正当的使用计算机技术,遵守安全条约,不侵犯他人的网络信息。守住道德底线,做遵纪守法的好青年,在技术上认真钻研,不逾矩。

(除了题目都是我的回答,包括条例说明,案例,😀总计远远大于600字)

作业5:AI

完成如下工作:

  1. 了解并调研AI。选择一个与AI结合的方向或者AI方向的某个细分方向,查阅综述、公众号或学术论文,了解该领域的进展。包括技术、原理、应用场景和发展趋势。
  2. 体验AI使用。选择AI或与AI结合的程序进行使用,可以是电脑端、网页段或手机端程序。要求描述使用到的功能、该功能背后的技术原理,并描述自己的使用体验或看法
  3. 撰写包含上述内容的调研报告。报告格式包含:题目、摘要、正文(至少包含调研+体验)、结论和参考文献字数不少于1500字。如果技术和原理限于知识无法深入理解,则可以简述。 可以打印。不允许抄袭。

我的调研报告

《AI语言大模型有感》

使用体验感想

(简单接触)从刚开始ChatGPT比较火的时候,体验了一些web在线的免费端,也紧紧只是简单体验,随便问了几个问题,并没有利用来进行充当生产力,助手什么的。可以说是没什么感觉,对于不会使用AI语言模型的普通人来说,就是一个快捷方便的浏览器,直接给出答案,不用筛选。这就是最直观的感受。

(简单接触)由于经济限制,并没有对ChatGPT进行过什么探索,直到国产AI语言大模型渐渐开始映入眼帘,我最先接触了讯飞的”讯飞星火大模型“。因为免费无限制的优点,我把AI语言大模型当成了生活小助手,生活中的各种问题,我最先会找ai问一下,比较直观的能够得到答案。在长期的使用过程中,也是发现了一些问题,就是回答模式太死板了,被固定了一套回答模板,难以纠正,并且记忆能力较弱,对时间,天气这种实时动态信息无法获取等等。

(搭建接口)在B站上刷到视频,利用AI语言模型搭建自己的AI聊天机器人。于是,我根据查询资料,结合我当时使用的QQ,微信机器人 ,利用讯飞星火模型的免费接口,搭建了一个聊天机器人,向机器人发送信息就可以自动回复,能够进行互动。但是在我尝试“调教”讯飞的免费大模型的时候,非常困难,难以沟通,因为回答输出很容易“格式化”等等,显得很“愚钝”,听不懂话的智者。

[图片缺失:image-20241205234946009]

(生产力)本着能白嫖就白嫖的精神,在ChatGPT-mini模型的免费限制下,又转向了国产最近很火的豆包,刚开始使用,目前没有什么新的探索,但是功能非常的齐全,对话,图片,语音等等十分丰富。可以说是全面,但是功能是否也相对强大不知道,至少目前能够满足我的需求,能够记住时间,更加人性化。对于普通人来说使用已经足够。

[图片缺失:image-20241205235547067]

使用到的功能

聊天对话,语音聊天练习英语口语,其他功能目前还没需求。

技术原理

个人回忆

在ChatGPT刚火热的时候刷了一些关于原理的介绍,先尝试回忆一下,看看是否理解到位。

首先,AI语言大模型,是建立在学习大量优质文字资料的基础上,训练出来的。优质模型注定需要投入一定优质资料的成本。训练的过程是以概率为核心的,从使用过程中不难发现,文字是一个一个快速产生的,AI在学习的时候也正是根据句子,一个一个字符进行分析的,当然,并非把每个字符单独提出来分析,而是前后有关联的分析,就比如一个例句:“今天天气很好”,分析的时候就是从“今天天”到“天天气”的这样的一个类似的过程,将前后几个字关联在一起,记录出现这个字的概率,从而根据“今”一个字,在特定的语境下,根据概率生成下一个字,可能是“天”,也可能是“日”等等,正是因为是概率,所以每次的内容也基本上具有差异。这是一种以字推字的过程,就好像当我们听到“炎黄”,我们就直到下面两个字很大概率是“子孙”一样,AI语言大模型就是在选字续写,学习就是在调整猜字的概率。这种直白的猜字也导致了AI语言大模型有时候说话没有逻辑这个问题。“GPT”就是“generate ... ...”啥的缩写,生成式语言模型。

总结AI语言大模型就是大量的阅读文本,根据几个连续的字符,调整每个字符的出现的概率,然后根据概率生成下一个字符的过程。

正经专业技术原理解释

在我尝试在浏览器里面搜索相关的解释原理的过程中,都是大同小异,没有看到与我第一次在B站上听到的解释的类似,于是我通过“豆包”帮我总结了一份,跟我搜索到的几乎一模一样。因此,我根据别人的总结,再总结一下。

基于 Transformer 架构

包含多头自注意力机制、残差连接、层归一化等技术。

  • **多头自注意力机制:**同时关注到每个词与其他词之间的关联,从而更好地理解文本的语义和上下文信息。找关系
  • **残差连接:**有助于解决梯度消失问题,更有效地训练深层次的网络结构。预测结构内容
  • **层归一化:**加速模型的收敛,提高训练效率,更快找到规律。类比
无监督预训练技术

分为两个阶段,分别是语言模型预训练和掩码语言模型预训练 。

  • **语言模型预训练:**预测下一个单词
  • **掩码语言模型预训练:**预测中间位置的单词
微调技术

调整模型的权重和偏置,以最小化损失函数,适应特定的任务和场景 。条件限定

奖励模型的训练

人类根据文本质量进行打分或排序。提高生成文本的质量和实用性。

基于强化学习进行语言模型优化

...

参考文献(豆包说的)

  • [1] 胡泳。超越 ChatGPT:大型语言模型的力量与人类交流的困境 [J]. 新闻记者,2023 (08):13-29.
  • [2] 张微,彭兰.ChatGPT 与人机交往的现实和未来 [J]. 未来传播,2023 (04):13-23+140-141.
  • [3] 黄旦。作为人类文明进程动因的媒介 —— 从 ChatGPT 说开去 [J]. 新闻记者,2023 (06):3-10.
  • [4] 刘海龙,连晓东。新常人统治的来临:ChatGPT 与传播研究 [J]. 新闻记者,2023 (06):11-20.
  • [5] 胡翼青,胡欣阅。作为语言基础设施的 ChatGPT [J]. 新闻记者,2023 (06):21-27.
  • [6] 邓建国.“延伸的心灵” 和 “对话的撒播”:论作为书写的 ChatGPT [J]. 新闻大学,2023 (04):25-37+120.
  • [7] 周葆华。或然率资料库:作为知识新媒介的生成智能 ChatGPT [J]. 现代出版,2023 (02):21-32.
  • [8] 孙琦,陈力丹。从力量崇拜到认知晕轮:ChatGPT 的传播仪式 [J]. 传媒观察,2023 (07):17-22.
  • [9] 方兴东,钟祥铭.ChatGPT 革命的理性研判与中国对策 —— 如何辨析 ChatGPT 的颠覆性变革逻辑和未来趋势 [J]. 西北师大学报 (社会科学版),2023 (04):23-36.
  • [10] 喻国明.ChatGPT 浪潮下的传播革命与媒介生态重构 [J]. 探索与争鸣,2023 (03):9-12.
  • [11] 日耳慢.ChatGPT 强势爆红,背后的技术原理是?一文轻松搞懂![Z]. 知乎专栏,2023,https://zhuanlan.zhihu.com/p/608405398.
  • [12] 谢文睿。通俗易懂的 ChatGPT 的原理简介 [Z]. 知乎专栏,2023,https://zhuanlan.zhihu.com/p/635910533.
  • [13] 常政.ChatGPT 原理解析 [Z].51CTO.COM,2023,https://www.51cto.com/article/747630.html1.

补充:全面解析大语言模型的工作原理 - 知乎

GPT:“Generative”-“pre-trained”-“transformer”-生成式预训练模型

1、词向量

AI语言大模型训练的过程中,对每个词,都有词向量,词向量就是用来计算权重大小的,将一个词的重要性映射到词向量,通过词向量的大小来定义一个词,一般来讲,词向量越大,对于词的认识就越深,生成时对词的概率计算就越准确。类似于:每个词都有很多属性决定了它的本质,这个词的词性,是否正式,跟食物的关系,跟运动的关系等等很多方面来共同定义这一个词,或者一个字,这就让每个词有了区分。

2、词的意义取决于上下文

词出现的概率受到上下文影响,上下文的词会让调整下一个词的词向量,比如:“红色的是”,这时下一个词会更加偏向于颜色属性为红色的词,下一个词词向量里面关于红色的比重可能会被放大,或者说更加重要,对词起到一个筛选的作用,由上下文使结果更加准确。

......

总结:

  • 了解技术,才能更好的使用技术。Prompt式的提问,就是在限制AI语言模型,使能够获取更加精准有效的回答。

  • 大模型的学习就是在模拟人神经元学习的过程,记忆词语,找关系,根据环境调整回答。

  • AI的发展是一个漫长的过程,并不是一蹴而就的,AI经过了很多版本的迭代升级,正是当今技术不断进步提升的表现,因此,只有学习好了,才能有更好的进步。

  • AI的背后是很多理论的学习,算法的实现,需要学习很多东西,AI需要学习很多数据,我们也要需要学习很多东西,对AI的探索永无止境,新的突破将会被坚持学习的人成就。

记录学习,分享技术