คำถามติดแท็ก optimization

คำถามทั่วไปเกี่ยวกับการเลือกองค์ประกอบที่ดีที่สุดจากชุดตัวเลือกที่มี

1
สถานะของศิลปะในทฤษฎีอัลกอริทึมแคชคืออะไร
เมื่อเร็ว ๆ นี้ฉันเริ่มสนใจปัญหาทั่วไปของการเพิ่มประสิทธิภาพการใช้หน่วยความจำในสถานการณ์ที่มีหน่วยความจำมากกว่าหนึ่งประเภทและมีการแลกเปลี่ยนระหว่างความจุของเซ็กเมนต์หน่วยความจำที่กำหนดและความเร็วในการเข้าถึง ตัวอย่างที่คุ้นเคยคือโปรแกรมที่ตัดสินใจเมื่อจะอ่าน / เขียนไปยังแคชตัวประมวลผล RAM และฮาร์ดไดรฟ์ (ผ่านหน่วยความจำเสมือน) ฉันสนใจเป็นพิเศษในกรณีพิเศษที่ปริมาณข้อมูล (รวมถึงตัวโปรแกรมเอง) ที่จำเป็นต้องโหลดเกินความจุของพื้นที่เก็บข้อมูลที่เร็วที่สุดที่มีอยู่อย่างมีนัยสำคัญ (เช่นโซลูชันเล็กน้อยของ ฉันพบว่าหน้าวิกิพีเดียอธิบายอัลกอริทึมแคชทั่วไปซึ่งเกือบจะเป็นสิ่งที่ฉันต้องการ น่าเสียดายที่สิ่งเหล่านี้ค่อนข้างต่ำ: หลายอย่างเช่น LRU หรือ MRU จะใช้งานได้ก็ต่อเมื่อคุณมีรูทีนย่อยที่เข้าถึงหลายครั้ง หากฉันมีโปรแกรมที่มีรูทีนย่อยจำนวนมากบางโปรแกรมไม่เคยเข้าถึงในการทำงานที่กำหนดและบางโปรแกรมสามารถเข้าถึงได้หนึ่งหรือสองครั้งกลยุทธ์นี้จะไม่ทำงานเพราะมันไม่สามารถสร้างข้อมูลที่เพียงพอ ที่ใช้กันทั่วไปและสิ่งที่ไม่ คนอื่น ๆ เช่น CLOCK ดูเหมือนจะจัดการกับลักษณะเฉพาะของการนำไปปฏิบัติแทนที่จะโจมตีรากของปัญหา ฉันรู้ว่ามีกลยุทธ์ที่หนึ่งโปรไฟล์แรกโปรแกรมในระหว่างการทดสอบการทำงานแล้วให้โปรไฟล์สำหรับระบบปฏิบัติการเพื่อเพิ่มประสิทธิภาพตาม อย่างไรก็ตามเรายังต้องแก้ปัญหาในการให้ตัวแทน "การใช้งานตัวอย่าง" อย่างแท้จริงในขณะที่สร้างโปรไฟล์ สิ่งที่ฉันต้องการเรียนรู้เกี่ยวกับเรื่องนี้คือ: เมื่อเราสรุปความรู้ทางเทคนิคทั้งหมดของฮาร์ดแวร์และซอฟต์แวร์และพูดในบริบททางทฤษฎีล้วนๆเป็นไปได้ที่จะวิเคราะห์โครงสร้างของอัลกอริทึมเพื่อหากลยุทธ์แคชที่มีประสิทธิภาพสำหรับ มันขึ้นอยู่กับความเข้าใจในระดับสูงว่าอัลกอริทึมกำลังทำอะไรอยู่?

2
0-1 การเขียนโปรแกรมเชิงเส้น: การคำนวณสูตรที่เหมาะสมที่สุด
พิจารณามิติ{ 0 , 1 } nและให้cเป็นข้อ จำกัด เชิงเส้นของรูปแบบ1 x 1 + 2 x 2 + 3 x 3 + . . + n - 1 x n - 1 + n x n ≥ kที่ฉัน ∈ R , x ฉัน ∈nnn{0,1}n{0,1}n\{0,1\}^nccca1x1+a2x2+a3x3+ ... +an−1xn−1+anxn≥ka1x1+a2x2+a3x3+ ... +an−1xn−1+anxn≥ka_1x_1 + a_2x_2 + a_3x_3 +\ …

1
การรวมศูนย์เป็นศูนย์หมายความว่าศูนย์คู่มีช่องว่างสำหรับปัญหาบางอย่างหรือไม่?
เรารู้ว่าหากช่องว่างระหว่างค่าของโปรแกรมเลขจำนวนเต็มและคู่ ("ช่องว่างคู่") เป็นศูนย์ดังนั้นการเขียนโปรแกรมเชิงเส้นของโปรแกรมจำนวนเต็มและการผ่อนคลายแบบคู่ทั้งคู่ยอมรับวิธีแก้ปัญหาแบบอินทิกรัล ช่องว่าง ") ฉันต้องการที่จะทราบว่าการสนทนาถืออย่างน้อยในบางกรณี สมมติว่าฉันมีโปรแกรมจำนวนเต็ม 0-1โดยที่เมทริกซ์เป็นเมทริกซ์สมมติว่าการโปรแกรมเชิงเส้นผ่อนคลายของมีวิธีแก้ปัญหาที่เหมาะสมที่สุด การโปรแกรมเชิงเส้นคู่ของยังยอมรับการแก้ปัญหาที่สำคัญหรือไม่?P:max{1Tx:Ax≤1,x∈{0,1}n}P:max{1Tx:Ax≤1,x∈{0,1}n}P: \max\{1^Tx: Ax \leq 1, x\in \{0,1\}^n\}AAA0−10−10-1P′P′P'PPPP′P′P' ฉันขอขอบคุณตัวอย่างเคาน์เตอร์หรือพอยน์เตอร์ใด ๆ ..

2
ความซับซ้อนของการเพิ่มประสิทธิภาพมากกว่ากลุ่มรวม
ความซับซ้อนในการคำนวณของการเพิ่มประสิทธิภาพฟังก์ชั่นต่าง ๆ มากกว่ากลุ่มคืออะไร?ยู( n )U(n)\mathcal{U}(n) งานทั่วไปที่เกิดขึ้นบ่อยครั้งในทฤษฎีข้อมูลควอนตัมจะเป็นการเพิ่มปริมาณของประเภท (หรือชื่อพหุนามคำสั่งสูงกว่าใน ) มากกว่าเมทริกซ์ทั้งหมด การเพิ่มประสิทธิภาพประเภทนี้สามารถคำนวณได้อย่างมีประสิทธิภาพ (อาจประมาณ) หรือ NP-hard หรือไม่ (อาจเป็นที่รู้จักกันดี แต่ฉันไม่พบข้อมูลอ้างอิงทั่วไป) U UT r AUB U†TrAUBU†\mathrm{Tr}AUBU^{\dagger}ยูUUยูUU

4
การศึกษาเชิงทฤษฎีของวิธีการโคตรพิกัด
ฉันกำลังเตรียมเนื้อหาหลักสูตรเกี่ยวกับการวิเคราะห์พฤติกรรมเพื่อการเพิ่มประสิทธิภาพและได้รับการดูวิธีการประสานงานการสืบเชื้อสาย การตั้งค่าอยู่ที่นี่คือฟังก์ชันหลายตัวแปรที่คุณต้องการปรับให้เหมาะสม fมีคุณสมบัติที่ จำกัด ไว้ที่ตัวแปรเดี่ยวใด ๆ มันเป็นเรื่องง่ายที่จะเพิ่มประสิทธิภาพ ดังนั้นประสานงานโคตรรายได้โดยการขี่จักรยานผ่านพิกัดแก้ไขทั้งหมดยกเว้นหนึ่งที่เลือกและลดลงตามพิกัดนั้น ในที่สุดการปรับปรุงก็หยุดชะงักและคุณก็ยุติffffff คำถามของฉันคือ: มีการศึกษาเชิงทฤษฎีเกี่ยวกับวิธีการสืบเชื้อสายมาจากพิกัดที่พูดถึงอัตราการลู่เข้าและคุณสมบัติของที่ทำให้วิธีนี้ทำงานได้ดีหรือไม่? เห็นได้ชัดว่าฉันไม่ได้คาดหวังคำตอบทั่วไปอย่างสมบูรณ์ แต่คำตอบที่ให้ความกระจ่างกรณีที่การแก้ปัญหาไม่ดีจะเป็นประโยชน์fff Aside: เทคนิคการปรับให้เหมาะสมแบบสลับใช้สำหรับ means สามารถถูกมองว่าเป็นตัวอย่างของการประสานงานที่สืบทอดกันมาและอัลกอริทึมของ Frank-Wolfeดูจะเกี่ยวข้องกัน (แต่ไม่ใช่ตัวอย่างโดยตรงของกรอบงาน)kkk

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

1
ประการที่สองมีขนาดเล็กที่สุด
มีใครรู้บ้างเกี่ยวกับ - t -cut ที่เล็กที่สุดเป็นอันดับสองในเครือข่าย flow หรือไม่? หรือโดยทั่วไปเกี่ยวกับปัญหานี้:sssttt อินพุต: เครือข่ายและ a จำนวนkทั้งหมดเป็นแบบไบนารี เอาท์พุท: เป็นk TH เล็กที่สุดs - เสื้อตัดNNNkkkkkksssttt TH เล็กที่สุดs - เสื้อตัด( S , T )ใด ๆs - เสื้อตัดดังกล่าวว่ามีตรงk - 1 s - เสื้อตัดที่มีขีดความสามารถkkksssttt(S,T)(S,T)(S,T)ssstttk−1k−1k-1 sssttt มีขนาดต่างกันและ มีขนาดเล็กกว่าความจุของจริงอย่างแท้จริง(S,T)(S,T)(S,T) ผมอยากจะรู้ว่ามันสามารถคำนวณได้และไม่ว่านี้สามารถทำได้อย่างมีประสิทธิภาพเช่นเดียวกับกรณีที่ 1k=1k=1k=1

2
ความแม่นยำเชิงตัวเลขในวิธีผลรวมของกำลังสอง?
ผมได้อ่านเกี่ยวกับบิต sum-of-สี่เหลี่ยมวิธี (SOS) จากการสำรวจของ Barak & STEURERและเอกสารประกอบการบรรยายของ Barak ในทั้งสองกรณีพวกเขากวาดประเด็นเรื่องความแม่นยำของตัวเลขใต้พรม จากความเข้าใจของฉัน (มี จำกัด ) วิธีการดังต่อไปนี้ควรเป็นจริง: ให้ระบบใด ๆ ของความเท่าเทียมกันของพหุนามมากกว่าตัวแปรมูลค่าจริงโดยที่พารามิเตอร์ทั้งหมดคือ ( ,และระดับของข้อ จำกัด แต่ละระดับ), องศา - " "( ) SOS วิธีพบว่าการกำหนดความพึงพอใจของตัวแปรหรือพิสูจน์ไม่มีอยู่ในเวลา x ∈ R n O ( 1 ) n | E | 2 n = O ( 1 ) O ( 1 …

1
อัลกอริทึมที่แน่นอนสำหรับการเขียนโปรแกรมสมการกำลังสองไม่ใช่แบบนูน
คำถามนี้เกี่ยวกับปัญหาการเขียนโปรแกรมสมการกำลังสองที่มีข้อ จำกัด ของกล่อง (box-QP) เช่นปัญหาการเพิ่มประสิทธิภาพของแบบฟอร์ม ย่อขนาดภายใต้ .x ∈ [ 0 , 1 ] nฉ( x ) = xTA x + cTxf(x)=xTAx+cTxf(\mathbf{x}) = \mathbf{x}^T A \mathbf{x} + \mathbf{c}^T \mathbf{x}x ∈[0,1 ]nx∈[0,1]n\mathbf{x} \in [0,1]^n ถ้าเป็นแบบกึ่งบวกแน่นอนทุกอย่างจะดีและนูนและง่ายและเราสามารถแก้ปัญหาได้ในเวลาพหุนามAAA ในทางกลับกันถ้าเรามีข้อ จำกัด ของการรวมเราสามารถแก้ปัญหาได้อย่างง่ายดายในเวลาด้วยกำลังดุร้าย สำหรับวัตถุประสงค์ของคำถามนี้มีความรวดเร็วพอสมควร O ( 2 n ⋅ p o l y ( n ) )x …

3
การใช้วิธีการแยกสาขาและขอบเขตสำหรับปัญหา NP-hard ที่ประสบความสำเร็จ
Branch and bound เป็น heuristic ที่มีประสิทธิภาพสำหรับปัญหาการค้นหาและWikipedia แสดงจำนวนของปัญหาที่ยากลำบากที่มีการใช้ branch-and-bound อย่างไรก็ตามฉันไม่สามารถค้นหาข้อมูลอ้างอิงเพื่อแนะนำว่าเป็นมากกว่า "วิธีการหนึ่ง" ในการแก้ปัญหาเหล่านี้ โดยทั่วไปฉันได้ยินมาว่าฮิวริสติกที่ดีที่สุดสำหรับ SAT และการเขียนโปรแกรมจำนวนเต็มมาจากสาขาและขอบเขตดังนั้นคำถามของฉันคือ: ใครบางคนสามารถชี้ให้ฉันดูการอ้างอิงที่มีรายละเอียดเกี่ยวกับการใช้งานที่มีประสิทธิภาพของสาขาและถูกผูกมัดสำหรับปัญหา NP-hard

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

4
จัดเรียงข้อมูลใหม่ (ชุดสตริง) เพื่อปรับให้เหมาะสมสำหรับการบีบอัด?
มีอัลกอริทึมใด ๆ ในการจัดเรียงข้อมูลใหม่เพื่อปรับการบีบอัดให้เหมาะสมหรือไม่? ฉันเข้าใจว่านี่เป็นข้อมูลเฉพาะและอัลกอริทึมการบีบอัด แต่มีคำสำหรับหัวข้อนี้หรือไม่ ฉันจะหางานวิจัยในพื้นที่นี้ได้ที่ไหน โดยเฉพาะฉันมีรายชื่อ json 1.5 ล้านสตริงและฉันต้องการเรียงลำดับสตริงใหม่เพื่อให้การบีบอัด gzip (สำหรับ HTTP) ได้รับการปรับปรุง การเรียงลำดับสตริงทำได้ค่อนข้างดี แต่ฉันไม่รู้จริงๆว่าเหมาะสมหรือไม่

2
ปัญหาชุดฝาครอบชุดนี้เรียกว่าอะไร
การป้อนข้อมูลเป็นจักรวาลUUUและครอบครัวของส่วนย่อยของUUU , พูดF⊆2UF⊆2U{\cal F} \subseteq 2^U U เราคิดว่าส่วนย่อยในFF{\cal F}สามารถครอบคลุมUUUคือ⋃E∈FE=U⋃E∈FE=U\bigcup_{E\in {\cal F}}E=U U ลำดับครอบคลุมเพิ่มขึ้นเป็นลำดับของส่วนย่อยในFF{\cal F}พูด= { E 1 , E 2 , ... , E | A | }ที่น่าพอใจA={E1,E2,…,E|A|}A={E1,E2,…,E|A|}{\cal A}=\{E_1,E_2,\ldots,E_{|{\cal A}|}\} 1) ∀E∈A,E∈F∀E∈A,E∈F\forall E\in {\cal A}, E\in {\cal F} , ∀i>1∀i>1\forall i>1⋃i−1j=1Ei⊊⋃ij=1Ei⋃j=1i−1Ei⊊⋃j=1iEi\bigcup_{j=1}^{i-1}E_i \subsetneq \bigcup_{j=1}^{i}E_i ปัญหาคือการหาลำดับการครอบคลุมที่เพิ่มขึ้นของความยาวสูงสุด (นั่นคือสูงสุด ) โปรดทราบว่าลำดับความยาวสูงสุดในที่สุดก็จะต้องครอบคลุมคือ Uคุณ⋃ E ∈ …

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

2
คำตอบสูงสุดของ LPs ขั้นต่ำ
แน่นอนว่าการเขียนโปรแกรมเชิงเส้นเป็นที่เข้าใจกันในปัจจุบัน เรามีงานจำนวนมากที่แสดงถึงโครงสร้างของโซลูชันที่เป็นไปได้และโครงสร้างของโซลูชันที่ดีที่สุด เรามีความเป็นคู่ที่แข็งแกร่งอัลกอริทึมโพลีเวลา ฯลฯ แต่สิ่งที่เป็นที่รู้จักเกี่ยวกับการแก้ปัญหาสูงสุดขั้นต่ำของ LPs? หรือเท่ากับวิธีแก้ปัญหาขั้นต่ำขั้นสูงสุด (นี่ไม่ใช่คำถามการวิจัยจริง ๆ แต่บางทีเราอาจมีบางอย่างทางเทคนิคน้อยกว่าสำหรับวันหยุดฉันแค่อยากรู้อยากเห็นและหลังจาก googling บางฉันได้รับความรู้สึกว่าฉันจะต้องหายไปคำหลักที่เหมาะสมมันรู้สึกเหมือนชัดเจน ปัญหาในการศึกษา แต่ฉันพบเอกสารประปรายบางเรื่องที่กล่าวถึงปัญหา) เพื่อให้ง่ายให้มุ่งเน้นในการบรรจุและการครอบคลุมซีรี่ส์ ในLP บรรจุเราจะได้รับไม่ใช่เชิงลบเมทริกซ์ เวกเตอร์xเป็นไปได้ถ้าx ≥ 0และx ≤ 1 เราบอกว่าxเป็นค่าสูงสุดถ้าเป็นไปได้และเราไม่สามารถเพิ่มองค์ประกอบใด ๆ ได้อย่างโลภ นั่นคือถ้าy ≥ 0และy ≠ 0ดังนั้นx + yจะไม่สามารถทำได้ และในที่สุดxคือ aAAAxxxx≥0x≥0x \ge 0Ax≤1Ax≤1Ax \le 1xxxy≥0y≥0y \ge 0y≠0y≠0y \ne 0x+yx+yx + yxxxการแก้ปัญหาสูงสุดขั้นต่ำถ้ามันลดฟังก์ชั่นวัตถุประสงค์ในบรรดาการแก้ปัญหาสูงสุดทั้งหมด∑ixi∑ixi\sum_i x_i (คุณสามารถกำหนดวิธีแก้ปัญหาที่น้อยที่สุดสูงสุดของLP ที่ครอบคลุมในลักษณะที่คล้ายคลึงกัน) พื้นที่ของโซลูชันสูงสุดขั้นต่ำมีลักษณะอย่างไร เราจะหาวิธีแก้ไขได้อย่างไร? มันยากแค่ไหนที่จะหาวิธีแก้ปัญหาเช่นนี้? …

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