โดยทั่วไปแล้ว เมื่อเราจำลองการโจมตี เราต้องพิจารณามากกว่าหนึ่งระยะ
ปัญหา : ในทางทฤษฎีวิทยาการคอมพิวเตอร์ เราใช้เครื่องจักรทัวริง $\คณิตศาสตร์แคล{A}$ (ในที่สุดด้วย oracles) ซึ่งเป็น "เฟสเดียว" (ใช้สตริงเป็นอินพุตและเอาต์พุตอีกสตริงหนึ่ง)
เมื่อพิจารณาถึงสิ่งนี้ ผู้คนเลือกที่จะใช้เครื่องจักรทัวริงมากกว่าหนึ่งเครื่อง เป็นต้น $\คณิตศาสตร์แคล{A}_1$, $\คณิตศาสตร์แคล{A}_2$.
ดังนั้น $\คณิตศาสตร์แคล{A}_1$ จะเป็นตัวแทนของศัตรูในช่วงแรกและ $\คณิตศาสตร์แคล{A}_2$ ในช่วงที่สอง
แต่มันอาจเกิดขึ้นได้ $\คณิตศาสตร์แคล{A}_2$ ต้องใช้ข้อมูลที่คำนวณในช่วงแรก
นั่นเป็นเหตุผลที่เราใช้สตริง $\คณิตศาสตร์แคล{A}_1$ ถือเป็นพหุนาม-ไทม์ทัวริงแมชชีน) ซึ่งส่งออกโดย $\คณิตศาสตร์แคล{A}_1$, และใช้เป็นอินพุตโดย $\คณิตศาสตร์แคล{A}_2$. สตริงนี้เรียกว่าสถานะ
เกี่ยวกับเหรียญภายในเป็นเพียงเพราะ $\คณิตศาสตร์แคล{A}$เป็น ความน่าจะเป็น เครื่องจักรทัวริงจึงใช้เหรียญสุ่ม (หมายถึงภายใน: ไม่ขึ้นอยู่กับอินพุต)
ป.ล. : บางครั้งผู้คนต้องการหลีกเลี่ยงการใช้เครื่องจักรทัวริงมากกว่าหนึ่งเครื่อง ลองพิจารณาดู สถานะ ทัวริงแมชชีน (ตรงข้ามกับแบบดั้งเดิม ไร้สัญชาติ เครื่องจักรทัวริง).
pps : ในบริบทนี้ สถานะไร้สัญชาติไม่ได้หมายความว่ามีเพียงสถานะเดียวใน Turing Machine แต่หมายความว่าการดำเนินการแต่ละครั้งจะไม่ขึ้นกับสถานะก่อนหน้า ดังนั้นจึงขึ้นอยู่กับอินพุตและเหรียญสุ่มเท่านั้น
https://www.thegeeksclan.com/stateful-and-stateless-programs/