Heim >Backend-Entwicklung >PHP-Tutorial >求一数学模型,有数学学的好的帮帮忙哈

求一数学模型,有数学学的好的帮帮忙哈

WBOY
WBOYOriginal
2016-07-06 13:53:251080Durchsuche

有很多问答题,每个题有这些属性
id, content, ...,difficulty(难度), total_times(被回答次数), correct_times(正确次数)
想根据回答次数和正确次数分配 难度到每个题

另有很多用户, 每个用户有属性
id, answer_total_times(回答问题次数), answer_correct_times(回答正确次数), difficulity(对应难度级别)...
想根据用户回答总次数和正确次数算用户难度级别。

然后根据用户的难度级别选择对应难度级别的题。

目前题的难度级别用了

<code>$difficulty = ceil((1-($quiz->correct_times / $quiz->total_times))*10);</code>

用户的用了

<code>$user_difficulty = ceil(($user->answer_correct_times / $user->answer_total_times) * 10);</code>

感觉很挫, 有熟悉设计的给个提示,谢谢。

补充:
初始题的难度是1, 初始用户的难度是1, 题被做了1000次才重设难度系数, 用户做题够100才设定难度系数。
难度值是定期改变(修正)的。

回复内容:

有很多问答题,每个题有这些属性
id, content, ...,difficulty(难度), total_times(被回答次数), correct_times(正确次数)
想根据回答次数和正确次数分配 难度到每个题

另有很多用户, 每个用户有属性
id, answer_total_times(回答问题次数), answer_correct_times(回答正确次数), difficulity(对应难度级别)...
想根据用户回答总次数和正确次数算用户难度级别。

然后根据用户的难度级别选择对应难度级别的题。

目前题的难度级别用了

<code>$difficulty = ceil((1-($quiz->correct_times / $quiz->total_times))*10);</code>

用户的用了

<code>$user_difficulty = ceil(($user->answer_correct_times / $user->answer_total_times) * 10);</code>

感觉很挫, 有熟悉设计的给个提示,谢谢。

补充:
初始题的难度是1, 初始用户的难度是1, 题被做了1000次才重设难度系数, 用户做题够100才设定难度系数。
难度值是定期改变(修正)的。

规则有问题,做设计的人没睡醒。最浅显的问题就是如果一道题做了1000次,没有一个人作对,难度级别是多少,1000个人都做对了,难度级别又是多少?

事实上多少人作对只能从侧面反映难度,实际的难度应该是出题的人指定的,你出的题你还不知道啥难度说明出题的人不专业。

你们预演过这个规则吗?我是用户我想拿到高分,所以只做高难度的题。做了之后可能会分享,这样别人也知道答案了,那么作弊得高分就更喜欢了,结果导致原本的高难度题重新评定的时候变成低难度了,结果我也因此受到影响分数变低。结果系统中不会有难题,用户自然不可能拿高难度了。这个结果明显不符合你们的预期,还考虑算法有什么用。

结语:不要脱离现实独立思考业务逻辑。因为业务逻辑是人在用,既然它对人产生了影响,那么人必然想办法避免影响,或者尽可能使影响趋向有益,如果所有参与者都无收益或都相同收益,没有竞争机制拿什么吸引人?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn