การบำรุงรักษาค่าของพหุนามผ่านอินพุตที่อัพเดตแบบไดนามิก


10

ให้เป็นพหุนามในฟิลด์ จำกัด แน่นอน สมมติว่าเราจะได้รับค่าของในบางเวกเตอร์และเวกเตอร์YP y { 0 , 1 } n yP(x1,x2,...,xn)PY{0,1}nY

ตอนนี้เราต้องการคำนวณค่าของบนเวกเตอร์ซึ่งและแตกต่างกันในตำแหน่งเดียว (ในคำอื่น ๆ เราพลิกหนึ่งบิตใน ) พื้นที่และเวลาแลกเปลี่ยนกันสำหรับปัญหานี้คืออะไรY '{ 0 , 1 } n Y Y ' YPY'{0,1}nYY'Y

ตัวอย่างเช่นถ้าคือจำนวน monomials ในเราสามารถจัดเก็บค่าสัมประสิทธิ์และค่านิยมของ monomials ทั้งหมดในPหากถูกพลิกเราจะแก้ไขค่าของแต่ละ monomial ที่มีแล้วตามด้วยค่าของโดยใช้ข้อมูลที่เก็บไว้ โดยรวมแล้วเราต้องการเวลาและพื้นที่P P y ฉันY ฉัน P ( y ) O ( r )RPPYผมYผมP(Y)O(R)

(ฉันไม่ได้พูดอะไรเกี่ยวกับวิธีที่เราระบุ monomials ที่มีเพื่อจุดประสงค์คุณสามารถเลือกการแสดงที่เหมาะสมของในตัวอย่างที่ฉันคิดว่าเราเก็บรายการ monomials ที่มีสำหรับแต่ละ ) P y ฉันฉันYผมPYผมผม

มีอะไรที่ดีกว่านี้อีกไหม

คำตอบ:


7

ความคิดของคุณสรุปดังต่อไปนี้: กำหนดวงจรพีชคณิต (เหนือขอบเขต จำกัด ) หรือวงจรบูลีน (คำนวณการแสดงบิตที่ชาญฉลาดขององค์ประกอบฟิลด์ จำกัด ของคุณ) คำนวณจากนั้นรักษาค่าที่แต่ละประตูในวงจร เมื่อคุณเปลี่ยนบิต -th ของเพียงแค่เผยแพร่การเปลี่ยนแปลงที่พร้อม DAG ของวงจรเริ่มต้นจากการป้อนข้อมูลy_iถ้าวงจรมีขนาดนี้จะใช้เวลาเวลาและพื้นที่ นี่อาจเล็กกว่าจำนวน monomials (ซึ่งสอดคล้องกับขนาดของวงจรพีชคณิตเชิงลึกเพียง 2)ฉันY Y ฉัน s O ( s )PผมYYผมsO(s)


1
ฉันไม่แน่ใจว่านี้เป็นความจงใจ แต่ปัญหาไม่ได้บอกว่าเรากำลังได้รับเพียง(y) yf(y)
Andrew Morgan

1
@AndrewMorgan ขึ้นอยู่กับแอปพลิเคชันของคุณสำหรับของฉันมันก็ดีที่จะถือว่า y ได้รับ ขอบคุณสำหรับความคิดเห็น!
Tatiana Starikovskaya

2
@AndrewMorgan: จริง ๆ แล้วในขณะที่นี่เป็นความจริงทางเทคนิควิธีการสร้างตัวอย่างใน OQ เป็นประโยคดูเหมือนจะโดยปริยายสมมติว่าจะได้รับ ถ้าไม่ได้รับผมคิดว่าปัญหานี้จะกลายเป็นมากหนัก (Tatiana มันอาจคุ้มค่าที่จะเพิ่มสิ่งนี้เพื่ออธิบายคำถาม)YY
Joshua Grochow

5

เป็นเรื่องง่ายที่จะแก้ไขวิธีการจัดเก็บ monomial ของคุณเพื่อให้การอัปเดตแต่ละครั้งใช้เวลาเพียงสัดส่วนกับจำนวน monomials ที่เปลี่ยนแปลง: เพียงอัปเดตมูลค่าพหุนามทั้งหมดโดยการเพิ่มค่าใหม่และลบค่าเก่าสำหรับแต่ละ monomial ที่เปลี่ยนไป

หากคุณมีสูตรอ่านครั้งเดียวสำหรับ (เช่นทุกตัวแปรปรากฏที่ลีฟเดียวของทรีสูตรและแต่ละโหนดภายในเป็นการดำเนินการทางคณิตศาสตร์สองอินพุตเช่นบวกหรือครั้ง) คุณสามารถรักษาค่าของPในลอการิทึม เวลาต่อการอัปเดตโดยใช้ทรีrake-compressเหนือสูตร การนำแนวทางนี้ไปใช้กับสูตรโดยพลการเวลาที่จะปรับปรุงตัวแปรที่ปรากฏจะเป็นโดยที่คือขนาดของสูตร ดังนั้นยกเว้น log factor สิ่งนี้ทำให้ขอบเขตของจำนวน monomials เปลี่ยนไปและนำไปใช้กับการขยายพหุนามแบบทั่วไปมากขึ้นในสูตรPPkO(kเข้าสู่ระบบยังไม่มีข้อความ)ยังไม่มีข้อความ

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