พีชคณิตเชิงเส้นส่วนใดที่ใช้ในวิทยาศาสตร์คอมพิวเตอร์


15

ฉันได้อ่านLinear Algebra และแอปพลิเคชันของมันเพื่อช่วยให้เข้าใจเนื้อหาวิทยาศาสตร์คอมพิวเตอร์ (โดยส่วนใหญ่การเรียนรู้ของเครื่อง) แต่ฉันกังวลว่าข้อมูลจำนวนมากไม่ได้เป็นประโยชน์กับ CS ตัวอย่างเช่นการรู้วิธีแก้ปัญหาอย่างมีประสิทธิภาพของระบบสมการเชิงเส้นนั้นไม่ได้มีประโยชน์มากนักเว้นแต่ว่าคุณกำลังพยายามตั้งโปรแกรมแก้สมการใหม่ นอกจากนี้หนังสือเล่มนี้ได้พูดคุยกันมากมายเกี่ยวกับการขยายการพึ่งพาเชิงเส้นและความเป็นอิสระเมื่อเมทริกซ์มีค่าผกผันและความสัมพันธ์ระหว่างสิ่งเหล่านี้ แต่ฉันไม่สามารถนึกถึงแอปพลิเคชันนี้ใน CS ดังนั้นส่วนใดของพีชคณิตเชิงเส้นที่ใช้ใน CS


2
คุณกำลังขอผลประโยชน์ของคุณเองหรือคุณเป็นครูที่มองหากลยุทธ์ในการจูงใจนักเรียนของคุณหรือไม่?
Raphael

พีชคณิตเชิงเส้นมีประโยชน์ในหลาย ๆ ส่วนของคอมพิวเตอร์กราฟิกส์ (คุณสามารถค้นหาgoogling ข้อมูลที่เกี่ยวข้องจำนวนมาก )
Juho

การแก้ระบบสมการเชิงเส้นนั้นมีประโยชน์อย่างมากในสาขาวิทยาศาสตร์คอมพิวเตอร์ ตัวอย่างเช่น: en.m.wikipedia.org/wiki/Combinatorial_optimization
Ant P

1
เมทริกซ์ถูกใช้อย่างมากในการพัฒนาเกม, IE สำหรับการฉายภาพ, การหมุนและคณิตศาสตร์ quaternion
Paul

@ Paulpro คำถามสำหรับการใช้งานของพีชคณิตเชิงเส้น (ส่วนของงาน) ไม่ใช่เมทริกซ์ (ชุดของวัตถุ)
Raphael

คำตอบ:


11

ชิ้นส่วนที่คุณกล่าวถึงเป็นแนวคิดพื้นฐานของพีชคณิตเชิงเส้น คุณไม่สามารถเข้าใจแนวคิดขั้นสูง (พูด, ค่าลักษณะเฉพาะและ eigenvector) ก่อนที่จะเข้าใจแนวคิดพื้นฐาน ไม่มีทางลัดในวิชาคณิตศาสตร์ หากไม่มีความเข้าใจอย่างถ่องแท้เกี่ยวกับแนวคิดของการกระจายและความเป็นอิสระเชิงเส้นคุณจะไม่ได้ไปไกลในพีชคณิตเชิงเส้น

อัลกอริทึมบางตัวใช้งานได้กับเมทริกซ์อันดับเต็ม - คุณรู้ไหมว่านั่นหมายความว่าอย่างไร คุณรู้หรือไม่ว่าอะไรที่ทำให้เมทริกซ์ไม่อยู่ในอันดับเต็ม วิธีจัดการกับสิ่งนี้? คุณจะไม่มีเงื่อนงำถ้าคุณไม่รู้ว่าอิสระเชิงเส้นคืออะไร

อัลกอริทึมการกำจัดแบบเกาส์ที่ใช้ในการแก้สมการเชิงเส้นจริง ๆ แล้วอาจไม่เสถียรหากใช้ไม่ถูกต้องและนี่เป็นสิ่งที่คุณอาจต้องกังวลในบางกรณี หากไม่เข้าใจอัลกอริทึมคุณจะไม่ทราบว่าปัญหามาจากที่ใดและมีอะไรที่คุณสามารถทำได้เกี่ยวกับมัน - ไม่ได้อยู่ในระดับอัลกอริทึมสำหรับการแก้สมการเชิงเส้น แต่ในระดับที่มาพร้อมกับสมการเชิงเส้นที่ถูกต้อง

กล่าวโดยย่ออย่าเกียจคร้านและเชื่อในสิ่งเหล่านี้ว่ามีประโยชน์


5
"เอามันไปด้วยความเชื่อว่าสิ่งเหล่านี้มีประโยชน์" - เราทุกคนไม่รู้จักครูที่โหลดการบรรยายด้วยที่รักโดยไม่สนใจความมีประโยชน์โดยรวมหรือไม่? นักเรียนไม่สามารถบอกความแตกต่างได้ แต่พวกเขาไม่ควรเชื่อถืออย่างสุ่มสี่สุ่มห้า "ฉันต้องการสิ่งนี้เพื่ออะไร" เป็นคำถามที่ยุติธรรม แต่ "สำหรับการฝึกอบรมจิตใจของคุณ" ก็เป็นคำตอบที่ยุติธรรมเช่นกัน
Raphael

9
"อย่าขี้เกียจ" ตั้งค่าเสียงที่ไม่สร้างสรรค์ ฉันเคยสงสัยอยากรู้อยากเห็นมีส่วนร่วมและไม่ใช่นักเรียนขี้เกียจเลยถามคำถามนี้กับฉัน ฉันคิดว่านักเรียน CS มีจำนวนมากพบว่าคลาสพีชคณิตเชิงเส้นเป็นโลกที่แตกต่างจากสิ่งที่พวกเขาคิดว่าพวกเขาต้องการ ความสนใจของพวกเขาคือการคำนวณและการเขียนโปรแกรมและไม่จำเป็นต้องใช้คณิตศาสตร์ การต้องการหรือต้องการบริบทและแรงจูงใจไม่ใช่สัญญาณของความเกียจคร้าน อย่าทาสีกันอย่างนี้
Logan Mayfield

@ ราฟาเอล, โลแกนเมย์ฟีลด์, พวกคุณรู้ไหมว่าการเรียนรู้ของเครื่องเกี่ยวกับพีชคณิตเชิงเส้น? ถึงแม้จะมีความเฉพาะเจาะจงอยู่เล็กน้อย Yuval ก็ค่อนข้างตรงประเด็นในตัวอย่างที่เขาพูดถึง คำถามของ OP ไม่สามารถตอบได้อย่างเต็มที่ในอินเทอร์เน็ตโพสต์เดียว
musicliftsme

7

พีชคณิตเชิงเส้นบางครั้งมีประโยชน์และทรงพลังในอัลกอริธึมกราฟ ด้วยทฤษฎีบทเมทริกซ์ทรีคุณสามารถนับจำนวนต้นไม้ที่ทอดได้อย่างมีประสิทธิภาพที่กราฟมี (คุณต้องเข้าใจค่าลักษณะเฉพาะ) แอพพลิเคชั่นที่ท้าทายยิ่งขึ้นซึ่งคุณต้องการความเข้าใจพีชคณิตเชิงเส้นที่กระชับยิ่งขึ้นคืออัลกอริทึม FKTสำหรับการคำนวณจำนวนการจับคู่ที่สมบูรณ์แบบในกราฟระนาบในเวลาพหุนาม

มีตัวอย่างมากมายที่น่าตื่นเต้นมากของการใช้งานของพีชคณิตเชิงเส้นในเป็นทฤษฎีกราฟพีชคณิตและทฤษฎีกราฟสเปกตรัม อัลกอริทึมที่เกิดขึ้นไม่เพียง แต่สำหรับการนับปัญหาเช่นสองตัวอย่างที่ฉันให้ ตัวอย่างเช่นคุณยังสามารถตรวจสอบสำหรับการเชื่อมต่อหรือคำนวณขนาดเส้นผ่าศูนย์กลางของกราฟ


สิ่งหนึ่งที่สงสัยว่าทำไมคนเราถึงต้องการนับจำนวนต้นไม้ที่ทอดหรือเข้าคู่กันอย่างสมบูรณ์แบบ สิ่งนี้ดีสำหรับอะไร? คุณมีแอปพลิเคชันในโลกแห่งความเป็นจริงอยู่ในใจหรือไม่?
Yuval Filmus

@YuvalFilmus ฉันทำไม่ได้และอาจเป็นเรื่องยากที่จะคิดหาแอปพลิเคชั่นในการนับปัญหาที่ขึ้นต้นด้วย ฉันคิดว่าทั้งคู่มีความน่าสนใจเป็นส่วนใหญ่จากมุมมองทางทฤษฎีแม้ว่ารายการ wiki ของ FKTจะให้ประวัติศาสตร์และแรงบันดาลใจ อย่างไรก็ตามประเด็นหลักคือพีชคณิตเชิงเส้นมีประโยชน์สำหรับการพัฒนาอัลกอริธึมกราฟและมีแอปพลิเคชันในสาขาวิทยาศาสตร์คอมพิวเตอร์
Juho

6

หนึ่งในการใช้พีชคณิตเชิงเส้นที่เป็นที่รู้จักมากที่สุดคือในอัลกอริทึม Pagerankของ Google :

ค่า PageRank เป็นรายการของ eigenvector ซ้ายที่โดดเด่นของเมทริกซ์ adjacency ที่ปรับเปลี่ยน


3

เกือบทุกอย่างที่เกี่ยวข้องกับคอมพิวเตอร์กราฟิกส์, ภาพเคลื่อนไหว, การมองเห็นคอมพิวเตอร์, การประมวลผลภาพ, การคำนวณทางวิทยาศาสตร์หรือการจำลองปรากฏการณ์ทางกายภาพจะเกี่ยวข้องกับการใช้เวกเตอร์และเมทริกซ์ (พีชคณิตเชิงเส้น) อย่างกว้างขวางจากสิ่งง่าย ๆ สิ่งเหล่านี้เคยเป็นโดเมนของซูเปอร์คอมพิวเตอร์ แต่ตอนนี้สาขาเดียวกันนี้เป็นแกนหลักของแอพที่ยอดเยี่ยมที่สุดบนเดสก์ท็อปโทรศัพท์และทุกที่อื่น ๆ ตั้งแต่วิดีโอเกมไปจนถึงการถ่ายภาพด้วยคอมพิวเตอร์ พีชคณิตเชิงเส้นมีอยู่ทุกที่


2

มีอัลกอริทึมพีชคณิตเชิงเมทริกซ์และเทคนิคที่มีอยู่มากมาย และนั่นก็ยอดเยี่ยม การวิเคราะห์องค์ประกอบหลักเป็นตัวอย่างของพีชคณิตเชิงเส้นที่ใช้ประโยชน์ได้บ้าง สิ่งเดียวกันนี้สามารถพูดได้เกี่ยวกับการวิเคราะห์ฟูริเยร์ซึ่งมีรากฐานมาจาก orthogonality และผลิตภัณฑ์ชั้นใน ดังนั้นจึงมีแอปพลิเคชันโดยตรง

แต่ที่สำคัญกว่านั้นคือการเรียนพีชคณิตเชิงเส้นนั้นมีค่าเพราะมันสอนให้คุณคิดในทางที่แน่นอน คลาสพีชคณิตเชิงเส้นที่ดีส่วนใหญ่ให้ความสำคัญกับการวางนัยทั่วไปตรรกะและการพิสูจน์ โดยทั่วไปแล้วเป็นเรื่องจริงหรือเฉพาะบางกรณีเท่านั้น? คุณมั่นใจได้อย่างไร? ความสามารถในการคิดเกี่ยวกับวิธีการพิสูจน์สมมติฐานของคุณเป็นสิ่งที่ดีเพราะมันช่วยให้คุณป้องกันตัวเองจากการตั้งสมมติฐานที่ไม่ดีและการเขียนโค้ดที่ไม่ได้พูดถึงเรื่องทั่วไปในแบบที่คุณคิดเอาไว้ นอกจากนี้ยังช่วยให้คุณคิดเกี่ยวกับวิธีพูดคุยเรื่องทั่วไปซึ่งอาจยากที่จะพูดคุยทั่วไปและให้คุณแก้ปัญหาที่ใหญ่กว่า

โดยสรุปคุณควรระลึกไว้ว่าพีชคณิตเชิงเส้นนั้นดีเพราะมันเป็นการยกน้ำหนักสำหรับส่วนของสมองที่มีประโยชน์ในด้านวิทยาศาสตร์คอมพิวเตอร์


0

การแก้ระบบสมการเชิงเส้น (ซึ่งสามารถทำได้ด้วยวิธีกำจัดแบบเกาส์เซียน), การโปรแกรมเชิงเส้น (ซึ่งสามารถแก้ไขได้ด้วยวิธีซิมเพล็กซ์), กำลังสองน้อยที่สุดและการตรวจจับที่ถูกบีบอัด (ดูบทความ Wikipedia) พื้นที่ใช้งาน พีชคณิตเชิงเส้นช่วยในการพัฒนาอัลกอริทึมที่ถูกต้องและมีประสิทธิภาพสำหรับปัญหาเหล่านี้

ดูข้อความ [Cormen, Leiserson, Rivest and Stein "รู้เบื้องต้นเกี่ยวกับอัลกอริทึมรุ่นที่สาม"] ซึ่งบทที่ 28 เกี่ยวกับการทำงานของเมทริกซ์และบทที่ 29 อยู่ในการโปรแกรมเชิงเส้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.