日本欧洲视频一区_国模极品一区二区三区_国产熟女一区二区三区五月婷_亚洲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

              一区二区三区在线观看视频| 香蕉成人伊视频在线观看| 欧美日韩亚洲激情| 亚洲男人天堂2024| 在线日韩一区二区| 国产精品视频成人| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美猛交免费看| 狠狠干综合网| 国产精品久久久久久久久免费桃花 | 国产一区二区在线观看免费播放 | 一区二区三区色| 亚洲激情视频在线播放| 国产亚洲精品久久久久婷婷瑜伽| 亚洲福利视频网| 久久久人成影片一区二区三区观看| 亚洲伦理在线| 亚洲国产精品www| 好男人免费精品视频| 欧美性淫爽ww久久久久无| 久久资源在线| 久久另类ts人妖一区二区| 亚洲欧美日本伦理| 欧美三日本三级三级在线播放| 一区二区欧美在线观看| 日韩网站在线观看| 亚洲美女视频在线观看| 亚洲精品中文字幕有码专区| 亚洲国产日日夜夜| 亚洲第一综合天堂另类专| 在线观看亚洲精品| 亚洲国产一区二区在线| 91久久精品日日躁夜夜躁国产| 亚洲国产精品视频一区| 在线日韩av片| 亚洲毛片视频| 亚洲一区二区精品| 欧美影院在线播放| 另类专区欧美制服同性| 欧美xart系列高清| 欧美三级韩国三级日本三斤| 国产精品日韩久久久久| 国产午夜精品视频| 亚洲国产欧美一区二区三区丁香婷| 亚洲精品一二三区| 亚洲欧美日韩精品一区二区 | 国产一区二区三区高清在线观看| 麻豆91精品91久久久的内涵| 欧美a级在线| 欧美日韩亚洲网| 国产乱肥老妇国产一区二| 国产亚洲一区二区在线观看| 在线国产欧美| 亚洲午夜一区二区| 久久综合给合| 亚洲一品av免费观看| 久久精品中文字幕免费mv| 女生裸体视频一区二区三区| 亚洲欧美一级二级三级| 免费久久精品视频| 国产精品综合不卡av| 亚洲高清视频一区| 亚洲一区国产精品| 欧美xart系列高清| 国产精品视频yy9099| 亚洲黄页视频免费观看| 午夜精品久久久久久久男人的天堂| 久久精品成人一区二区三区| 欧美日本久久| 欧美日韩欧美一区二区| 国产视频综合在线| 亚洲一区精彩视频| 欧美激情综合色综合啪啪| 国产午夜精品一区二区三区视频| 亚洲国产精品专区久久| 欧美一区二区私人影院日本| 亚洲社区在线观看| 国产一区二区三区在线观看免费| 亚洲免费福利视频| 欧美高清在线播放| 欧美另类综合| 亚洲国产综合在线| 久久久7777| 国产精品私房写真福利视频| 一本色道久久综合亚洲精品高清| 久久五月天婷婷| 激情综合色综合久久综合| 午夜精品久久久久久| 国产精品成av人在线视午夜片| 亚洲人妖在线| 亚洲小说春色综合另类电影| 欧美精品aa| 日韩小视频在线观看专区| 欧美国产欧美亚洲国产日韩mv天天看完整 | 免费在线亚洲| 国产原创一区二区| 欧美一区视频在线| 国产精品视频在线观看| 亚洲性线免费观看视频成熟| 欧美一级视频一区二区| 久久久国产精品一区| 国产午夜精品全部视频在线播放 | 国产一区二区三区四区在线观看 | 美女图片一区二区| 一区二区三区在线观看欧美 | 狼人社综合社区| 亚洲欧洲精品天堂一级| 欧美激情无毛| 亚洲视频 欧洲视频| 欧美午夜电影在线观看| 亚洲一区二区三区国产| 国产精品自在线| 欧美主播一区二区三区| 欧美肥婆在线| 国产日本欧美一区二区三区| 久久精品一本久久99精品| 亚洲福利视频三区| 欧美日韩亚洲视频| 欧美一级二区| 亚洲国产精彩中文乱码av在线播放| 欧美激情影音先锋| 午夜精品久久久久久99热软件 | 久久久91精品国产一区二区精品| 在线观看91精品国产麻豆| 欧美精品午夜视频| 小黄鸭精品aⅴ导航网站入口| 国内精品美女在线观看| 欧美日韩成人精品| 久久裸体艺术| 在线一区二区三区四区五区| 韩国一区电影| 欧美午夜精品电影| 久久琪琪电影院| 亚洲在线视频一区| 亚洲第一天堂av| 国产精品萝li| 欧美成人有码| 久久精品夜色噜噜亚洲a∨| 日韩视频免费观看高清在线视频| 国产日韩在线视频| 欧美色精品在线视频| 蜜桃av综合| 久久精品国产精品亚洲| 一区二区三区福利| 亚洲日本黄色| 精品不卡视频| 国产乱码精品1区2区3区| 欧美日韩一区成人| 在线视频日本亚洲性| 亚洲区一区二| 亚洲高清不卡av| 精久久久久久久久久久| 国产欧美一区二区精品婷婷| 欧美在线黄色| 西西人体一区二区| 一区二区三区精品视频| 亚洲精品日本| 亚洲国产精品一区二区第一页| 国产日韩精品入口| 国产精品免费观看在线| 欧美日韩精品在线观看| 欧美国产极速在线| 欧美成人午夜77777| 久久午夜电影| 久久综合亚州| 免费欧美视频| 欧美美女bbbb| 欧美日韩一区二区三区在线观看免 | 欧美午夜在线视频| 国产精品高潮视频| 国产精品国产三级国产普通话99| 欧美日韩成人在线视频| 欧美巨乳波霸| 国产精品二区二区三区| 国产欧美一区二区视频| 国产伦精品一区二区三区高清版| 国产精品人人爽人人做我的可爱| 国产精品美女久久久久av超清| 国产精品手机视频| 国内成人自拍视频| 亚洲国产另类精品专区| 亚洲美女一区| 香蕉亚洲视频| 久久一区中文字幕| 欧美精品www| 国产精品任我爽爆在线播放| 性欧美1819sex性高清| 久久精品国产精品亚洲综合| 免费欧美在线视频| 国产精品v欧美精品v日韩| 国产毛片一区二区| 极品裸体白嫩激情啪啪国产精品 | 美女主播一区| 欧美日韩精品免费在线观看视频| 国产精品igao视频网网址不卡日韩 | 狂野欧美激情性xxxx| 国产精品av一区二区| 精品粉嫩aⅴ一区二区三区四区| 亚洲国产一区二区a毛片| 亚洲一级高清|