人工智能与神经网络 树状图程序编写 基础计算问题_人工智能树状图求解-程序员宅基地

技术标签: python  

考虑如图所示的无权无向图,每一条边上的权值都代表了该链路的通信费用或时间。

x1 = ([1, 0, 0, 1], 1)
x2 = ([0, 1, 1, 0], 2)
x3 = ([0, 0, 0, 1], 2)
x4 = ([1, 0, 0, 0], 1)
x5 = ([1, 1, 1, 0], 1)
x6 = ([0, 1, 1, 1], 2)
x7 = ([1, 1, 1, 1], 1)

w1 = x1[0]
w2 = x2[0]

for x in (x3,x4,x5,x6,x7):
    Cx = x[0]
    p1 = (w1[0]-Cx[0])*(w1[0]-Cx[0])+(w1[1]-Cx[1])*(w1[1]-Cx[1])+(w1[2]-Cx[2])*(w1[2]-Cx[2])+(w1[3]-Cx[3])*(w1[3]-Cx[3])
    p2 = (w2[0]-Cx[0])*(w2[0]-Cx[0])+(w2[1]-Cx[1])*(w2[1]-Cx[1])+(w2[2]-Cx[2])*(w2[2]-Cx[2])+(w2[3]-Cx[3])*(w2[3]-Cx[3])
    if p1 <= p2:
        q = 1
        if(x[1] == q):
            w1[0] = round(w1[0] + 0.1*(Cx[0] - w1[0]),3) 
            w1[1] = round(w1[1] + 0.1*(Cx[1] - w1[1]),3) 
            w1[2] = round(w1[2] + 0.1*(Cx[2] - w1[2]),3) 
            w1[3] = round(w1[3] + 0.1*(Cx[3] - w1[3]),3) 
        else:
            w1[0] = round(w1[0] - 0.1*(Cx[0] - w1[0]),3) 
            w1[1] = round(w1[1] - 0.1*(Cx[1] - w1[1]),3) 
            w1[2] = round(w1[2] - 0.1*(Cx[2] - w1[2]),3) 
            w1[3] = round(w1[3] - 0.1*(Cx[3] - w1[3]),3) 
    else:
        q = 2 
        if(x[1] == q):
            w2[0] = round(w2[0] + 0.1*(Cx[0] - w2[0]),3) 
            w2[1] = round(w2[1] + 0.1*(Cx[1] - w2[1]),3) 
            w2[2] = round(w2[2] + 0.1*(Cx[2] - w2[2]),3) 
            w2[3] = round(w2[3] + 0.1*(Cx[3] - w2[3]),3)  
        else:
            w2[0] = round(w2[0] - 0.1*(Cx[0] - w2[0]),3) 
            w2[1] = round(w2[1] - 0.1*(Cx[1] - w2[1]),3) 
            w2[2] = round(w2[2] - 0.1*(Cx[2] - w2[2]),3) 
            w2[3] = round(w2[3] - 0.1*(Cx[3] - w2[3]),3)  
print(w1,w2)

思路已经非常清晰,这是程序段。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45427282/article/details/119146608

智能推荐

Windows下向指定窗口模拟发送键盘消息_能否向win虚拟机发送指定的鼠标和键盘信息-程序员宅基地

文章浏览阅读2.6w次,点赞3次,收藏31次。在操作系统中,鼠标和键盘的操作会被转换为相应的系统消息,窗口过程在接收到消息后会进行对应的处理。发送消息,我们可以使用SendMessage()和PostMessage(),所以,只要使用这两个函数来发送鼠标和键盘的相关消息就可以了。此外,还可以通过keybd_event()和mouse_event()两个专用的函数进行鼠标和键盘按键的模拟操作。下面是一个简单的向指定窗口发送消息的例子:1_能否向win虚拟机发送指定的鼠标和键盘信息

Android 预置应用可卸载_android framework 预装app可卸载-程序员宅基地

文章浏览阅读234次。只需将需要设为预置可卸载的应用的包名添加在vendor/mediatek/proprietary/frameworks/base/data/etc/pms_sysapp_removable_system_list.txt中即可。重新编译验证,修改生效,预置应用变为可卸载。_android framework 预装app可卸载

光伏并网 三相光伏并网 两级式三相光伏并网 LCL滤波器 电导增量MPPT法_lcl带负载和并网-程序员宅基地

文章浏览阅读942次,点赞26次,收藏19次。LCL滤波器和电导增量MPPT法作为光伏并网系统中的关键技术,对系统的性能和可靠性起到了至关重要的作用。电导增量法通过对光伏电池输出电压、电流的微小变化进行检测和分析,计算出最大功率点的位置,并控制光伏模块输出电压和电流跟踪最大功率点。光伏并网系统需要将太阳能转化为电能后接入电网,而LCL滤波器可以有效地降低并网系统的谐波干扰,提高系统的稳定性和可靠性。另外,电导增量MPPT法可以在不需要模型预测的情况下实现最大功率点跟踪,提高并网系统的发电效率。LCL滤波器的电阻器功率损失较小,可以有效降低系统的损耗。_lcl带负载和并网

【c语言】迷宫游戏_c语言走迷宫程序怎么编-程序员宅基地

文章浏览阅读1.9k次,点赞77次,收藏85次。迷宫游戏_c语言走迷宫程序怎么编

Probabilistic Data Structures for Web Analytics and Data Mining-程序员宅基地

文章浏览阅读418次。https://highlyscalable.wordpress.com/2012/05/01/probabilistic-structures-web-analytics-data-mining/ Statistical analysis and mining of huge multi-terabyte data sets is a common task nowadays, esp..._countmin algorithm

分数(小数)取模 利用逆元 python_小数的逆元-程序员宅基地

文章浏览阅读3.4k次。在腾讯的一次笔试中,要求对分数取模 4/3 对1000000007 取余结果是3333333371. 利用费马小定理# 计算 x的y次方 对mod取模def power(x, y, mod): r = 1 while( y ): if y & 1: r = (r * x) % mod x = (x..._小数的逆元

随便推点

解决办法:char类型的实参与LPCWSTR类型的形参类型不兼容_c++ getusername char的实参与lpstr的形参不兼容-程序员宅基地

文章浏览阅读2.5k次。  碰到这类错误,实在让人发愁。建议:  使用TCHAR。  使用CString。_c++ getusername char的实参与lpstr的形参不兼容

MyBatis测试报错 No tests found matching解决办法_mybatis matching-程序员宅基地

文章浏览阅读5.1k次。JAVA面试题——精校版第五章 xl_echo编辑整理,欢迎转载,转载请声明文章来源。更多IT、编程案例、资料请联系QQ:1280023003 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!错误信息提示如下:java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayNa..._mybatis matching

线性分组码的matlab的实现,(7,4)线性分组码matlab仿真(包含纠错部分代码)-程序员宅基地

文章浏览阅读2.4k次。clcclear all%%%%%%%%生成初始序列%%%%%%%SignNum = 100; %信息长度genmat=[1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1 0 1;0 0 0 1 0 1 1];Length = SignNum ; %原始码序列长度OrigiSeq=(sign(randn(1,SignNum))+1)/2; %产生原始的0或1信息..._线性分组码matlab仿真代码

FreeRTOS高级篇3---FreeRTOS调度器启动过程分析_while( ( ucmaxpriorityvalue & porttop_bit_of_byte -程序员宅基地

文章浏览阅读401次。 使用FreeRTOS,一个最基本的程序架构如下所示:int main(void){ 必要的初始化工作; 创建任务1; 创建任务2; ... vTaskStartScheduler(); /*启动调度器*/ while(1); } 任务创建完成后,静态变量指针pxCurren..._while( ( ucmaxpriorityvalue & porttop_bit_of_byte ) == porttop_bit_of_byte )

【python基础】——python读写doc/docx/txt/xls文件_python doc-程序员宅基地

文章浏览阅读4.9w次,点赞42次,收藏216次。一、处理文件 1、读取txt文件#!/usr/bin/python# python3.6file = open('E:\\个人文件\\6-desktop\\new.txt','r')for line in file: print(line) 2、读取docx文件的内容 1)Python可以利用python-docx模块处理w..._python doc

java视频通话_Java使用WebSocket和WebRTC视频通话-程序员宅基地

文章浏览阅读3.4k次。新版的chrome浏览器,加强了安全性,所以要使用https,同时也有很多修改,这个例子已经过时,不能使用。可以参考新的文章:WebRTC续集这两天终于是抽了时间把WebRTC搞定了,去年就想弄的,但是确实没时间,而且那时候JavaEE的WebSocket还没有规范,网上也都是用的Tomcat自己的WebSocket实现的,或者还使用了一些ajax辅助,JavaEE7中有了WebSocket的规范..._java视频通话引擎

推荐文章

热门文章

相关标签