ICT 每周速報(Week 41, 2021)


Willis WAN, Chun Yu

Posted 16 October 2021

Algorithm 算法

Binary Search 對分檢索

Bubble Sort 冒泡排序

Business Understanding 商業理解

Data Cleansing 數據清洗

Data Mining 數據開採

Data Preparation 數據準備

Data Scientist 數據科學家

Data Understanding 數據理解

Deployment 投放

Evaluation 模型評估

Flash Memory 快閃記憶體

HKDSE ICT

Hard Disk 硬碟

ICT

Insertion Sort 插入排序

Knowledge Discovery 知識發現

Linear Search 線性檢索

Magnetic Tape 磁帶

Merge Sort 合併排序

Modelling 模型製作

Platter 磁盤

Quick Sort 快速排序

Secondary Storage 輔助貯存

Solid State Drive 固態硬碟

🖊 本周重點

🗞 News 1: 石墨烯硬碟:同樣 Size 十倍容量

研究員示範以石墨烯(Graphene)作為硬碟嘅磁盤(Platter)物料。以往嘅磁盤使用碳為基礎嘅物料(Carbon-based Overcoat)製造,但係呢啲物料並唔耐熱,而且有一定嘅厚度,限制咗可以放係同一隻硬碟入面嘅磁盤數量。

石墨烯解決咗耐熱同厚度嘅問題,令到硬碟嘅密度提升,從而使硬碟嘅容量增加 4 至 10 倍。

ICT 重點

講親輔助貯存設備(Secondary Storage Devices),主要都係問快閃記億體(Flash Memory)、硬碟(Hard Disk;HDD)或者固態硬碟(Solid State Drive;SSD)呢三點。尤其係近三年都考得幾多 HDD 同 SSD 之間嘅 Comparison。

既然 SSD 嘅數據傳送速度比 HDD 高咁多,點解 HDD 無被淘汰,仲有咁多桌上電腦使用?主要原因係價錢到:用同樣嘅價錢,買到嘅 HDD 嘅容量比 SSD 大好多。依家嘅 HDD 主要靠住容量嘅優勢,依然保有桌上電腦嘅一席之位。但係如果 SSD 係容量方面有任何突破,SSD 就隨時可以係 Secondary Storage 入面坐大。

但係今次 Propose 嘅石墨烯硬碟,令到 HDD 係容量方面增加 10 倍。如果真係可以推出市面作商用或民用嘅話,睇嚟 SSD 都好難追得上。甚至石墨烯硬碟有機會取代到磁帶(Magnetic Tape)成為備份嘅主要媒介。

相關課題

新聞來源/詳細閱讀

🔖 News 2: 算法視覺化:一個幫你學算法嘅網站

Not a news itself, but 我搵到一個幫選修單元 D 同學仔去學一啲算法嘅網站!(目測 8 成學生會直接飛咗呢 Part 佢 ☹)

同學仔可以去 https://algorithm-visualizer.org 睇,左手邊有一排嘅 Algorithm 俾同學仔揀,然後係右上角有個 Play 嘅制,㩒落去就會睇到啲靚靚嘅 Algorithm 自己 Run 架啦!

ICT 重點

想特別同 Elective D 嘅同學仔講下你哋要識邊啲 Algorithm:

// import visualization libraries {
const { Tracer, Array1DTracer, ChartTracer, LogTracer, Randomize, Layout, VerticalLayout } = require('algorithm-visualizer');
// }

// define tracer variables {
const chart = new ChartTracer();
const tracer = new Array1DTracer();
const logger = new LogTracer();
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
const D = Randomize.Array1D({ N: 15, value: () => Randomize.Integer({ min: 0, max: 50 }), sorted: false });
tracer.set(D);
tracer.chart(chart);
Tracer.delay();
// }

function LinearSearch(array, element) {
  
  for (let i = 0; i < array.length; i++) {
      // visualise {
      tracer.select(i);
      Tracer.delay();
      tracer.patch(i);
      logger.println(`Searching at index: ${i}`);
      Tracer.delay();
      tracer.depatch(i);
      tracer.deselect(i);
      // }
      
      if (array[i] == element) {
        // logger {
        logger.println(`${element} is found at position ${i}!`);
        tracer.select(i);
        // }
        return i;
      }
  }

  // logger {
  logger.println(`${element} is not found!`);
  // }
  return -1;
}

const element = D[Randomize.Integer({ min: 0, max: D.length - 1 })];

// logger {
logger.println(`Using linear search to find ${element}`);
// }
LinearSearch(D, element);

相關課題

新聞來源/詳細閱讀

📱 News 3: 淺談數據開採

係之前嘅文章,Willis 講過下大數據 Big Data 呢個 Term。大數據至所以受企業擁戴,係因為企業可以透過啲數據去學習用戶嘅習慣,從而作出商業決定。從數據入面提取知識,呢項工作稱為「數據開採 Data Mining」,亦都稱為「知識發現 Knowledge Discovery」。負責進行 Data Mining 嘅數據科學家(Data Scientist)被《哈佛商業評論》喻為「21 世紀最性感嘅工作」。

今日,Willis 搵到篇文章,同同學仔一齊睇下 Data Mining 呢項工作實際係做啲咩。

ICT 重點

The Only Constant is Change.

一間公司或者企業必須時刻了解商業環境有乜嘢改變,先至唔會比競爭對手淘汰。 數據開採嘅一個重要目的,就係要幫助公司了解佢自己嘅環境(包括客戶同同行)有乜嘢趨勢,從而作出商業決定。數據開採就係透過數據清洗(Data Cleansing)、建構統計模型、模型評估等方法,提取數據中嘅知識。

通常,如果一間公司想進行數據開採嘅 Project 嘅話,佢哋會進行 6 個步驟:

  1. 商業理解 Business Understanding:呢個階段主要係確定項目嘅範圍、目的同要求。
  2. 數據理解 Data Understanding:理解下啲數據代表緊啲乜。例如可能係買咗邊件貨?買咗幾多件?每件幾多錢?乜嘢貨幣單位?
  3. 數據準備 Data Preparation:通常係最耐嘅部分,負責揀需要嘅 Dataset、做數據清洗(因為收集翻嚟嘅 Data 未必靚靚仔仔齊齊正正)、將啲數據進行轉換(為方便模型去學)
  4. 模型製作 Modeling:按照項目嘅要求選擇一個模型。
  5. 模型評估 Evaluation:將數據擺落個模型之後,睇下個模型嘅 Performance 好唔好。如果唔好嘅話,就會翻去 3 或者 4 再做過。
  6. 投放 Deployment:將 Performance 好嘅模型攞出去用。

相關課題

新聞來源/詳細閱讀

問題回顧

  1. 點解桌上電腦依然使用 HDD,而不全部改用 SSD?
  2. 選修單元 D 嘅同學要識邊 6 個檢索/排序算法?
  3. 數據開採有乜嘢價值?

鐘意篇文嘅話,麻煩係下面個 IG Post 上面俾個 Like ❤️ 感謝感謝

更多內容

About the Author

Willis WAN, Chun Yu

A graduate in BBA(Information Systems) of HKUST. Tech Enthusiast, Teacher, Learner.

Copyright © 2021 All Rights Reserved