久久久久久精品无码人妻_青春草无码精品视频在线观_无码精品国产VA在线观看_国产色无码专区在线观看

代做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)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 短信驗證碼平臺 理財 WPS下載

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

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

    久久久久久精品无码人妻_青春草无码精品视频在线观_无码精品国产VA在线观看_国产色无码专区在线观看

    今天免费高清在线观看国语| 免费看污污视频| av中文字幕网址| 欧美做受777cos| 精品久久久久av| 日韩在线视频在线| 久久人人爽av| 欧美视频在线播放一区| 只有这里有精品| 一本色道无码道dvd在线观看| 一区二区三区四区久久| 日韩欧美xxxx| 久久国产精品网| 香蕉视频xxxx| 中文字幕在线导航| 久久综合九色综合88i| 欧美日韩一级在线| 香蕉视频999| 日本男人操女人| 国产3p露脸普通话对白| japanese在线视频| 第四色婷婷基地| 中文字幕乱码人妻综合二区三区| 永久免费看av| 青娱乐国产精品视频| 男女无套免费视频网站动漫| 欧美视频在线播放一区| 欧美日韩福利在线| av中文字幕av| 亚洲一二三不卡| 国产高清视频网站| 不卡影院一区二区| 国产3p露脸普通话对白| 青青视频免费在线| 中文字幕制服丝袜在线| 奇米影音第四色| 99色精品视频| 日本福利视频在线| 日韩精品综合在线| 国产精品videossex国产高清| 天天操精品视频| 嫩草视频免费在线观看| 中文字幕66页| 国产精品自在自线| 91 视频免费观看| 日韩欧美国产片| 向日葵污视频在线观看| 日本中文字幕二区| 伊人五月天婷婷| 亚洲一区二区福利视频| www.夜夜爽| 国产三级精品三级在线| 天堂在线一区二区三区| 日本中文字幕影院| 欧美 另类 交| 日韩不卡一二区| 久久久久久久久久久久久国产| 婷婷中文字幕在线观看| 超碰成人在线免费观看| 四虎成人在线播放| 97人人模人人爽人人澡| a级网站在线观看| 黄色片免费在线观看视频| 黄网站色视频免费观看| 99在线免费视频观看| 婷婷五月综合缴情在线视频| 大陆极品少妇内射aaaaa| 亚洲午夜无码av毛片久久| 日本三级免费网站| 乌克兰美女av| 精品亚洲视频在线| 中文字幕在线视频一区二区| av在线com| 免费看一级大黄情大片| 九九热在线免费| 亚洲色图欧美自拍| 精品免费久久久久久久| 三上悠亚久久精品| 国产精品wwwww| 亚洲欧美偷拍另类| 亚洲黄色网址在线观看| 国产乱子伦农村叉叉叉| 国产97色在线 | 日韩| 亚洲黄色av片| a级黄色小视频| 久久午夜夜伦鲁鲁一区二区| 二级片在线观看| 黄色一级视频片| 污污的网站免费| 人人妻人人澡人人爽欧美一区| 国产在线青青草| 五月天丁香花婷婷| 欧美黑人在线观看| 日本成人在线免费视频| 中国一级大黄大黄大色毛片| 久久久久久久久久久视频| 91av视频免费观看| 18禁网站免费无遮挡无码中文| 日日噜噜夜夜狠狠| 日本a在线免费观看| 在线能看的av网站| 日韩国产欧美亚洲| 成人高清在线观看视频| 国产精品第12页| 熟女视频一区二区三区| 国产91在线视频观看| 亚洲精品乱码久久久久久动漫| 国产婷婷一区二区三区| 91视频福利网| 成年人免费在线播放| 男人天堂成人网| 女人另类性混交zo| 男人添女人下部视频免费| 亚洲美女性囗交| 能在线观看的av| 丰满人妻一区二区三区53号| www.涩涩涩| a级黄色一级片| dy888午夜| 在线观看国产福利| 欧美性猛交久久久乱大交小说| 台湾无码一区二区| 日本黄色的视频| 日韩欧美xxxx| 乱人伦xxxx国语对白| 欧洲美女亚洲激情| 中文字幕第80页| 国产中文字幕在线免费观看| 日本精品免费视频| 网站在线你懂的| jizz欧美激情18| 97国产精东麻豆人妻电影| 国产一级不卡视频| 99精品一级欧美片免费播放| 天天操天天干天天做| 亚洲成人av免费看| 俄罗斯av网站| 精品国偷自产一区二区三区| 99re99热| 超碰91在线播放| 不卡的在线视频| 自拍偷拍21p| 天天爽人人爽夜夜爽| 欧美自拍小视频| 免费午夜视频在线观看| 国产超级av在线| www一区二区www免费| 欧美一级视频在线播放| 国产尤物av一区二区三区| 影音先锋成人资源网站| 中文字幕第一页亚洲| 日本中文字幕在线不卡| 天堂av.com| 伊人五月天婷婷| www亚洲国产| 先锋影音男人资源| 欧美少妇一级片| 黄色影视在线观看| 亚洲精品国产suv一区88| 免费在线精品视频| 青青草综合在线| 欧美性猛交内射兽交老熟妇| www.18av.com| 精品无码国产一区二区三区av| cao在线观看| 欧美日韩黄色一级片| 日韩av黄色网址| jizz欧美激情18| 加勒比av中文字幕| 欧美与动交zoz0z| 18禁裸男晨勃露j毛免费观看| 9色porny| 欧美 激情 在线| 亚洲 欧美 日韩系列| 91精产国品一二三产区别沈先生| 国产免费一区二区三区四在线播放| 欧美日韩dvd| 日本福利视频在线| 污片在线免费看| 自拍一级黄色片| 国产免费xxx| 1024精品视频| 亚洲一级免费在线观看| 久久婷婷中文字幕| 日韩一区二区高清视频| 97超碰青青草| 亚洲 国产 图片| 国产亚洲精品久久久久久久| 美女日批免费视频| 中文字幕 91| 日本一区午夜艳熟免费| 国产麻花豆剧传媒精品mv在线| 中文字幕亚洲欧洲| 日本a在线天堂| 久久久久久久少妇| 色男人天堂av| 久久网站免费视频| 久久精品国产99久久99久久久| 777av视频| 色噜噜狠狠一区二区|