Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

potential bug for problem.reset() not clearing fevals when running rhc algorithm with multiple restarts #70

Open
peterbaouoft opened this issue Oct 18, 2023 · 0 comments

Comments

@peterbaouoft
Copy link

Hey, thank you for creating this awesome package. I was using a fork hiive/mlrose and I seem to run into an issue that reset does not clear function evaluations properly when multiple restarts are specified for the rhc algorithm. And apologies if this might not be the proper place raising this, and let me know if there are other places I should raise this issue.

Issue Description:
I found problem.reset() not clearing fevals when running rhc algorithm.

Problem Setup:
I was using FlipFlop fitness function, DiscreteOpt for the problem, and rhc for the algorithm.

The way I call rhc is as follows. I was trying to have multiple runs of same parameters with different seed to reduce variance and I call reset function each time hoping to clear the states.

opt.reset()
 mlrose.random_hill_climb(opt, max_attempts=100, max_iters=3000, restarts=restart, init_state=None, curve=True, random_state=seed)

when I input restarts = 2 for example, I find the second fevals not being cleared. Attaching my fevals output as below:

The seed is  aaa (dummy just for illustartion)
[  1.   3.   4.   5.   6.   7.   8.   9.  10.  11.  12.  13.  14.  15.
  16.  17.  18.  19.  20.  21.  22.  24.  26.  27.  28.  29.  30.  31.
  32.  33.  34.  36.  37.  38.  39.  40.  41.  42.  43.  44.  45.  46.
  47.  48.  49.  50.  51.  52.  53.  54.  55.  56.  57.  58.  59.  60.
  61.  62.  63.  64.  65.  66.  67.  68.  69.  70.  71.  72.  73.  74.
  75.  76.  77.  78.  79.  80.  81.  82.  83.  84.  85.  86.  87.  88.
  89.  90.  91.  92.  93.  94.  95.  96.  97.  98.  99. 100. 101. 102.
 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116.
 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130.
 131. 132. 133. 134. 135. 136.]
The seed is  bbb
[315. 317. 319. 320. 321. 322. 324. 325. 326. 327. 328. 329. 330. 331.
 332. 333. 334. 335. 336. 337. 338. 339. 340. 342. 343. 344. 345. 346.
 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360.
 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375.
 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389.
 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403.
 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417.
 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431.
 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445.
 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459.
 460. 461. 462.]
The seed is  ccc, this got cleared 
[  1.   3.   4.   5.   6.   8.  10.  11.  13.  14.  15.  16.  17.  18.
  19.  20.  21.  23.  24.  25.  26.  27.  28.  29.  30.  31.  32.  33.
  34.  35.  36.  37.  38.  39.  40.  41.  42.  43.  44.  45.  46.  47.
  48.  49.  50.  51.  52.  53.  54.  55.  56.  57.  58.  59.  60.  61.
  62.  63.  64.  65.  66.  67.  68.  69.  70.  71.  72.  73.  74.  75.
  76.  77.  78.  79.  80.  81.  82.  83.  84.  85.  86.  87.  88.  89.
  90.  91.  92.  93.  94.  95.  96.  97.  98.  99. 100. 101. 102. 103.
 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117.
 118. 119. 120. 121. 122. 123.]
The seed is  49
[229. 230. 232. 233. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244.
 245. 246. 247. 248. 249. 250. 252. 253. 254. 255. 256. 257. 258. 259.
 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273.
 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287.
 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301.
 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315.
 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329.
 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343.
 344. 345. 346. 347. 348. 349. 350. 351. 352.]
The seed is  66
[263. 265. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278.
 279. 281. 282. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294.
 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308.
 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322.
 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336.
 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350.
 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364.
 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378.
 379. 380. 381. 382. 383. 384.]

Let me know if there is more information I could provide and once again, thank you for this awesome package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant