Score:3

อะไรคือฟังก์ชั่นฮาร์ดหน่วยความจำในอุดมคติ?

ธง in

นี้ พูดว่า $f_n$ เป็นหน่วยความจำที่ยากถ้าสำหรับพื้นที่ใด ๆ $S$ และเวลา $T$, $S\cdot T \in \โอเมก้า(n^2)$.

คำถามของฉัน:

  • คืออะไร $S$? ช่องว่าง? เช่น. ไบต์ของหน่วยความจำที่มีอยู่?
  • คืออะไร $n$? ไบต์ของหน่วยความจำที่ร้องขอโดยหน่วยความจำฮาร์ดฟังก์ชัน?
  • คืออะไร $T$? จำนวนรอบ?
  • นิยามนี้ดีอย่างไร? เช่น. มันแน่นแค่ไหน? เช่น. $\โอเมก้า(n^2)$ เป็นขอบเขตต่ำสุดแบบซีมโทติค แต่ฉันเดาว่าไม่ใช่ทุกฟังก์ชันที่เป็น $\in \โอเมก้า(n^2)$ มีความเท่าเทียมกัน เช่น. บางทีมันอาจจะดีกว่า? ดังนั้นฉันเดาว่าคำจำกัดความนี้ไม่แน่นพอที่จะแสดงให้เราเห็นว่า KDF แบบฮาร์ดหน่วยความจำใดดีกว่า
  • คำจำกัดความความแข็งของหน่วยความจำที่ดีกว่านี้คืออะไร? เช่น. แน่นกว่าเรียบๆ $\in \โอเมก้า(n^2)$?
Score:5
ธง us

หลายสิ่งเหล่านี้กล่าวถึงในบทความในการตั้งค่านี้ "ฝ่ายตรงข้าม" คืออัลกอริทึมบางอย่างที่สามารถประเมินได้ $f_n$ ใช้ทรัพยากรน้อยกว่าที่เราคาดไว้

  • $S$ = พื้นที่ / ความซับซ้อนของหน่วยความจำของฝ่ายตรงข้าม ในสายงานนี้ $f_n$ เป็นฟังก์ชั่นที่ทำการเรียกไปยังออราเคิลแบบสุ่ม $H : \{0,1\}^k \ถึง \{0,1\}^k$, และ $S$ คือการใช้พื้นที่ (กรณีที่แย่ที่สุด) ของฝ่ายตรงข้าม โดยวัดเป็น $k$-บิต "บล็อก"

  • $T$ = ความซับซ้อนของเวลาของฝ่ายตรงข้าม โดยปกติจะวัดจากจำนวนการโทรเข้า $H$. ในบางรุ่น ฝ่ายตรงข้ามสามารถโทรแบบคู่ขนานได้ $H$ ฟรีดังนั้น $T$ คือจำนวน "รอบต่อเนื่อง" ของการโทรถึง $H$.

  • $n$ = พารามิเตอร์ความแข็งที่ปรับได้ของฟังก์ชัน memory-hard ขนาดใหญ่ขึ้น $n$ เพิ่มความพยายามที่จำเป็นในการประเมินฟังก์ชัน $f_n$ (และตามหลักการแล้วความพยายามจะขยายเป็นกำลังสอง $n$). ฝ่ายที่ซื่อสัตย์ควรเลือกที่ใหญ่ที่สุด $n$ เพื่อให้พวกเขาเต็มใจที่จะใช้ความพยายามในการประเมิน $f_n$.

นิยามนี้ดีอย่างไร? ... ดังนั้นฉันเดาว่าคำจำกัดความนี้ไม่แน่นพอที่จะแสดงให้เราเห็นว่า KDF แบบฮาร์ดหน่วยความจำใดดีกว่า

มันเป็นเรื่องจริง $n^2/1000$ แตกต่างกันมากจาก $1000n^2$แต่คำจำกัดความนี้จะพอใจกับฟังก์ชันหน่วยความจำที่มีระดับความยากระดับใดระดับหนึ่งเหล่านี้ ในช่วงเวลาของบทความนี้ ฟังก์ชันเมมโมรี่ฮาร์ดของผู้สมัครส่วนใหญ่คือ โดยไม่แสดงอาการ แย่กว่านั้นมาก $\เธต้า(n^2)$. ดังนั้นคำจำกัดความนี้จึงค่อนข้างมีประสิทธิภาพในการแยกแยะผู้สมัครที่ไม่ดีออกไป เมื่อคุณมีผู้สมัครจำนวนมากที่ตรงใจสิ่งนี้ ไม่มีอาการ คำจำกัดความ จากนั้นคุณสามารถเริ่มกังวลเกี่ยวกับปัจจัยคงที่

คำจำกัดความความแข็งของหน่วยความจำที่ดีกว่านี้คืออะไร?

ใช่ คำจำกัดความนี้พิจารณาเฉพาะ แย่ที่สุด การใช้พื้นที่กรณี $S$. สมมติ $f_n$ เป็นฟังก์ชั่นที่ต้องใช้จริงๆ $n$ หน่วยของหน่วยความจำที่จะประเมิน -- ไม่มีทางที่จะประเมิน $f_n$ โดยไม่ต้องถือ $n$ หน่วยของหน่วยความจำ ในบางจุด. สิ่งนี้ไม่ได้ตัดความเป็นไปได้ที่ $n$ หน่วยหน่วยความจำจำเป็นสำหรับช่วงเวลาสั้นๆ เท่านั้น กล่าวอีกนัยหนึ่ง อาจมีอัลกอริทึมสำหรับ $f_n$ พล็อตของการใช้หน่วยความจำเมื่อเวลาผ่านไปมีลักษณะดังนี้:

ป้อนคำอธิบายรูปภาพที่นี่

(ภาพจาก สไลด์ของ Leo Reyzin บน scrypt)

หากมีอัลกอริทึมนี้ ขีดสุด การใช้พื้นที่ $n$ และยังใช้ $n$ เวลา ความซับซ้อน ST ของมันคือ $\โอเมก้า(n^2)$. ST-complexity เหมือนกับพื้นที่ของสี่เหลี่ยมขอบสีน้ำเงินในภาพนี้

แต่การวัดความแข็งของหน่วยความจำนี้ทำให้ปัญหาบางอย่างไม่ชัดเจน สมมติว่าฝ่ายตรงข้ามต้องการประเมิน $f_n$ ในอินพุตที่แตกต่างกันมากมาย และจัดตารางเวลาการประเมินเหล่านี้อย่างชาญฉลาดดังนี้:

ป้อนคำอธิบายรูปภาพที่นี่

กลยุทธ์นี้สามารถใช้เพื่อประเมินตัวอย่าง $f_n$ บน $n$ อินพุตที่แตกต่างกันโดยใช้เท่านั้น $O(n)$ เวลาและ $O(n)$ หน่วยความจำทั้งหมด! ดังนั้น "ต้นทุน ST" ทั้งหมดเพื่อประเมินฟังก์ชัน $n$ ครั้งคือ $O(n^2)$มีความหมายว่า ตัดจำหน่าย ราคาต่ออินสแตนซ์เท่านั้น $O(n)$.

วิธีที่ดีกว่าในการจำแนกความแข็งของหน่วยความจำของฟังก์ชันคือการวัดค่า พื้นที่ใต้เส้นโค้ง มากกว่าพื้นที่ของกรอบ นี่คือสิ่งที่เสนอใน ผลงานที่ตามมาซึ่งเมทริกซ์ความแข็งของหน่วยความจำเรียกว่า "ความซับซ้อนของหน่วยความจำสะสม"

kodlu avatar
sa flag
คำตอบที่ดี ฉันเรียนรู้จากมันไม่น้อย
kelalaka avatar
in flag
ใช่ ผู้คนลืมค่าตัดจำหน่ายหลายครั้ง และนี่คือสาเหตุที่ฟังก์ชันหน่วยความจำฮาร์ดต้องการการเข้าถึงแบบสุ่มตลอดเวลา

โพสต์คำตอบ

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