欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)爬山算法的思路詳解

 更新時(shí)間:2019年04月09日 13:53:19   作者:小太陽(yáng)花兒  
爬山算法會(huì)收斂到局部最優(yōu),解決辦法是初始值在定義域上隨機(jī)取亂數(shù)100次,總不可能100次都那么倒霉。這篇文章主要介紹了python實(shí)現(xiàn)爬山算法的思路詳解,需要的朋友可以參考下

問(wèn)題

找圖中函數(shù)在區(qū)間[5,8]的最大值 

重點(diǎn)思路

爬山算法會(huì)收斂到局部最優(yōu),解決辦法是初始值在定義域上隨機(jī)取亂數(shù)100次,總不可能100次都那么倒霉。

實(shí)現(xiàn)

import numpy as np
import matplotlib.pyplot as plt
import math
# 搜索步長(zhǎng)
DELTA = 0.01
# 定義域x從5到8閉區(qū)間
BOUND = [5,8]
# 隨機(jī)取亂數(shù)100次
GENERATION = 100
def F(x):
  return math.sin(x*x)+2.0*math.cos(2.0*x)
def hillClimbing(x):
  while F(x+DELTA)>F(x) and x+DELTA<=BOUND[1] and x+DELTA>=BOUND[0]:
    x = x+DELTA
  while F(x-DELTA)>F(x) and x-DELTA<=BOUND[1] and x-DELTA>=BOUND[0]:
    x = x-DELTA
  return x,F(x)
def findMax():
  highest = [0,-1000]
  for i in range(GENERATION):
    x = np.random.rand()*(BOUND[1]-BOUND[0])+BOUND[0]
    currentValue = hillClimbing(x)
    print('current value is :',currentValue)
    
    if currentValue[1] > highest[1]:
      highest[:] = currentValue
  return highest
[x,y] = findMax()
print('highest point is x :{},y:{}'.format(x,y))

運(yùn)行結(jié)果:

總結(jié)

以上所述是小編給大家介紹的python實(shí)現(xiàn)爬山算法的思路詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

  • 老生常談Python序列化和反序列化

    老生常談Python序列化和反序列化

    下面小編就為大家?guī)?lái)一篇老生常談Python序列化和反序列化。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Pandas 實(shí)現(xiàn)分組計(jì)數(shù)且不計(jì)重復(fù)

    Pandas 實(shí)現(xiàn)分組計(jì)數(shù)且不計(jì)重復(fù)

    這篇文章主要介紹了Pandas 實(shí)現(xiàn)分組計(jì)數(shù)且不計(jì)重復(fù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 如何用Python對(duì)數(shù)學(xué)函數(shù)進(jìn)行求值、求偏導(dǎo)

    如何用Python對(duì)數(shù)學(xué)函數(shù)進(jìn)行求值、求偏導(dǎo)

    這篇文章主要介紹了如何用Python對(duì)數(shù)學(xué)函數(shù)進(jìn)行求值、求偏導(dǎo)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • pytorch實(shí)現(xiàn)線性回歸以及多元回歸

    pytorch實(shí)現(xiàn)線性回歸以及多元回歸

    這篇文章主要為大家詳細(xì)介紹了pytorch實(shí)現(xiàn)線性回歸以及多元回歸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 淺析Python條件語(yǔ)句中的解密邏輯與控制流

    淺析Python條件語(yǔ)句中的解密邏輯與控制流

    這篇文章主要想來(lái)和大家一起探索一下Python條件語(yǔ)句的奇妙世界——解密邏輯與控制流,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2023-07-07
  • Django JSONField的自動(dòng)轉(zhuǎn)換思路詳解(django自定義模型字段)

    Django JSONField的自動(dòng)轉(zhuǎn)換思路詳解(django自定義模型字段)

    如果想實(shí)現(xiàn)JSONField的自動(dòng)轉(zhuǎn)換,可以使用Django REST framework的JSONField,或者自定義一個(gè)字段類并覆蓋from_db_value()和get_prep_value()方法來(lái)實(shí)現(xiàn)這個(gè)功能,這篇文章主要介紹了Django JSONField的自動(dòng)轉(zhuǎn)換(django自定義模型字段)問(wèn)題,需要的朋友可以參考下
    2023-06-06
  • Python 讀取千萬(wàn)級(jí)數(shù)據(jù)自動(dòng)寫入 MySQL 數(shù)據(jù)庫(kù)

    Python 讀取千萬(wàn)級(jí)數(shù)據(jù)自動(dòng)寫入 MySQL 數(shù)據(jù)庫(kù)

    這篇文章主要介紹了Python 讀取千萬(wàn)級(jí)數(shù)據(jù)自動(dòng)寫入 MySQL 數(shù)據(jù)庫(kù),本篇文章會(huì)給大家系統(tǒng)的分享千萬(wàn)級(jí)數(shù)據(jù)如何寫入到 mysql,分為兩個(gè)場(chǎng)景,兩種方式
    2022-06-06
  • python中裝飾器級(jí)連的使用方法示例

    python中裝飾器級(jí)連的使用方法示例

    裝飾器本質(zhì)上是一個(gè)Python函數(shù),它可以讓其他函數(shù)在不需要做任何代碼變動(dòng)的前提下增加額外功能,下面這篇文章主要給大家介紹了關(guān)于python中裝飾器級(jí)連的使用方法,需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Python時(shí)間操作之pytz模塊使用詳解

    Python時(shí)間操作之pytz模塊使用詳解

    在學(xué)習(xí)Python過(guò)程中,我們已經(jīng)了解了一些關(guān)于時(shí)間操作的庫(kù),如:Python內(nèi)置庫(kù):time,datatime和第三方庫(kù):dateutil,pytz等。本文將詳細(xì)講講pytz模塊的使用,需要的可以參考一下
    2022-06-06
  • Pycharm及python安裝詳細(xì)步驟及PyCharm配置整理(推薦)

    Pycharm及python安裝詳細(xì)步驟及PyCharm配置整理(推薦)

    這篇文章主要介紹了Pycharm及python安裝詳細(xì)步驟以及PyCharm配置整理,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論