Поиск восхождением к вершине: различия между версиями

Материал из Поле цифровой дидактики
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{HowTo
{{HowTo
|Description_of_problem=Поиск восхождением к вершине - алгоритм поиска в компьютерных науках, когда агент просматривает значения переменных на ближайших полях и на поле с максимальным значением переменной. Использование алгоритма поиск восхождением к вершине можно наблюдать в таких игах как Sims или Pac-Man, когда призраки  преследуют Pacman, следуя наивысшему значению запаха Pac-man, который распространяется по всему полю см. http://ccl.northwestern.edu/netlogo/models/Pac-Man
|Description_of_problem=Поиск восхождением к вершине - алгоритм поиска в компьютерных науках, когда агент просматривает значения переменных на ближайших полях и на поле с максимальным значением переменной. Использование алгоритма поиск восхождением к вершине можно наблюдать в таких играх как Sims или Pac-Man, когда призраки  преследуют Pacman, следуя наивысшему значению запаха Pac-man, который распространяется по всему полю см. http://ccl.northwestern.edu/netlogo/models/Pac-Man
|Environment=Pac-Man, NetLogo
|Environment=Pac-Man, NetLogo
|Solution=Использовать встроенные команды NetLogo  
|Solution=Использовать встроенные команды NetLogo  
Строка 14: Строка 14:
=== [[NetLogo]] ===
=== [[NetLogo]] ===


to look-for-food  ;; turtle procedure
 
   if food > 0
<syntaxhighlight lang="Logos" line>
   [ set color orange + 1   
to go
     set food food - 1       
  ;; Остановиться, если все черепахи в наивысшей точке
     rt 180               
   if all? turtles [peak?]
     stop ]
    [ stop ]
  ;; go in the direction where the chemical smell is strongest
   ask turtles [
  if (chemical >= 0.05) and (chemical < 2)
     ;; remember where we started
   [ uphill-chemical ]
    let old-patch patch-here
     ;; to use UPHILL, the turtles specify a patch variable
     uphill pcolor
    ;; are we still where we started? if so, we didn't
    ;; move, so we must be on a peak
    if old-patch = patch-here [ set peak? true ]
   ]
  tick
end
end
</syntaxhighlight>


{{#widget:iframe
{{#widget:iframe

Текущая версия на 08:11, 18 ноября 2023

Описание проблемы Поиск восхождением к вершине - алгоритм поиска в компьютерных науках, когда агент просматривает значения переменных на ближайших полях и на поле с максимальным значением переменной. Использование алгоритма поиск восхождением к вершине можно наблюдать в таких играх как Sims или Pac-Man, когда призраки преследуют Pacman, следуя наивысшему значению запаха Pac-man, который распространяется по всему полю см. http://ccl.northwestern.edu/netlogo/models/Pac-Man
Среда Pac-Man, NetLogo
Предлагаемое решение Использовать встроенные команды NetLogo
  • uphill patch-variable
  • uphill4 patch-variable
Пример кода
to move
uphill elevation 
end
Адрес примера http://ccl.northwestern.edu/netlogo/models/Ants
Стандарты
сходные практики
Ключевые понятия Паттерн вычислительного мышления
FieldActivity Computational Thinker

to go
  ;; Остановиться, если все черепахи в наивысшей точке
  if all? turtles [peak?]
    [ stop ]
  ask turtles [
    ;; remember where we started
    let old-patch patch-here
    ;; to use UPHILL, the turtles specify a patch variable
    uphill pcolor
    ;; are we still where we started? if so, we didn't
    ;; move, so we must be on a peak
    if old-patch = patch-here [ set peak? true ]
  ]
  tick
end



В моделях NetLogo примеры поиска восхождением к вершине