• <button id="ecio8"></button>
  • <li id="ecio8"></li>
    <s id="ecio8"></s>
    <dl id="ecio8"></dl>
    <center id="ecio8"><noscript id="ecio8"></noscript></center>
    • <table id="ecio8"><source id="ecio8"></source></table>
      <bdo id="ecio8"></bdo>
    • <s id="ecio8"></s>

      代做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編程設(shè)計代寫
    • 無相關(guān)信息
      昆明生活資訊

      昆明圖文信息
      蝴蝶泉(4A)-大理旅游
      蝴蝶泉(4A)-大理旅游
      油炸竹蟲
      油炸竹蟲
      酸筍煮魚(雞)
      酸筍煮魚(雞)
      竹筒飯
      竹筒飯
      香茅草烤魚
      香茅草烤魚
      檸檬烤魚
      檸檬烤魚
      昆明西山國家級風景名勝區(qū)
      昆明西山國家級風景名勝區(qū)
      昆明旅游索道攻略
      昆明旅游索道攻略
    • 高仿包包訂製

      關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

      Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網(wǎng) 版權(quán)所有
      ICP備06013414號-3 公安備 42010502001045

      欧美成人免费全部观看天天性色,欧美日韩视频一区三区二区,欧洲美女与动性zozozo,久久久国产99久久国产一
    • <button id="ecio8"></button>
    • <li id="ecio8"></li>
      <s id="ecio8"></s>
      <dl id="ecio8"></dl>
      <center id="ecio8"><noscript id="ecio8"></noscript></center>
      • <table id="ecio8"><source id="ecio8"></source></table>
        <bdo id="ecio8"></bdo>
      • <s id="ecio8"></s>
        主站蜘蛛池模板: 中文字幕精品一区二区2021年| 国产亚洲精品无码专区| 亚洲日韩国产二区无码| 99在线观看精品免费99| 狠色狠色狠狠色综合久久| 好大灬好硬灬好爽灬| 免费看小12萝裸体视频国产| 一级做a爰片久久毛片图片| 精品福利一区二区三区免费视频| 成年人网站免费视频| 午夜片在线观看| 亚洲一区二区三区久久| 五月天亚洲色图| 最好看的2018中文字幕国语免费| 国产成在线观看免费视频 | 国内精品一区二区三区在线观看 | 国产精品美女流白浆视频| 亚洲欧美日韩人成| avav在线看| 日韩电影免费在线观看网址| 国产免费女女脚奴视频网| 中文字幕综合网| 精品一区二区三区四区五区六区| 天堂а√中文最新版地址| 亚洲精品欧美精品日韩精品| 3d白洁妇珍藏版漫画第一章| 欧洲一级毛片免费| 国产亚洲成在线播放va| 亚洲一级毛片在线播放| 麻豆AV一区二区三区久久| 日日碰狠狠添天天爽不卡| 再深点灬舒服灬太大了网站| 99久久精品美女高潮喷水| 欧美不卡视频在线观看| 国产亚洲精彩视频| 一二三高清区线路1| 欧美最猛黑人xxxx黑人猛交98| 国产福利片在线| 丽娟女王25部分| 特级欧美视频aaaaaa| 国产福利一区二区三区在线观看 |