[dynamic FL]part 6:comparison between Dynamic and Static

本文探讨了静态类型语言与动态类型语言之间的区别,包括它们在类型检查、错误预防及性能上的不同表现。同时,文章还讨论了强类型与弱类型的含义及其带来的影响。
各种语言的比较
Dynamic type language VS Static type language:
     Dynamic看待Static: ML好像只是Racket的子集。ML会拒绝更多程序, 可能有bug的也可能是没有bug的。
     Static看待Dynamic: Racket好像只是ML的子集,所有的表达式都属于某一个大的数据类型,并且有很多子类型,这些类型有类似tag的东西,以便在运行时进行检查。如果检查不通过就会抛出异常。

Static Checking: 在parse后run之前reject程序。parse的时候的错误:syntax error;static checking的错误:type error。不需要任何输入,编译期的检查----无论检查完成后是用编译器还是解释器执行程序。最普遍的static checking是通过type system实现的(如何实现)。(目的)都是一致的:防止误用或者无用的程序执行
Dynamic Checking: 给值加上tag
两者的区别是在compile-time还是在run-time防止程序做坏事。实际上,检查错误可以有以下的时间:
     1.输入时:editor发现的
     2.compile time
     3.link time: 当发现main函数调用了某个不合法的函数
     4.run time
     5.later:当发现执行错误的时候,不抛出异常,而是返回一个错误值,或者直到错误值被使用的时候再抛出异常
还有需要注意的是,不检查某种错误X和Dynamic/static checking 无关。
比较:
     1.方便性:dynamic:可以混合多种类型的数据;static:能尽早发现错误
     2.速度:static: 更快,在ML中只有在用户添加datatype constructor的地方才会存在run-time tag
     3. 检查bug: static: 更早;dynamic: 依赖testing
     4.其他:如拒绝更多程序、能复用、利于代码进化(写代码更快)。。。

Sound and Complete
     假设X代表某种错误的情况
     sound:不会接受X的程序(prevent false negative)
     complete:不会拒绝没有X的程序(prevent false positive)
     type system通常是sound但是不是complete的。因为一个static checker不能够同时:sound, complete, always terminate。因此抛弃complete

假设type system对某种错误情况X unsound——即可能发生错误X。最好的解决方法是dynamic check X,并且抛出异常。
Weak Typed: 不对X进行类型检查,Bug可能导致任意结果。(C, C++)
Strong Typed: 有Bug的程序会受限。

interpolation/quasi-quoting in scripting language
     eval: 在运行时求值。并不依赖是compiler-based language还是interpreter-base language。只需要在运行时有一个compiler或者interpreter就可以了。有趣的是,Racket的输入是一个列表
     
     (f #t) =>打印了hi并且返回6
     quote: 将它后边的东西都看作是符号,数字…,不会求值
     
     eval和quote是相反的。(eval (quote e)) == e
内容概要:本文系统阐述了智能物流路径规划的技术体系与实践应用,涵盖其发展背景、核心问题建模、关键算法、多目标与动态环境处理、系统架构及典型应用场景。文章以车辆路径问题(VRP)及其变体为核心数学模型,介绍了从Dijkstra、A*等单智能体算法到多车VRP的元启发式求解方法(如遗传算法、蚁群算法、大规模邻域搜索),并深入探讨了多目标优化(成本、时间、碳排放)与动态环境(实时订单、交通变化)下的自适应规划策略。结合城市配送、干线运输、场内物流等案例,展示了路径规划在提升效率、降低成本方面的实际价值,并分析了当前面临的复杂性、不确定性等挑战,展望了AI融合、数字孪生、车路协同等未来趋势。; 适合人群:具备一定物流、运筹学或计算机基础,从事智能交通、物流调度、算法研发等相关工作的技术人员与管理人员,工作年限1-5年为宜。; 使用场景及目标:①理解智能物流路径规划的整体技术架构与核心算法原理;②掌握VRP建模方法与多目标、动态环境下路径优化的实现策略;③为物流系统设计、算法选型与系统优化提供理论依据与实践参考; 阅读建议:建议结合文中案例与数学模型,重点理解算法选择与实际业务场景的匹配逻辑,关注动态规划与多目标优化的工程实现难点,可配合仿真工具或开源求解器进行实践验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值