1. การวิเคราะห์พฤติกรรม AI-Pacman : ใน Project Pacman 1 เจ้าหน้าที่ Pacman จะค้นหาเส้นทางจากเขาวงกตเพื่อไปถึงจุดหมายปลายทางและรวบรวมอาหารอย่างมีประสิทธิภาพ อัลกอริธึมการค้นหาทั่วไปถูกนำมาใช้เพื่อตอบสนองสถานการณ์ Pacman ประเภทต่างๆ เราใช้เกมนี้เป็นแบบจำลองในการทำความเข้าใจวิธีการทำงานของอัลกอริธึมการค้นหาที่แตกต่างกัน ในการมอบหมายนี้ เจ้าหน้าที่ Pacman จะค้นหาเส้นทางผ่านโลกเขาวงกตของเขา ทั้งเพื่อไปถึงสถานที่เฉพาะและรวบรวมอาหารอย่างมีประสิทธิภาพ... ใช้งานการมอบหมายนี้ใน python3
2. กลไก Bit-Torrent : โปรแกรมจะดาวน์โหลดไฟล์ส่วนต่างๆ ทั้งหมดจากเพื่อนที่แตกต่างกัน รวมเข้าด้วยกันและบันทึกไฟล์ลงในไดเร็กทอรีแล็ปท็อป/ในเครื่องของเรา จุดประสงค์ของงานนี้คือการทำความเข้าใจกลไกของ BitTorrent BitTorrent ได้รับไฟล์ทอร์เรนต์ที่มีรายชื่อเพียร์ที่โฮสต์ไฟล์นั้น และดาวน์โหลดไฟล์ส่วนต่างๆ จากเพียร์ต่างๆ ซอฟต์แวร์ที่ใช้ในที่นี้คือสภาพแวดล้อม python3 และ linux
3. Client-server-Networks : เซิร์ฟเวอร์รับฟังพอร์ต โปรแกรมเซิร์ฟเวอร์รันโดยมีหมายเลขพอร์ตเป็นอินพุต และไคลเอนต์ทำการเชื่อมต่อ TCP และเซิร์ฟเวอร์ส่งไฟล์ไปยังไคลเอนต์ นอกเหนือจากทำหน้าที่เป็นเซิร์ฟเวอร์ เซิร์ฟเวอร์ ยังสามารถทำหน้าที่เสมือนตัวแทนได้ ทั้งโปรแกรมไคลเอนต์และเซิร์ฟเวอร์ถูกนำไปใช้ใน python3 และใช้การเขียนโปรแกรมซ็อกเก็ต มัลติเธรดเพื่อรองรับการเชื่อมต่อพร้อมกันในเซิร์ฟเวอร์
4. ระบบการจัดการสายการบินจำลอง ต้นแบบ :ในโครงการนี้เราได้พัฒนาระบบการจัดการสายการบินจำลอง ซึ่งจัดเก็บและดึงข้อมูลที่เกี่ยวข้องกับสนามบิน สายการบิน และเที่ยวบิน โดยพื้นฐานแล้วแรงจูงใจเบื้องหลังในการเลือกแนวคิดนี้คือการพัฒนาระบบที่ ดึงดูดสายตาและใช้งานง่าย มีผู้ใช้สองประเภทในระบบนี้: 1) ลูกค้า และ 2) หน้าผู้ดูแลระบบและผู้ดูแลระบบได้ให้สิทธิ์ในการเข้าถึงเพื่อแก้ไขเที่ยวบินใหม่ เป็นต้น แหล่งข้อมูลหลักที่เราใช้ในโครงการนี้คือชุดข้อมูลเที่ยวบินปี 2015 เท่านั้น ซึ่งสามารถพบได้ใน ซอฟต์แวร์ kaggle ที่ใช้ในโปรเจ็กต์นี้คือ MY SQL workbench สำหรับการสืบค้น กรอบงานเว็บ Python ที่ให้เครื่องมือและคุณสมบัติที่เป็นประโยชน์ที่สร้างแอปพลิเคชันเว็บและ html สำหรับหน้าเว็บส่วนหน้า
5. การประมาณความหนาแน่นของการจราจร-opencv : หลักๆ ในโค้ดนี้มีสองส่วน: สิ่งพื้นฐานที่เราต้องมีในการตรวจสอบการจราจรคือฟีดกล้องที่วางอยู่บนถนนจริง แต่เราไม่สามารถรับประกันได้ว่ามันจะอยู่ในตำแหน่งที่ดีเช่นถนนนั้น ที่จะรับชมอยู่ในสี่เหลี่ยมผืนผ้าที่สมบูรณ์แบบและกล้องจะได้รับมุมมองด้านบน อาจมีสิ่งอื่น ๆ มากมายในภาพที่ต้องกำจัดออกเพื่อให้อัลกอริทึมทำงานได้อย่างมีประสิทธิภาพ opencv ทำงานได้ดีที่สุดสำหรับกรอบสี่เหลี่ยม ดังนั้นสำหรับงานต่างๆ เช่น การประมาณความหนาแน่นของการจราจร การแก้ไขมุมกล้องในซอฟต์แวร์ก่อนจึงเป็นสิ่งสำคัญ และครอบตัดรูปภาพเพื่อกำจัดรายการพิเศษ หนึ่งในพื้นที่เก็บข้อมูลประกอบด้วยการแก้ไขมุมกล้องและโค้ดการครอบตัดเฟรม
งานย่อย 2 : รูปภาพที่แยกมาจากวิดีโอซึ่งใช้พื้นหลัง ในส่วนต่อไป ได้ทำการวิเคราะห์การแลกเปลี่ยนรันไทม์ของยูทิลิตีแล้ว
6. โครงการ Cloud Computing : อธิบายง่ายๆ : โครงการนี้เกี่ยวกับการสร้างเครื่องมือที่ช่วยผู้ที่ใช้เครื่องเสมือน เครื่องเสมือนเป็นเหมือนคอมพิวเตอร์ที่ทำงานภายในคอมพิวเตอร์เครื่องอื่น สิ่งเหล่านี้มีประโยชน์เนื่องจากทำให้ผู้คนใช้ระบบปฏิบัติการหรือซอฟต์แวร์ที่แตกต่างกันได้โดยไม่จำเป็นต้องใช้คอมพิวเตอร์แยกกันสำหรับแต่ละคน
เครื่องมือที่เราสร้างขึ้นเรียกว่า Snapshotting API มันเหมือนกับกล้องที่ถ่ายภาพเครื่องเสมือน ณ จุดใดจุดหนึ่ง ภาพนี้เรียกว่าสแน็ปช็อต สแนปชอตมีประโยชน์เนื่องจากให้ผู้คนบันทึกสถานะของเครื่องเสมือนและกลับมาดูในภายหลัง ตัวอย่างเช่น หากมีคนทำงานในโปรเจ็กต์ในเครื่องเสมือนและต้องการหยุดพัก พวกเขาสามารถถ่ายภาพสแน็ปช็อตและกลับมาดูในภายหลังได้โดยไม่สูญเสียความคืบหน้าใดๆ
เราใช้ภาษาการเขียนโปรแกรมที่เรียกว่า Rust เพื่อสร้าง snapshotting API Rust เป็นภาษาที่ดีสำหรับโปรเจ็กต์ประเภทนี้เพราะปลอดภัยและรวดเร็ว ซึ่งหมายความว่า API มีแนวโน้มที่จะมีจุดบกพร่องหรือปัญหาด้านความปลอดภัยน้อยลง และทำงานได้อย่างรวดเร็ว
เราแบ่งโครงการออกเป็นห้าขั้นตอนหลัก ขั้นตอนแรกคือการสร้างเครื่องเสมือนพื้นฐานที่เราสามารถใช้ทดสอบได้ ขั้นตอนที่สองเป็นเรื่องเกี่ยวกับการเพิ่มคุณสมบัติที่ช่วยให้ผู้ใช้สามารถหยุดเครื่องเสมือนชั่วคราวและดำเนินการต่อได้ ขั้นตอนที่สามเป็นเรื่องเกี่ยวกับการสร้าง Snapshotting API ให้เป็นโปรแกรมที่เล็กลงและมีประสิทธิภาพมากขึ้น ขั้นตอนที่สี่เป็นเรื่องเกี่ยวกับการสร้างเว็บเซิร์ฟเวอร์ที่สามารถเรียกใช้เครื่องเสมือนหลายเครื่องได้ในคราวเดียว ขั้นตอนสุดท้ายคือการทำให้ API การสแน็ปช็อตมีประสิทธิภาพมากขึ้นโดยใช้เทคนิคที่เรียกว่าการขจัดข้อมูลซ้ำซ้อน ซึ่งหมายความว่าหากสแน็ปช็อตสองภาพคล้ายกันมาก เราจำเป็นต้องบันทึกเฉพาะส่วนที่ต่างกันเท่านั้น
API สแน็ปช็อตที่เราสร้างขึ้นถูกใช้โดยส่วนต่างๆ ของโปรเจ็กต์ ตัวอย่างเช่น โหลดบาลานเซอร์ใช้เพื่อย้ายเครื่องเสมือนไปรอบๆ ส่วนหน้าใช้เพื่อสร้างเครื่องเสมือนใหม่จากอิมเมจพื้นฐาน และระบบป้องกันการโกงใช้มันเพื่อตรวจสอบว่าใครกำลังใช้เครื่องเสมือนอยู่
โดยรวมแล้วโครงการนี้ประสบความสำเร็จ เราบรรลุเป้าหมายทั้งหมดก่อนถึงเส้นตาย และเราได้สร้าง API สแน็ปช็อตที่ปลอดภัย รวดเร็ว และมีประสิทธิภาพ สำหรับข้อมูลเพิ่มเติม โปรดดูที่พื้นที่เก็บข้อมูล