日本欧洲视频一区_国模极品一区二区三区_国产熟女一区二区三区五月婷_亚洲AV成人精品日韩一区18p

代做Lab 2: Time Series Prediction with GP

時間:2024-03-21  來源:  作者: 我要糾錯



Evolutionary Computation 2023/2024
Lab 2: Time Series Prediction with GP
Released: February 26, 2024
Deadline: March 18, 2024
Weight: 25 %
You need to implement one program that solves Exercises 1-3 using any programming language.
In Exercise 5, you will run a set of experiments and describe the result using plots and a short
discussion.
(In the following, replace abc123 with your username.) You need to submit one zip file
with the name ec2024-lab2-abc123.zip. The zip file should contain one directory named
ec2024-lab2-abc123 containing the following files:
• the source code for your program
• a Dockerfile (see the appendix for instructions)
• a PDF file for Exercises 4 and 5
In this lab, we will do a simple form of time series prediction. We assume that we are given some
historical data, (e.g. bitcoin prices for each day over a year), and need to predict the next value in
the time series (e.g., tomorrow’s bitcoin value).
1
We formulate the problem as a regression problem. The training data consists of a set of m
input vectors X = (x
(0), . . . , x(m−1)) representing historical data, and a set of m output values
Y = (x
(0), . . . , x(m−1)), where for each 0 ≤ j ≤ m − 1, x
(j) ∈ R
n and y
(j) ∈ R. We will use genetic
programming to evolve a prediction model f : R
n → R, such that f(x
(j)
) ≈ y
(j)
.
Candidate solutions, i.e. programs, will be represented as expressions, where each expression evaluates to a value, which is considered the output of the program. When evaluating an expression,
we assume that we are given a current input vector x = (x0, . . . , xn−1) ∈ R
n. Expressions and evaluations are defined recursively. Any floating number is an expression which evaluates to the value
of the number. If e1, e2, e3, and e4 are expressions which evaluate to v1, v2, v3 and v4 respectively,
then the following are also expressions
• (add e1 e2) is addition which evaluates to v1 + v2, e.g. (add 1 2)≡ 3
• (sub e1 e2) is subtraction which evaluates to v1 − v2, e.g. (sub 2 1)≡ 1
• (mul e1 e2) is multiplication which evaluates to v1v2, e.g. (mul 2 1)≡ 2
• (div e1 e2) is division which evaluates to v1/v2 if v2 ̸= 0 and 0 otherwise, e.g., (div 4 2)≡ 2,
and (div 4 0)≡ 0,
• (pow e1 e2) is power which evaluates to v
v2
1
, e.g., (pow 2 3)≡ 8
• (sqrt e1) is the square root which evaluates to √
v1, e.g.(sqrt 4)≡ 2
• (log e1) is the logarithm base 2 which evaluates to log(v1), e.g. (log 8)≡ 3
• (exp e1) is the exponential function which evaluates to e
v1
, e.g. (exp 2)≡ e
2 ≈ 7.39
• (max e1 e2) is the maximum which evaluates to max(v1, v2), e.g., (max 1 2)≡ 2
• (ifleq e1 e2 e3 e4) is a branching statement which evaluates to v3 if v1 ≤ v2, otherwise the
expression evaluates to v4 e.g. (ifleq 1 2 3 4)≡ 3 and (ifleq 2 1 3 4)≡ 4
• (data e1) is the j-th element xj of the input, where j ≡ |⌊v1⌋| mod n.
• (diff e1 e2) is the difference xk − xℓ where k ≡ |⌊v1⌋| mod n and ℓ ≡ |⌊v2⌋| mod n
• (avg e1 e2) is the average 1
|k−ℓ|
Pmax(k,ℓ)−1
t=min(k,ℓ)
xt where k ≡ |⌊v1⌋| mod n and ℓ ≡ |⌊v2⌋|
mod n
In all cases where the mathematical value of an expression is undefined or not a real number (e.g.,

−1, 1/0 or (avg 1 1)), the expression should evaluate to 0.
We can build large expressions from the recursive definitions. For example, the expression
(add (mul 2 3) (log 4))
evaluates to
2 · 3 + log(4) = 6 + 2 = 8.
2
To evaluate the fitness of an expression e on a training data (X , Y) of size m, we use the mean
square error
f(e) = 1
m
mX−1
j=0

y
(j) − e(x
(j)
)
2
,
where e(x
(j)
) is the value of the expression e when evaluated on the input vector x
(j)
.
3
Exercise 1. (30 % of the marks)
Implement a routine to parse and evaluate expressions. You can assume that the input describes a
syntactically correct expression. Hint: Make use of a library for parsing s-expressions1
, and ensure
that you evaluate expressions exactly as specified on page 2.
Input arguments:
• -expr an expression
• -n the dimension of the input vector n
• -x the input vector
• -question the question number (always 1 in this case)
Output:
• the value of the expression
Example: In this example, we assume that your program has been compiled to an executable with
the name my lab solution.
[pkl@phi ocamlec]$ my_lab_solution -question 1 -n 1 -x "1.0"
-expr "(mul (add 1 2) (log 8))"
9.0
[pkl@phi ocamlec]$ my_lab_solution -question 1 -n 2 -x "1.0 2.0"
-expr "(max (data 0) (data 1))"
2.0
Exercise 2. (10 % of the marks) Implement a routine which computes the fitness of an expression
given a training data set.
Input arguments:
• -expr an expression
• -n the dimension of the input vector
• -m the size of the training data (X , Y)
• -data the name of a file containing the training data in the form of m lines, where each line
contains n + 1 values separated by tab characters. The first n elements in a line represents
an input vector x, and the last element in a line represents the output value y.
• -question the question number (always 2 in this case)
1See e.g. implementations here http://rosettacode.org/wiki/S-Expressions
4
Output:
• The fitness of the expression, given the data.
Exercise 3. (30 % of the marks)
Design a genetic programming algorithm to do time series forecasting. You can use any genetic
operators and selection mechanism you find suitable.
Input arguments:
• -lambda population size
• -n the dimension of the input vector
• -m the size of the training data (X , Y)
• -data the name of a file containing training data in the form of m lines, where each line
contains n + 1 values separated by tab characters. The first n elements in a line represents
an input vector x, and the last element in a line represents the output value y.
• -time budget the number of seconds to run the algorithm
• -question the question number (always 3 in this case)
Output:
• The fittest expression found within the time budget.
Exercise 4. (10 % of the marks) Here, you should do one of the following exercises.
If you follow LH Evolutionary Computation, do the following exercise: Describe your
algorithm from Exercise 3 in the form of pseudo-code. The pseudo-code should be sufficiently detailed
to allow an exact re-implementation.
If you follow LM Evolutionary Computation (extended), do the following exercise:
Describe in 150 words or less the result in one recent research paper on the topic “symbolic regression
using genetic programming”. The paper needs to be published in 2020 or later in the proceedings of
one of the following conferences: GECCO, PPSN, CEC, or FOGA.
5
Exercise 5. (20 % of the marks)
In this final task, you should try to determine parameter settings for your algorithm which lead to
as fit expressions as possible.
Your algorithm is likely to have several parameters, such as the population size, mutation rates,
selection mechanism, and other mechanisms components, such as diversity mechanisms.
Choose parameters which you think are essential for the behaviour of your algorithm. Run a set of
experiments to determine the impact of these parameters on the solution quality. For each parameter
setting, run 100 repetitions, and plot box plots of the fittest solution found within the time budget.
6
A. Docker Howto
Follow these steps exactly to build, test, save, and submit your Docker image. Please replace abc123
in the text below with your username.
1. Install Docker CE on your machine from the following website:
https://www.docker.com/community-edition
2. Copy the PDF file from Exercises 4 and 5 all required source files, and/or bytecode to an
empty directory named ec2024-lab2-abc123 (where you replace abc123 with your username).
mkdir ec2024 - lab2 - abc123
cd ec2024 - lab2 - abc123 /
cp ../ exercise . pdf .
cp ../ abc123 . py .
3. Create a text file Dockerfile file in the same directory, following the instructions below.
# Do not change the following line . It specifies the base image which
# will be downloaded when you build your image .
FROM pklehre / ec2024 - lab2
# Add all the files you need for your submission into the Docker image ,
# e . g . source code , Java bytecode , etc . In this example , we assume your
# program is the Python code in the file abc123 . py . For simplicity , we
# copy the file to the / bin directory in the Docker image . You can add
# multiple files if needed .
ADD abc123 . py / bin
# Install all the software required to run your code . The Docker image
# is derived from the Debian Linux distribution . You therefore need to
# use the apt - get package manager to install software . You can install
# e . g . java , python , ghc or whatever you need . You can also
# compile your code if needed .
# Note that Java and Python are already installed in the base image .
# RUN apt - get update
# RUN apt - get -y install python - numpy
# The final line specifies your username and how to start your program .
# Replace abc123 with your real username and python / bin / abc123 . py
# with what is required to start your program .
CMD [" - username " , " abc123 " , " - submission " , " python / bin / abc123 . py "]
7
4. Build the Docker image as shown below. The base image pklehre/ec2024-lab2 will be
downloaded from Docker Hub
docker build . -t ec2024 - lab2 - abc123
5. Run the docker image to test that your program starts. A battery of test cases will be executed
to check your solution.
docker run ec2024 - lab2 - abc123
6. Once you are happy with your solution, compress the directory containing the Dockerfile as
a zip-file. The directory should contain the source code, the Dockerfile, and the PDF file
for Exercise 4 and 5. The name of the zip-file should be ec2024-lab2-abc123.zip (again,
replace the abc123 with your username).
Following the example above, the directory structure contained in the zip file should be as
follows:
ec2024-lab2-abc123/exercise.pdf
ec2024-lab2-abc123/abc123.py
ec2024-lab2-abc123/Dockerfile
Submissions which do not adhere to this directory structure will be rejected!
7. Submit the zip file ec2024-lab2-abc123.zip on Canvas.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:代寫CSIE3310、代做c++/Python編程
  • 下一篇:AIST1110代做、Python編程設計代寫
  • 無相關信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • NBA直播 短信驗證碼平臺 幣安官網下載 歐冠直播 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    日本欧洲视频一区_国模极品一区二区三区_国产熟女一区二区三区五月婷_亚洲AV成人精品日韩一区18p

              9000px;">

                        亚洲成人免费av| 免费美女久久99| 日本久久一区二区| 成人禁用看黄a在线| 亚洲午夜一区二区| 韩国视频一区二区| 99在线视频精品| 亚洲自拍另类综合| 日韩一区中文字幕| 亚洲精品写真福利| 国产欧美精品国产国产专区 | 99久久伊人精品| 国内一区二区在线| 99久久久久久| 久久蜜臀中文字幕| 日韩欧美一级二级| 精品免费99久久| 国产亚洲福利社区一区| 国产午夜精品一区二区| 国产精品久久久久一区| 亚洲人妖av一区二区| 一区二区三区色| 日本不卡的三区四区五区| 日日摸夜夜添夜夜添精品视频| 视频一区视频二区中文| 国产一区中文字幕| 亚洲欧美一区二区三区国产精品| 国产精品女同一区二区三区| 亚洲女人的天堂| 日韩av电影免费观看高清完整版| 美女一区二区三区在线观看| 国产ts人妖一区二区| 一本色道久久综合亚洲aⅴ蜜桃 | 欧美影视一区在线| 7777精品伊人久久久大香线蕉最新版| 日韩一区二区三区免费观看| 国产拍欧美日韩视频二区| 一区二区在线免费观看| 美国av一区二区| 不卡电影免费在线播放一区| 日本久久电影网| 欧美一二三区在线观看| 国产精品网站一区| 樱花草国产18久久久久| 国产乱码字幕精品高清av| 国产精品乱码一区二三区小蝌蚪| 亚洲欧美中日韩| 亚洲国产精品一区二区www在线| 奇米四色…亚洲| 国产精品伊人色| 欧美日韩久久久| 国产精品视频第一区| 麻豆精品视频在线观看视频| 99久久久精品| 国产日韩欧美综合一区| 日韩精品三区四区| 99久久综合99久久综合网站| 久久综合五月天婷婷伊人| 日日摸夜夜添夜夜添国产精品| 99re在线精品| 中文av一区二区| 国产最新精品免费| 精品国产乱码久久| 日韩一区二区高清| 91久久精品一区二区三| 久久无码av三级| 日韩电影在线免费| 日本韩国欧美一区二区三区| 国产肉丝袜一区二区| 麻豆视频一区二区| 色先锋aa成人| 亚洲三级电影网站| 国产精品久久网站| 国产伦精品一区二区三区免费| 91极品视觉盛宴| 蜜桃视频免费观看一区| 国产欧美精品日韩区二区麻豆天美| 色999日韩国产欧美一区二区| 国产欧美一区二区精品久导航 | 91精品一区二区三区久久久久久| 亚洲蜜桃精久久久久久久| 不卡av免费在线观看| 中文字幕乱码日本亚洲一区二区| 国产一区二区三区香蕉| 久久久久国色av免费看影院| 国产综合色视频| 久久久亚洲精华液精华液精华液| 国产在线一区二区综合免费视频| 欧美变态口味重另类| 久久成人av少妇免费| 26uuu欧美日本| 国产精品一区二区视频| 日本一区二区高清| 9i在线看片成人免费| 成人激情小说乱人伦| 亚洲欧洲日韩在线| 欧美日韩大陆在线| 一本色道综合亚洲| 成人一区二区三区视频在线观看 | 欧美日韩中文另类| 亚洲成人动漫一区| 亚洲国产视频网站| 日韩国产欧美三级| 日韩精品亚洲一区二区三区免费| 亚洲精品日日夜夜| 亚洲男人天堂av网| 日韩成人一区二区| 免费xxxx性欧美18vr| 欧美日韩另类一区| 久久se这里有精品| 蜜臀av一级做a爰片久久| 久久网站热最新地址| 亚洲免费观看高清完整版在线观看| 91精品久久久久久蜜臀| 成人aa视频在线观看| 日韩欧美国产三级电影视频| 国产成人精品亚洲午夜麻豆| 亚洲精品欧美专区| 一区二区三区资源| 日韩欧美综合在线| 成人激情免费视频| 日韩成人av影视| 日韩毛片一二三区| 欧美zozozo| 亚洲一区二区高清| 国产午夜精品理论片a级大结局| 色欧美日韩亚洲| 国产一区二区精品久久91| 亚洲国产乱码最新视频| 综合久久久久综合| 国产一区二区三区在线观看精品| 91在线视频网址| 亚洲成人av中文| 中文字幕欧美国产| 日韩一区二区在线免费观看| 成人性视频免费网站| 另类欧美日韩国产在线| 亚洲欧美精品午睡沙发| 久久久久亚洲综合| 日韩视频在线永久播放| 亚洲一线二线三线视频| 久久久久久久av麻豆果冻| 欧美日韩一级视频| av在线这里只有精品| 中文字幕在线播放不卡一区| 国产精品18久久久久久久久| 亚洲午夜在线视频| 中文字幕av一区二区三区高| 精品国产污网站| 欧美人xxxx| 欧美系列日韩一区| 91免费看`日韩一区二区| 国产毛片精品国产一区二区三区| 日韩精品免费专区| 亚洲一区二区三区中文字幕 | 国产精品国产a| 精品sm捆绑视频| 精品国产一区二区三区av性色| 欧美日韩www| 欧美亚一区二区| 在线观看免费一区| 在线亚洲人成电影网站色www| 91久久久免费一区二区| 91久久精品一区二区二区| 日本久久精品电影| 在线观看国产精品网站| 欧美探花视频资源| 欧美日产在线观看| 欧美一区二区视频在线观看2020| 欧美一区二区在线免费播放 | 亚洲女同女同女同女同女同69| 国产精品久久久久久一区二区三区| 亚洲国产精品高清| 中文字幕中文字幕在线一区| 日韩**一区毛片| 粉嫩蜜臀av国产精品网站| 国产在线看一区| 福利一区福利二区| 亚洲柠檬福利资源导航| 亚洲欧美日韩人成在线播放| 一区二区三区四区在线播放| 亚洲午夜精品一区二区三区他趣| 天天综合色天天| 捆绑调教美女网站视频一区| 国产一区二区在线观看视频| 成人av影院在线| 欧美色国产精品| 精品福利在线导航| 亚洲欧美综合色| 日韩精彩视频在线观看| 国产曰批免费观看久久久| proumb性欧美在线观看| 欧美日韩一区国产| 精品1区2区在线观看| 亚洲天堂免费看| 午夜电影一区二区三区| 国产精品亚洲第一区在线暖暖韩国 | 欧美高清激情brazzers| 精品免费99久久| 亚洲伦理在线免费看|